~tsileo/blobstash

b178995e346dbcc3d9eb4cc5d388bbe7bcb53d63 — Thomas Sileo 3 months ago b3026eb master
vendor: update deps
253 files changed, 110428 insertions(+), 1922 deletions(-)

M go.mod
M go.sum
M vendor/github.com/aws/aws-sdk-go/aws/config.go
M vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go
M vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go
M vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
M vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
M vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
M vendor/github.com/aws/aws-sdk-go/aws/types.go
M vendor/github.com/aws/aws-sdk-go/aws/version.go
A vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go
M vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go
M vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go
M vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go
M vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go
M vendor/github.com/aws/aws-sdk-go/service/s3/api.go
M vendor/github.com/aws/aws-sdk-go/service/s3/body_hash.go
M vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
M vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/bucket_region.go
M vendor/github.com/aws/aws-sdk-go/service/s3/s3manager/upload_input.go
M vendor/github.com/aws/aws-sdk-go/service/sts/api.go
M vendor/github.com/golang/protobuf/proto/deprecated.go
M vendor/github.com/klauspost/cpuid/.travis.yml
M vendor/github.com/klauspost/cpuid/README.md
M vendor/github.com/klauspost/cpuid/cpuid.go
M vendor/github.com/klauspost/cpuid/cpuid_386.s
M vendor/github.com/klauspost/cpuid/cpuid_amd64.s
A vendor/github.com/klauspost/cpuid/cpuid_arm64.s
A vendor/github.com/klauspost/cpuid/detect_arm64.go
M vendor/github.com/klauspost/cpuid/detect_intel.go
M vendor/github.com/klauspost/cpuid/detect_ref.go
D vendor/github.com/klauspost/cpuid/generate.go
A vendor/github.com/klauspost/cpuid/go.mod
M vendor/github.com/klauspost/reedsolomon/.travis.yml
M vendor/github.com/klauspost/reedsolomon/README.md
M vendor/github.com/klauspost/reedsolomon/galois.go
M vendor/github.com/klauspost/reedsolomon/galoisAvx512_amd64.go
M vendor/github.com/klauspost/reedsolomon/galoisAvx512_amd64.s
M vendor/github.com/klauspost/reedsolomon/galois_arm64.go
M vendor/github.com/klauspost/reedsolomon/galois_arm64.s
A vendor/github.com/klauspost/reedsolomon/galois_gen_amd64.go
A vendor/github.com/klauspost/reedsolomon/galois_gen_amd64.s
A vendor/github.com/klauspost/reedsolomon/galois_gen_none.go
A vendor/github.com/klauspost/reedsolomon/galois_gen_switch_amd64.go
M vendor/github.com/klauspost/reedsolomon/galois_notamd64.go
A vendor/github.com/klauspost/reedsolomon/gen.go
M vendor/github.com/klauspost/reedsolomon/go.mod
M vendor/github.com/klauspost/reedsolomon/go.sum
M vendor/github.com/klauspost/reedsolomon/options.go
M vendor/github.com/klauspost/reedsolomon/reedsolomon.go
M vendor/github.com/mattn/go-colorable/colorable_windows.go
A vendor/github.com/mmcloughlin/avo/LICENSE
A vendor/github.com/mmcloughlin/avo/attr/attr.go
A vendor/github.com/mmcloughlin/avo/build/attr.go
A vendor/github.com/mmcloughlin/avo/build/cli.go
A vendor/github.com/mmcloughlin/avo/build/context.go
A vendor/github.com/mmcloughlin/avo/build/doc.go
A vendor/github.com/mmcloughlin/avo/build/error.go
A vendor/github.com/mmcloughlin/avo/build/global.go
A vendor/github.com/mmcloughlin/avo/build/pseudo.go
A vendor/github.com/mmcloughlin/avo/build/zinstructions.go
A vendor/github.com/mmcloughlin/avo/build/zmov.go
A vendor/github.com/mmcloughlin/avo/buildtags/buildtags.go
A vendor/github.com/mmcloughlin/avo/gotypes/components.go
A vendor/github.com/mmcloughlin/avo/gotypes/doc.go
A vendor/github.com/mmcloughlin/avo/gotypes/signature.go
A vendor/github.com/mmcloughlin/avo/internal/prnt/printer.go
A vendor/github.com/mmcloughlin/avo/internal/stack/stack.go
A vendor/github.com/mmcloughlin/avo/ir/doc.go
A vendor/github.com/mmcloughlin/avo/ir/ir.go
A vendor/github.com/mmcloughlin/avo/operand/checks.go
A vendor/github.com/mmcloughlin/avo/operand/const.go
A vendor/github.com/mmcloughlin/avo/operand/doc.go
A vendor/github.com/mmcloughlin/avo/operand/types.go
A vendor/github.com/mmcloughlin/avo/operand/zconst.go
A vendor/github.com/mmcloughlin/avo/pass/alloc.go
A vendor/github.com/mmcloughlin/avo/pass/cfg.go
A vendor/github.com/mmcloughlin/avo/pass/cleanup.go
A vendor/github.com/mmcloughlin/avo/pass/isa.go
A vendor/github.com/mmcloughlin/avo/pass/pass.go
A vendor/github.com/mmcloughlin/avo/pass/reg.go
A vendor/github.com/mmcloughlin/avo/pass/textflag.go
A vendor/github.com/mmcloughlin/avo/pass/verify.go
A vendor/github.com/mmcloughlin/avo/printer/goasm.go
A vendor/github.com/mmcloughlin/avo/printer/printer.go
A vendor/github.com/mmcloughlin/avo/printer/stubs.go
A vendor/github.com/mmcloughlin/avo/reg/collection.go
A vendor/github.com/mmcloughlin/avo/reg/doc.go
A vendor/github.com/mmcloughlin/avo/reg/set.go
A vendor/github.com/mmcloughlin/avo/reg/types.go
A vendor/github.com/mmcloughlin/avo/reg/x86.go
A vendor/github.com/mmcloughlin/avo/src/src.go
A vendor/github.com/mmcloughlin/avo/x86/doc.go
A vendor/github.com/mmcloughlin/avo/x86/gen.go
A vendor/github.com/mmcloughlin/avo/x86/zctors.go
M vendor/github.com/unrolled/secure/README.md
M vendor/github.com/unrolled/secure/go.mod
M vendor/github.com/unrolled/secure/go.sum
M vendor/github.com/unrolled/secure/secure.go
M vendor/github.com/yuin/goldmark/README.md
M vendor/github.com/yuin/goldmark/extension/typographer.go
M vendor/github.com/yuin/goldmark/parser/atx_heading.go
M vendor/github.com/yuin/goldmark/parser/delimiter.go
M vendor/github.com/yuin/goldmark/parser/html_block.go
M vendor/github.com/yuin/goldmark/util/util.go
M vendor/github.com/yuin/goldmark/util/util_unsafe.go
M vendor/github.com/yuin/gopher-lua/README.rst
M vendor/github.com/yuin/gopher-lua/auxlib.go
M vendor/github.com/yuin/gopher-lua/utils.go
M vendor/golang.org/x/crypto/ssh/client_auth.go
M vendor/golang.org/x/crypto/ssh/mux.go
A vendor/golang.org/x/mod/LICENSE
A vendor/golang.org/x/mod/PATENTS
A vendor/golang.org/x/mod/semver/semver.go
M vendor/golang.org/x/sys/cpu/byteorder.go
R vendor/golang.org/x/sys/cpu/{cpu_aix_ppc64.go => cpu_aix.go}
M vendor/golang.org/x/sys/cpu/cpu_arm64.go
A vendor/golang.org/x/sys/cpu/syscall_aix_gccgo.go
M vendor/golang.org/x/sys/unix/mkerrors.sh
M vendor/golang.org/x/sys/unix/syscall_linux.go
M vendor/golang.org/x/sys/unix/zerrors_linux.go
M vendor/golang.org/x/sys/unix/zerrors_linux_386.go
M vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
M vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
M vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
M vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
M vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
M vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
M vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
M vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
M vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
M vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
M vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
M vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
M vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go
M vendor/golang.org/x/sys/unix/ztypes_linux.go
M vendor/golang.org/x/sys/windows/env_windows.go
M vendor/golang.org/x/sys/windows/memory_windows.go
M vendor/golang.org/x/sys/windows/security_windows.go
M vendor/golang.org/x/sys/windows/syscall_windows.go
M vendor/golang.org/x/sys/windows/zsyscall_windows.go
M vendor/golang.org/x/text/transform/transform.go
M vendor/golang.org/x/text/unicode/bidi/core.go
M vendor/golang.org/x/text/unicode/bidi/tables11.0.0.go
A vendor/golang.org/x/text/unicode/bidi/tables12.0.0.go
M vendor/golang.org/x/text/unicode/norm/tables11.0.0.go
A vendor/golang.org/x/text/unicode/norm/tables12.0.0.go
A vendor/golang.org/x/tools/AUTHORS
A vendor/golang.org/x/tools/CONTRIBUTORS
A vendor/golang.org/x/tools/LICENSE
A vendor/golang.org/x/tools/PATENTS
A vendor/golang.org/x/tools/go/gcexportdata/gcexportdata.go
A vendor/golang.org/x/tools/go/gcexportdata/importer.go
A vendor/golang.org/x/tools/go/internal/gcimporter/bexport.go
A vendor/golang.org/x/tools/go/internal/gcimporter/bimport.go
A vendor/golang.org/x/tools/go/internal/gcimporter/exportdata.go
A vendor/golang.org/x/tools/go/internal/gcimporter/gcimporter.go
A vendor/golang.org/x/tools/go/internal/gcimporter/iexport.go
A vendor/golang.org/x/tools/go/internal/gcimporter/iimport.go
A vendor/golang.org/x/tools/go/internal/gcimporter/newInterface10.go
A vendor/golang.org/x/tools/go/internal/gcimporter/newInterface11.go
A vendor/golang.org/x/tools/go/internal/packagesdriver/sizes.go
A vendor/golang.org/x/tools/go/packages/doc.go
A vendor/golang.org/x/tools/go/packages/external.go
A vendor/golang.org/x/tools/go/packages/golist.go
A vendor/golang.org/x/tools/go/packages/golist_overlay.go
A vendor/golang.org/x/tools/go/packages/loadmode_string.go
A vendor/golang.org/x/tools/go/packages/packages.go
A vendor/golang.org/x/tools/go/packages/visit.go
A vendor/golang.org/x/tools/internal/event/core/event.go
A vendor/golang.org/x/tools/internal/event/core/export.go
A vendor/golang.org/x/tools/internal/event/core/fast.go
R vendor/google.golang.org/protobuf/internal/{fieldnum/doc.go => c.go}
A vendor/golang.org/x/tools/internal/event/event.go
A vendor/golang.org/x/tools/internal/event/keys/keys.go
A vendor/golang.org/x/tools/internal/event/keys/standard.go
A vendor/golang.org/x/tools/internal/event/label/label.go
A vendor/golang.org/x/tools/internal/gocommand/invoke.go
A vendor/golang.org/x/tools/internal/gocommand/vendor.go
A vendor/golang.org/x/tools/internal/packagesinternal/packages.go
A vendor/golang.org/x/tools/internal/typesinternal/types.go
A vendor/golang.org/x/xerrors/LICENSE
A vendor/golang.org/x/xerrors/PATENTS
A vendor/golang.org/x/xerrors/README
A vendor/golang.org/x/xerrors/adaptor.go
A vendor/golang.org/x/xerrors/codereview.cfg
A vendor/golang.org/x/xerrors/doc.go
A vendor/golang.org/x/xerrors/errors.go
A vendor/golang.org/x/xerrors/fmt.go
A vendor/golang.org/x/xerrors/format.go
A vendor/golang.org/x/xerrors/frame.go
A vendor/golang.org/x/xerrors/go.mod
A vendor/golang.org/x/xerrors/internal/internal.go
A vendor/golang.org/x/xerrors/wrap.go
M vendor/google.golang.org/protobuf/encoding/prototext/decode.go
M vendor/google.golang.org/protobuf/encoding/prototext/encode.go
D vendor/google.golang.org/protobuf/internal/fieldnum/any_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/api_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/descriptor_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/duration_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/empty_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/struct_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/timestamp_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/type_gen.go
D vendor/google.golang.org/protobuf/internal/fieldnum/wrappers_gen.go
M vendor/google.golang.org/protobuf/internal/filedesc/build.go
M vendor/google.golang.org/protobuf/internal/filedesc/desc.go
M vendor/google.golang.org/protobuf/internal/filedesc/desc_init.go
M vendor/google.golang.org/protobuf/internal/filedesc/desc_lazy.go
M vendor/google.golang.org/protobuf/internal/filedesc/desc_list.go
A vendor/google.golang.org/protobuf/internal/genid/any_gen.go
A vendor/google.golang.org/protobuf/internal/genid/api_gen.go
A vendor/google.golang.org/protobuf/internal/genid/descriptor_gen.go
A vendor/google.golang.org/protobuf/internal/genid/doc.go
A vendor/google.golang.org/protobuf/internal/genid/duration_gen.go
R vendor/google.golang.org/protobuf/internal/fieldnum/{field_mask_gen.go => ty_gen.go}
A vendor/google.golang.org/protobuf/internal/genid/field_mask_gen.go
A vendor/google.golang.org/protobuf/internal/genid/goname.go
A vendor/google.golang.org/protobuf/internal/genid/map_entry.go
A vendor/google.golang.org/protobuf/internal/genid/source_context_gen.go
A vendor/google.golang.org/protobuf/internal/genid/struct_gen.go
A vendor/google.golang.org/protobuf/internal/genid/timestamp_gen.go
A vendor/google.golang.org/protobuf/internal/genid/type_gen.go
R vendor/google.golang.org/protobuf/internal/fieldnum/{source_context_gen.go => ppers.go}
A vendor/google.golang.org/protobuf/internal/genid/wrappers_gen.go
D vendor/google.golang.org/protobuf/internal/genname/name.go
M vendor/google.golang.org/protobuf/internal/impl/api_export.go
M vendor/google.golang.org/protobuf/internal/impl/codec_map.go
M vendor/google.golang.org/protobuf/internal/impl/codec_message.go
M vendor/google.golang.org/protobuf/internal/impl/message.go
M vendor/google.golang.org/protobuf/internal/impl/message_reflect.go
M vendor/google.golang.org/protobuf/internal/impl/message_reflect_field.go
M vendor/google.golang.org/protobuf/internal/impl/message_reflect_gen.go
M vendor/google.golang.org/protobuf/internal/impl/pointer_unsafe.go
M vendor/google.golang.org/protobuf/internal/impl/validate.go
M vendor/google.golang.org/protobuf/internal/version/version.go
M vendor/google.golang.org/protobuf/proto/decode.go
M vendor/google.golang.org/protobuf/proto/encode.go
M vendor/google.golang.org/protobuf/proto/merge.go
M vendor/google.golang.org/protobuf/proto/messageset.go
M vendor/google.golang.org/protobuf/proto/reset.go
M vendor/google.golang.org/protobuf/proto/size.go
M vendor/google.golang.org/protobuf/proto/size_gen.go
M vendor/google.golang.org/protobuf/reflect/protoreflect/proto.go
M vendor/google.golang.org/protobuf/reflect/protoreflect/value_union.go
M vendor/google.golang.org/protobuf/reflect/protoregistry/registry.go
M vendor/modules.txt
D vendor/willnorris.com/go/microformats/.travis.yml
M vendor/willnorris.com/go/microformats/README.md
M vendor/willnorris.com/go/microformats/backcompat.go
A vendor/willnorris.com/go/microformats/go.mod
A vendor/willnorris.com/go/microformats/go.sum
M vendor/willnorris.com/go/microformats/microformats.go
M go.mod => go.mod +16 -10
@@ 7,14 7,14 @@ require (
	a4.io/go/indieauth v1.0.3
	a4.io/ssse v0.0.0-20181202155639-1949828a8689
	github.com/alecthomas/chroma v0.7.3 // indirect
	github.com/aws/aws-sdk-go v1.30.27
	github.com/aws/aws-sdk-go v1.33.7
	github.com/blevesearch/segment v0.9.0
	github.com/carbocation/interpose v0.0.0-20161206215253-723534742ba3
	github.com/dave/jennifer v1.4.0
	github.com/dustin/go-humanize v1.0.0
	github.com/e3b0c442/warp v0.6.1
	github.com/evanphx/json-patch v4.5.0+incompatible
	github.com/golang/protobuf v1.4.1 // indirect
	github.com/golang/protobuf v1.4.2 // indirect
	github.com/golang/snappy v0.0.1
	github.com/gorilla/context v1.1.1
	github.com/gorilla/handlers v1.4.2


@@ 22,8 22,11 @@ require (
	github.com/gorilla/sessions v1.2.0
	github.com/hashicorp/golang-lru v0.5.4
	github.com/inconshreveable/log15 v0.0.0-20200109203555-b30bc20e4fd1
	github.com/klauspost/reedsolomon v1.9.7 // indirect
	github.com/klauspost/cpuid v1.3.1 // indirect
	github.com/klauspost/reedsolomon v1.9.9 // indirect
	github.com/konsorten/go-windows-terminal-sequences v1.0.3 // indirect
	github.com/mattn/go-colorable v0.1.7 // indirect
	github.com/mmcloughlin/avo v0.0.0-20200523190732-4439b6b2c061 // indirect
	github.com/mvdan/xurls v1.1.0 // indirect
	github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646
	github.com/reiver/go-porterstemmer v1.0.1


@@ 32,19 35,22 @@ require (
	github.com/rwcarlsen/goexif v0.0.0-20190401172101-9e8deecbddbd
	github.com/sirupsen/logrus v1.6.0 // indirect
	github.com/syndtr/goleveldb v1.0.1-0.20190923125748-758128399b1d
	github.com/unrolled/secure v1.0.7
	github.com/unrolled/secure v1.0.8
	github.com/vmihailenco/msgpack v4.0.4+incompatible
	github.com/yuin/goldmark v1.1.30
	github.com/yuin/gopher-lua v0.0.0-20191220021717-ab39c6098bdb
	github.com/yuin/goldmark v1.1.33
	github.com/yuin/gopher-lua v0.0.0-20200603152657-dc2b0ca8b37e
	github.com/zpatrick/rbac v0.0.0-20180829190353-d2c4f050cf28
	golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37
	golang.org/x/net v0.0.0-20200513185701-a91f0712d120 // indirect
	golang.org/x/sys v0.0.0-20200513112337-417ce2331b5c // indirect
	golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899
	golang.org/x/net v0.0.0-20200707034311-ab3426394381 // indirect
	golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae // indirect
	golang.org/x/text v0.3.3 // indirect
	golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6 // indirect
	google.golang.org/appengine v1.6.6 // indirect
	google.golang.org/protobuf v1.25.0 // indirect
	gopkg.in/inconshreveable/log15.v2 v2.0.0-20200109203555-b30bc20e4fd1
	gopkg.in/src-d/go-git.v4 v4.13.1
	gopkg.in/yaml.v2 v2.3.0
	willnorris.com/go/microformats v1.0.0
	willnorris.com/go/microformats v1.1.0
)

go 1.14

M go.sum => go.sum +102 -0
@@ 46,8 46,11 @@ bazil.org/fuse v0.0.0-20180421153158-65cc252bf669 h1:FNCRpXiquG1aoyqcIWVFmpTSKVc
bazil.org/fuse v0.0.0-20180421153158-65cc252bf669/go.mod h1:Xbm+BRKSBEpa4q4hTSxohYNQpsxXPbPry4JJWOB3LB8=
bazil.org/fuse v0.0.0-20200117225306-7b5117fecadc h1:utDghgcjE8u+EBjHOgYT+dJPcnDF05KqWMBcjuJy510=
bazil.org/fuse v0.0.0-20200117225306-7b5117fecadc/go.mod h1:FbcW6z/2VytnFDhZfumh8Ss8zxHE6qpMP5sHTRe0EaM=
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/GeertJohan/go.incremental v1.0.0/go.mod h1:6fAjUhbVuX1KcMD3c8TEgVUqmo4seqhv0i0kdATSkM0=
github.com/GeertJohan/go.rice v1.0.0/go.mod h1:eH6gbSOAUv07dQuZVnBmoDP8mgsM1rtixis4Tib9if0=
github.com/PuerkitoBio/goquery v1.5.0/go.mod h1:qD2PgZ9lccMbQlc7eEOjaeRlFQON7xY8kdmcsrnKqMg=
github.com/akavel/rsrc v0.8.0/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c=
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7 h1:uSoVVbwJiQipAclBbw+8quDsfcvFjOpI5iCf4p/cqCs=
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=


@@ 70,6 73,7 @@ github.com/alecthomas/kong v0.2.4/go.mod h1:kQOmtJgV+Lb4aj+I2LEn40cbtawdWJ9Y8QLq
github.com/alecthomas/kong-hcl v0.1.8-0.20190615233001-b21fea9723c8/go.mod h1:MRgZdU3vrFd05IQ89AxUZ0aYdF39BYoNFa324SodPCA=
github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897 h1:p9Sln00KOTlrYkxI1zYWl1QLnEqAqEARBEYa8FQnQcY=
github.com/alecthomas/repr v0.0.0-20180818092828-117648cd9897/go.mod h1:xTS7Pm1pD1mvyM075QCDSRqH6qRLXylzS24ZTpRiSzQ=
github.com/andybalholm/cascadia v1.0.0/go.mod h1:GsXiBklL0woXo1j/WYWtSYYC4ouU9PqHO0sqidkEA4Y=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239 h1:kFOfPq6dUM1hTo4JG6LR5AXSUEsOjtdm0kw0FtQtMJA=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio=


@@ 100,6 104,10 @@ github.com/aws/aws-sdk-go v1.30.24 h1:y3JPD51VuEmVqN3BEDVm4amGpDma2cKJcDPuAU1OR5
github.com/aws/aws-sdk-go v1.30.24/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go v1.30.27 h1:9gPjZWVDSoQrBO2AvqrWObS6KAZByfEJxQoCYo4ZfK0=
github.com/aws/aws-sdk-go v1.30.27/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go v1.31.2 h1:REYLkyG1EGES8SJS0QsUwvWix9oQwUbJ8HLgMxUHpKo=
github.com/aws/aws-sdk-go v1.31.2/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/aws/aws-sdk-go v1.33.7 h1:vOozL5hmWHHriRviVTQnUwz8l05RS0rehmEFymI+/x8=
github.com/aws/aws-sdk-go v1.33.7/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0=
github.com/blevesearch/segment v0.0.0-20160915185041-762005e7a34f h1:kqbi9lqXLLs+zfWlgo1PIiRQ86n33K1JKotjj4rSYOg=
github.com/blevesearch/segment v0.0.0-20160915185041-762005e7a34f/go.mod h1:IInt5XRvpiGE09KOk9mmCMLjHhydIhNPKPPFLFBB7L8=
github.com/blevesearch/segment v0.9.0 h1:5lG7yBCx98or7gK2cHMKPukPZ/31Kag7nONpoBt22Ac=


@@ 108,11 116,13 @@ github.com/carbocation/handlers v0.0.0-20140528190747-c939c6d9ef31 h1:SDMgCFII5d
github.com/carbocation/handlers v0.0.0-20140528190747-c939c6d9ef31/go.mod h1:iGISoFvZYz358DFlmHvYFlh4CgRdzPLXB2NJE48x6lY=
github.com/carbocation/interpose v0.0.0-20161206215253-723534742ba3 h1:RtCys6GUprNaPOP04Zuo65wS10PMbSPPZNvIb9xYYLE=
github.com/carbocation/interpose v0.0.0-20161206215253-723534742ba3/go.mod h1:4PGcghc3ZjA/uozANO8lCHo/gnHyMsm8iFYppSkVE/M=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/trie v0.0.0-20150610204604-3fe1a95cbba9 h1:dumfMK24rLnvfJrI7VK9nUw+HntxzWpxf/6kST6tL2o=
github.com/cespare/trie v0.0.0-20150610204604-3fe1a95cbba9/go.mod h1:MCsKum/O9rTzo1Z6ubBQJKJIm76t+3/4A/cD79RMN1Q=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0 h1:sDMmm+q/3+BukdIpxwO365v/Rbspp2Nt5XntgQRXq8Q=
github.com/codegangsta/inject v0.0.0-20150114235600-33e0aa1cb7c0/go.mod h1:4Zcjuz89kmFXt9morQgcfYZAYZ5n8WHjt81YYWIwtTM=
github.com/codegangsta/negroni v1.0.0 h1:+aYywywx4bnKXWvoWtRfJ91vC59NbEhEY03sZjQhbVY=


@@ 159,6 169,8 @@ github.com/emirpasic/gods v1.9.0 h1:rUF4PuzEjMChMiNsVjdI+SyLu7rEqpQ5reNFnhC7oFo=
github.com/emirpasic/gods v1.9.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
github.com/emirpasic/gods v1.12.0 h1:QAUIPSaCu4G+POclxeqb3F+WPpdKqFGlw36+yOzGlrg=
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/evanphx/json-patch v4.1.0+incompatible h1:K1MDoo4AZ4wU0GIU/fPmtZg7VpzLjCxu+UwBD1FvwOc=
github.com/evanphx/json-patch v4.1.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk=
github.com/evanphx/json-patch v4.5.0+incompatible h1:ouOWdg56aJriqS0huScTkVXPC5IcNrDCXZ6OoTAWu7M=


@@ 178,6 190,8 @@ github.com/go-martini/martini v0.0.0-20170121215854-22fa46961aab/go.mod h1:/P9AE
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1 h1:YF8+flBXS5eO826T4nzqPrxfhQThhXl0YzfuUPu4SBg=


@@ 196,6 210,8 @@ github.com/golang/protobuf v1.4.0 h1:oOuy+ugB+P/kBdUnG5QaMXSIyJ1q38wWSojYCb3z5VQ
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1 h1:ZFgWrT+bLgsYPirOnRfKLYJLvssAegOj/hgyMFdJZe0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2 h1:+Z5KGCizgyZCbGh1KZqA0fcLLkwbsjIzS4aV2v7wJX0=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db h1:woRePGFeVFfLKN/pOkfl+p/TAqKOfFu+7KPlMVpok/w=
github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/golang/snappy v0.0.1 h1:Qgr9rKW7uDUkrbSmQeiDsGa8SjGyCOGtuasMWwvp2P4=


@@ 213,6 229,7 @@ github.com/google/go-cmp v0.3.1 h1:Xye71clBPdm5HgqGwUkwhbynsUJZhDbS20FvLhQ2izg=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0 h1:xsAVV57WRhGj6kEIi8ReJzQlHHqcBYCElAvkovg3B/4=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/gorilla/context v1.1.1 h1:AWwleXJkX/nhcU9bZSnZoi3h/qGYqQAGhq6zZe/aQW8=
github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg=
github.com/gorilla/csrf v1.6.0/go.mod h1:7tSf8kmjNYr7IWDCYhd3U8Ck34iQ/Yw5CJu7bAkHEGI=


@@ 276,6 293,8 @@ github.com/klauspost/cpuid v1.2.3 h1:CCtW0xUnWGVINKvE/WWOYKdsPV6mawAtvQuSl8guwQs
github.com/klauspost/cpuid v1.2.3/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid v1.2.4 h1:EBfaK0SWSwk+fgk6efYFWdzl8MwRWoOO1gkmiaTXPW4=
github.com/klauspost/cpuid v1.2.4/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek=
github.com/klauspost/cpuid v1.3.1 h1:5JNjFYYQrZeKRJ0734q51WCEEn2huer72Dc7K+R/b6s=
github.com/klauspost/cpuid v1.3.1/go.mod h1:bYW4mA6ZgKPob1/Dlai2LviZJO7KGI3uoWLd42rAQw4=
github.com/klauspost/reedsolomon v1.7.0 h1:pLFmRKGko2ZieiTGyo9DahLCIuljyxm+Zzhz/fYEonE=
github.com/klauspost/reedsolomon v1.7.0/go.mod h1:CwCi+NUr9pqSVktrkN+Ondf06rkhYZ/pcNv7fu+8Un4=
github.com/klauspost/reedsolomon v1.8.0 h1:lvvOkvk64cE1EGbBIgFk7WSOOsI1GexpuLiT7zjab6g=


@@ 288,6 307,8 @@ github.com/klauspost/reedsolomon v1.9.6 h1:sXZANEgYACIcmbk90z6MV4XL29d0Lm6AFleWR
github.com/klauspost/reedsolomon v1.9.6/go.mod h1:+8WD025Xpby8/kG5h/HDPIFhiiuGEtZOKw+5Y4drAD8=
github.com/klauspost/reedsolomon v1.9.7 h1:+azeqnT4iNG9UEcWC+7utJ4xXQ9S8pSlkZor0DOArEQ=
github.com/klauspost/reedsolomon v1.9.7/go.mod h1:+8WD025Xpby8/kG5h/HDPIFhiiuGEtZOKw+5Y4drAD8=
github.com/klauspost/reedsolomon v1.9.9 h1:qCL7LZlv17xMixl55nq2/Oa1Y86nfO8EqDfv2GHND54=
github.com/klauspost/reedsolomon v1.9.9/go.mod h1:O7yFFHiQwDR6b2t63KPUpccPtNdp5ADgh1gg4fd12wo=
github.com/konsorten/go-windows-terminal-sequences v1.0.1 h1:mweAR1A6xJ3oS2pRaGiHgQ4OO8tzTaLawm8vnODuwDk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2 h1:DB17ag19krx9CFsz4o3enTrPXyIXCl+2iCXH/aMAp9s=


@@ 308,6 329,8 @@ github.com/mattn/go-colorable v0.1.4 h1:snbPLB8fVfU9iwbbo30TPtbLRzwWu6aJS6Xh4eaa
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.6 h1:6Su7aK7lXmJ/U79bYtBjLNaha4Fs1Rg9plHpcH+vvnE=
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.7 h1:bQGKb3vps/j0E9GfJQ03JyhRuxsvdAanXlT9BTw3mdw=
github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.4 h1:bnP0vzxcAdeI1zdubAl5PjU6zsERjGZb7raWodagDYs=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=


@@ 331,6 354,10 @@ github.com/mitchellh/go-ps v1.0.0 h1:i6ampVEEF4wQFF+bkYfwYgY+F/uYJDktmvLPf7qIgjc
github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg=
github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
github.com/mmcloughlin/avo v0.0.0-20200504053806-fa88270b07e4 h1:HqABfvSTSz0ipb7ArOwybHX8/5lSzn0eU7BDYiBU/XY=
github.com/mmcloughlin/avo v0.0.0-20200504053806-fa88270b07e4/go.mod h1:wqKykBG2QzQDJEzvRkcS8x6MiSJkF52hXZsXcjaB3ls=
github.com/mmcloughlin/avo v0.0.0-20200523190732-4439b6b2c061 h1:UCU8+cLbbvyxi0sQ9fSeoEhZgvrrD9HKMtX6Gmc1vk8=
github.com/mmcloughlin/avo v0.0.0-20200523190732-4439b6b2c061/go.mod h1:wqKykBG2QzQDJEzvRkcS8x6MiSJkF52hXZsXcjaB3ls=
github.com/mvdan/xurls v1.1.0 h1:OpuDelGQ1R1ueQ6sSryzi6P+1RtBpfQHM8fJwlE45ww=
github.com/mvdan/xurls v1.1.0/go.mod h1:tQlNn3BED8bE/15hnSL2HLkDeLWpNPAwtw7wkEq44oU=
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 h1:zYyBkD/k9seD2A7fsi6Oo2LfFZAehjjQMERAvZLEDnQ=


@@ 361,6 388,7 @@ github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/reiver/go-porterstemmer v1.0.1 h1:WyERBkASXgoXrTwq/IQ6wyNj/YG7j/ZURvTuMCoud5w=
github.com/reiver/go-porterstemmer v1.0.1/go.mod h1:Z8uL/f/7UEwaeAJNwx1sO8kbqXiEuQieNuD735hLrSU=
github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446 h1:/NRJ5vAYoqz+7sG51ubIDHXeWO8DlTSrToPu6q11ziA=


@@ 427,6 455,8 @@ github.com/unrolled/secure v1.0.4 h1:DksfKsRTyXP2R8quDdOOuRpRO45VprFL0X9t9+JX1PU
github.com/unrolled/secure v1.0.4/go.mod h1:R6rugAuzh4TQpbFAq69oqZggyBQxFRFQIewtz5z7Jsc=
github.com/unrolled/secure v1.0.7 h1:BcQHp3iKZyZCKj5gRqwQG+5urnGBF00wGgoPPwtheVQ=
github.com/unrolled/secure v1.0.7/go.mod h1:uGc1OcRF8gCVBA+ANksKmvM85Hka6SZtQIbrKc3sHS4=
github.com/unrolled/secure v1.0.8 h1:JaMvKbe4CRt8oyxVXn+xY+6jlqd7pyJNSVkmsBxxQsM=
github.com/unrolled/secure v1.0.8/go.mod h1:fO+mEan+FLB0CdEnHf6Q4ZZVNqG+5fuLFnP8p0BXDPI=
github.com/urfave/negroni v1.0.0 h1:kIimOitoypq34K7TG7DUaJ9kq/N4Ofuwi1sjz0KipXc=
github.com/urfave/negroni v1.0.0/go.mod h1:Meg73S6kFm/4PpbYdq35yYWoCZ9mS/YSx+lKnmiohz4=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=


@@ 458,8 488,12 @@ github.com/yuin/goldmark v1.1.23 h1:eTodJ8hwEUvwXhb9qxQNuL/q1d+xMQClrXR4mdvV7gs=
github.com/yuin/goldmark v1.1.23/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.25 h1:isv+Q6HQAmmL2Ofcmg8QauBmDPlUUnSoNhEcC940Rds=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.30 h1:j4d4Lw3zqZelDhBksEo3BnWg9xhXRQGJPPSL6OApZjI=
github.com/yuin/goldmark v1.1.30/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.33 h1:Q0PzHNn2h69wYmmE2SukzuQe0VBwErZrgJ5ZB8od6zQ=
github.com/yuin/goldmark v1.1.33/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark-highlighting v0.0.0-20191202084645-78f32c8dd6d5 h1:QbH7ca1qtgZHrzvcVAEoiJIwBqrXxMOfHYfwZIniIK0=
github.com/yuin/goldmark-highlighting v0.0.0-20191202084645-78f32c8dd6d5/go.mod h1:4QGn5rJFOASBa2uK4Q2h3BRTyJqRfsAucPFIipSTcaM=
github.com/yuin/goldmark-highlighting v0.0.0-20200218065240-d1af22c1126f h1:5295skDVJn90SXIYI22jOMeR9XbnuN76y/V1m9N8ITQ=


@@ 472,15 506,21 @@ github.com/yuin/gopher-lua v0.0.0-20190514113301-1cd887cd7036 h1:1b6PAtenNyhsmo/
github.com/yuin/gopher-lua v0.0.0-20190514113301-1cd887cd7036/go.mod h1:gqRgreBUhTSL0GeU64rtZ3Uq3wtjOa/TB2YfrtkCbVQ=
github.com/yuin/gopher-lua v0.0.0-20191220021717-ab39c6098bdb h1:ZkM6LRnq40pR1Ox0hTHlnpkcOTuFIDQpZ1IN8rKKhX0=
github.com/yuin/gopher-lua v0.0.0-20191220021717-ab39c6098bdb/go.mod h1:gqRgreBUhTSL0GeU64rtZ3Uq3wtjOa/TB2YfrtkCbVQ=
github.com/yuin/gopher-lua v0.0.0-20200521060427-6ff375d91eab h1:K7gu9IIvA+0JDhq7R9CepwSbSRiKY0JcUUs/CVZ3vfU=
github.com/yuin/gopher-lua v0.0.0-20200521060427-6ff375d91eab/go.mod h1:gqRgreBUhTSL0GeU64rtZ3Uq3wtjOa/TB2YfrtkCbVQ=
github.com/yuin/gopher-lua v0.0.0-20200603152657-dc2b0ca8b37e h1:oIpIX9VKxSCFrfjsKpluGbNPBGq9iNnT9crH781j9wY=
github.com/yuin/gopher-lua v0.0.0-20200603152657-dc2b0ca8b37e/go.mod h1:gqRgreBUhTSL0GeU64rtZ3Uq3wtjOa/TB2YfrtkCbVQ=
github.com/zpatrick/rbac v0.0.0-20180829190353-d2c4f050cf28 h1:nLE4b8KyHEEirsOy1Dgqw9esMxqRhwfqlZ6GgM2c8lo=
github.com/zpatrick/rbac v0.0.0-20180829190353-d2c4f050cf28/go.mod h1:WBaExyQHBJO9SelgH0SNqmlwYKV62vfnHCX5lXii91c=
golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
golang.org/x/arch v0.0.0-20190909030613-46d78d1859ac/go.mod h1:flIaEI6LNU6xOCD5PaJvn9wGP0agmIOqjrtsKGRguv4=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9 h1:mKdxBk7AujPs8kU4m80U72y/zjbZ3UcXC7dClwKbUI0=
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190701094942-4def268fd1a4/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191108234033-bd318be0434a h1:R/qVym5WAxsZWQqZCwDY/8sdVKV1m1WgU4/S5IRQAzc=
golang.org/x/crypto v0.0.0-20191108234033-bd318be0434a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200128174031-69ecbb4d6d5d h1:9FCpayM9Egr1baVnV1SX0H87m+XB0B8S0hAMi99X/3U=


@@ 499,14 539,29 @@ golang.org/x/crypto v0.0.0-20200429183012-4b2356b1ed79 h1:IaQbIIB2X/Mp/DKctl6ROx
golang.org/x/crypto v0.0.0-20200429183012-4b2356b1ed79/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37 h1:cg5LA/zNPRzIXIWSCxQW10Rvpy94aQh3LT/ShoCpkHw=
golang.org/x/crypto v0.0.0-20200510223506-06a226fb4e37/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899 h1:DZhuSZLsGlFL4CmhA8BcRA0mnthyA/nZ00AqCUo7vHg=
golang.org/x/crypto v0.0.0-20200709230013-948cd5f35899/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.3.0 h1:RM4zey1++hCTbCVQfnWeKs9/IEsaBLA8vTkd0WVtmH4=
golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180218175443-cbe0f9307d01/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181213202711-891ebc4b82d6 h1:gT0Y6H7hbVPUtvtk0YGxMXPgN+p8fYlqWkgJeUCZcaQ=
golang.org/x/net v0.0.0-20181213202711-891ebc4b82d6/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181217023233-e147a9138326 h1:iCzOf0xz39Tstp+Tu/WwyGjUXCk34QhQORRxBeXXTA4=
golang.org/x/net v0.0.0-20181217023233-e147a9138326/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3 h1:eH6Eip3UpmR+yM/qI9Ijluzb1bNv/cAU/n+6l8tRSis=
golang.org/x/net v0.0.0-20181220203305-927f97764cc3/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190509222800-a4d6f7feada5 h1:6M3SDHlHHDCx2PcQw3S4KsR170vGqDhJDOmpVd4Hjak=
golang.org/x/net v0.0.0-20190509222800-a4d6f7feada5/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=


@@ 521,6 576,7 @@ golang.org/x/net v0.0.0-20200202094626-16171245cfb2 h1:CCH4IOTTfewWjGOlSp+zGcjut
golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200219183655-46282727080f h1:dB42wwhNuwPvh8f+5zZWNcU+F2Xs/B9wXXwvUCOH7r8=
golang.org/x/net v0.0.0-20200219183655-46282727080f/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a h1:GuSPYbZzB5/dcLNCwLQLsg3obCJtX9IJhpXkvY7kzk0=
golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e h1:3G+cUijn7XD+S4eJFddp53Pv7+slrESplyjG25HgL+k=


@@ 533,12 589,21 @@ golang.org/x/net v0.0.0-20200506145744-7e3656a0809f h1:QBjCr1Fz5kw158VqdE9JfI9cJ
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120 h1:EZ3cVSzKOlJxAd8e8YAJ7no8nNypTxexh/YE/xW3ZEY=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2 h1:eDrdRpKgkcCqKZQwyZRyeFZgfqt37SL7Kv3tok06cKE=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381 h1:VXak5I6aEWmAXeQjA+QSZzlgNrpq9mjcfDemuexIKsU=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4 h1:YUO/7uOKsKeq9UokNS62b8FYywz3ker1l1vDZRCRefw=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180903190138-2b024373dcd9 h1:lkiLiLBHGoH3XnqSLUIaBsilGMUjI+Uy2Xu2JLUtTas=
golang.org/x/sys v0.0.0-20180903190138-2b024373dcd9/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33 h1:I6FyU15t786LL7oL/hn43zqTuEGr4PN7F4XJ1p4E3Y8=


@@ 586,20 651,47 @@ golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f h1:mOhmO9WsBaJCNmaZHPtHs9wOc
golang.org/x/sys v0.0.0-20200509044756-6aff5f38e54f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200513112337-417ce2331b5c h1:kISX68E8gSkNYAFRFiDU8rl5RIn1sJYKYb/r2vMLDrU=
golang.org/x/sys v0.0.0-20200513112337-417ce2331b5c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299 h1:DYfZAGf2WMFjMxbgTjaC+2HC7NkNAQs+6Q8b9WEB/F4=
golang.org/x/sys v0.0.0-20200519105757-fe76b779f299/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae h1:Ih9Yo4hSPImZOpfGuA4bR/ORKTAbhZo2AbWNRCnevdo=
golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190729092621-ff9f1409240a/go.mod h1:jcCCGcm9btYwXyDqrUWc6MKQKKGJCWEQ3AfLSRIbEuI=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20200425043458-8463f397d07c h1:iHhCR0b26amDCiiO+kBguKZom9aMF+NrFxh9zeKR/XU=
golang.org/x/tools v0.0.0-20200425043458-8463f397d07c/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200520220537-cf2d1e09c845 h1:F4gQH8TKyCccYDuNHX5TfZwiM8QWnPbSPUFE96qvGbs=
golang.org/x/tools v0.0.0-20200520220537-cf2d1e09c845/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6 h1:nULzSsKgihxFGLnQFv2T7lE5vIhOtg8ZPpJHapEt7o0=
golang.org/x/tools v0.0.0-20200717024301-6ddee64345a6/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.3.0 h1:FBSsiFRMz3LBeXIomRnVzrQwSDj4ibvcRexLG0LZGQk=
google.golang.org/appengine v1.3.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.6.5 h1:tycE03LOZYQNhDpS27tcQdAzLCVMaj7QT2SXxebnpCM=
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6 h1:lMO5rYAqUxkmaj76jAkRUvt5JZgFymx/+Q5Mzfivuhc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=


@@ 608,6 700,11 @@ google.golang.org/protobuf v1.21.0 h1:qdOKuR/EIArgaWNjetjgTzgVTAZ+S/WXVrq9HW9zim
google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
google.golang.org/protobuf v1.22.0 h1:cJv5/xdbk1NnMPR1VP9+HU6gupuG9MLBoH1r6RHZ2MY=
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0 h1:4MY060fB1DLGMB/7MBTLnwQUY6+F09GEiz6SsrNqyzM=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=


@@ 656,7 753,12 @@ gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
mvdan.cc/xurls v1.1.0 h1:kj0j2lonKseISJCiq1Tfk+iTv65dDGCl0rTbanXJGGc=
mvdan.cc/xurls v1.1.0/go.mod h1:TNWuhvo+IqbUCmtUIb/3LJSQdrzel8loVpgFm0HikbI=
rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4=
willnorris.com/go/microformats v1.0.0 h1:II6uDIJBPp6RpJQqRWm+6IN9lI00mN/jQAC5OHuF4HA=
willnorris.com/go/microformats v1.0.0/go.mod h1:AXRtimOA0J5fDmM2sxlka4G6PNLWC4bCNJcZjLvFdDw=
willnorris.com/go/microformats v1.1.0 h1:a16gADl3aFxYVUQDxX8zS2AWAHKNnuaLlZFxyDzmSf8=
willnorris.com/go/microformats v1.1.0/go.mod h1:kvVnWrkkEscVAIITCEoiTX66Hcyg59C7q0E49mb9TJ0=

M vendor/github.com/aws/aws-sdk-go/aws/config.go => vendor/github.com/aws/aws-sdk-go/aws/config.go +5 -4
@@ 43,7 43,7 @@ type Config struct {

	// An optional endpoint URL (hostname only or fully qualified URI)
	// that overrides the default generated endpoint for a client. Set this
	// to `""` to use the default generated endpoint.
	// to `nil` or the value to `""` to use the default generated endpoint.
	//
	// Note: You must still provide a `Region` value when specifying an
	// endpoint for a client.


@@ 138,7 138,7 @@ type Config struct {
	// `ExpectContinueTimeout` for information on adjusting the continue wait
	// timeout. https://golang.org/pkg/net/http/#Transport
	//
	// You should use this flag to disble 100-Continue if you experience issues
	// You should use this flag to disable 100-Continue if you experience issues
	// with proxies or third party S3 compatible services.
	S3Disable100Continue *bool



@@ 183,7 183,7 @@ type Config struct {
	//
	// Example:
	//    sess := session.Must(session.NewSession(aws.NewConfig()
	//       .WithEC2MetadataDiableTimeoutOverride(true)))
	//       .WithEC2MetadataDisableTimeoutOverride(true)))
	//
	//    svc := s3.New(sess)
	//


@@ 194,7 194,7 @@ type Config struct {
	// both IPv4 and IPv6 addressing.
	//
	// Setting this for a service which does not support dual stack will fail
	// to make requets. It is not recommended to set this value on the session
	// to make requests. It is not recommended to set this value on the session
	// as it will apply to all service clients created with the session. Even
	// services which don't support dual stack endpoints.
	//


@@ 238,6 238,7 @@ type Config struct {

	// EnableEndpointDiscovery will allow for endpoint discovery on operations that
	// have the definition in its model. By default, endpoint discovery is off.
	// To use EndpointDiscovery, Endpoint should be unset or set to an empty string.
	//
	// Example:
	//    sess := session.Must(session.NewSession(&aws.Config{

M vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go => vendor/github.com/aws/aws-sdk-go/aws/corehandlers/handlers.go +2 -0
@@ 225,6 225,8 @@ var ValidateEndpointHandler = request.NamedHandler{Name: "core.ValidateEndpointH
	if r.ClientInfo.SigningRegion == "" && aws.StringValue(r.Config.Region) == "" {
		r.Error = aws.ErrMissingRegion
	} else if r.ClientInfo.Endpoint == "" {
		// Was any endpoint provided by the user, or one was derived by the
		// SDK's endpoint resolver?
		r.Error = aws.ErrMissingEndpoint
	}
}}

M vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go => vendor/github.com/aws/aws-sdk-go/aws/credentials/shared_credentials_provider.go +3 -2
@@ 17,8 17,9 @@ var (
	ErrSharedCredentialsHomeNotFound = awserr.New("UserHomeNotFound", "user home directory not found.", nil)
)

// A SharedCredentialsProvider retrieves credentials from the current user's home
// directory, and keeps track if those credentials are expired.
// A SharedCredentialsProvider retrieves access key pair (access key ID,
// secret access key, and session token if present) credentials from the current
// user's home directory, and keeps track if those credentials are expired.
//
// Profile ini file example: $HOME/.aws/credentials
type SharedCredentialsProvider struct {

M vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go => vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go +1 -1
@@ 93,7 93,7 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol
}

func custAddS3DualStack(p *partition) {
	if p.ID != "aws" {
	if !(p.ID == "aws" || p.ID == "aws-cn" || p.ID == "aws-us-gov") {
		return
	}


M vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go => vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +669 -41
@@ 312,6 312,29 @@ var awsPartition = partition{
				"us-west-2":  endpoint{},
			},
		},
		"api.detective": service{
			Defaults: endpoint{
				Protocols: []string{"https"},
			},
			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"sa-east-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-1":      endpoint{},
				"us-west-2":      endpoint{},
			},
		},
		"api.ecr": service{

			Endpoints: endpoints{


@@ 639,6 662,7 @@ var awsPartition = partition{
			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"eu-central-1":   endpoint{},


@@ 661,11 685,16 @@ var awsPartition = partition{
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"sa-east-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-1":      endpoint{},
				"us-west-2":      endpoint{},
			},
		},


@@ 1063,6 1092,21 @@ var awsPartition = partition{
				"us-west-2":  endpoint{},
			},
		},
		"codeartifact": service{

			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-2":      endpoint{},
			},
		},
		"codebuild": service{

			Endpoints: endpoints{


@@ 1515,6 1559,7 @@ var awsPartition = partition{
		"datasync": service{

			Endpoints: endpoints{
				"af-south-1":     endpoint{},
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},


@@ 1524,6 1569,7 @@ var awsPartition = partition{
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-south-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},


@@ 1641,8 1687,10 @@ var awsPartition = partition{
		"discovery": service{

			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"eu-central-1":   endpoint{},
				"us-east-1":      endpoint{},
				"us-west-2":      endpoint{},
			},
		},


@@ 2119,6 2167,7 @@ var awsPartition = partition{
		"elasticfilesystem": service{

			Endpoints: endpoints{
				"af-south-1":     endpoint{},
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},


@@ 2128,9 2177,16 @@ var awsPartition = partition{
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-south-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"fips-af-south-1": endpoint{
					Hostname: "elasticfilesystem-fips.af-south-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "af-south-1",
					},
				},
				"fips-ap-east-1": endpoint{
					Hostname: "elasticfilesystem-fips.ap-east-1.amazonaws.com",
					CredentialScope: credentialScope{


@@ 2185,6 2241,12 @@ var awsPartition = partition{
						Region: "eu-north-1",
					},
				},
				"fips-eu-south-1": endpoint{
					Hostname: "elasticfilesystem-fips.eu-south-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "eu-south-1",
					},
				},
				"fips-eu-west-1": endpoint{
					Hostname: "elasticfilesystem-fips.eu-west-1.amazonaws.com",
					CredentialScope: credentialScope{


@@ 2526,6 2588,7 @@ var awsPartition = partition{
				Protocols: []string{"https"},
			},
			Endpoints: endpoints{
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},
				"ap-south-1":     endpoint{},


@@ 2627,11 2690,12 @@ var awsPartition = partition{
						Region: "us-west-2",
					},
				},
				"sa-east-1": endpoint{},
				"us-east-1": endpoint{},
				"us-east-2": endpoint{},
				"us-west-1": endpoint{},
				"us-west-2": endpoint{},
				"me-south-1": endpoint{},
				"sa-east-1":  endpoint{},
				"us-east-1":  endpoint{},
				"us-east-2":  endpoint{},
				"us-west-1":  endpoint{},
				"us-west-2":  endpoint{},
			},
		},
		"forecast": service{


@@ 2670,8 2734,10 @@ var awsPartition = partition{
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},


@@ 2891,6 2957,12 @@ var awsPartition = partition{
				"us-east-1": endpoint{},
			},
		},
		"honeycode": service{

			Endpoints: endpoints{
				"us-west-2": endpoint{},
			},
		},
		"iam": service{
			PartitionEndpoint: "aws-global",
			IsRegionalized:    boxedFalse,


@@ 2997,6 3069,7 @@ var awsPartition = partition{

			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"eu-central-1":   endpoint{},
				"eu-west-1":      endpoint{},
				"us-east-1":      endpoint{},


@@ 3271,8 3344,10 @@ var awsPartition = partition{
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"sa-east-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},


@@ 3332,6 3407,7 @@ var awsPartition = partition{
		"license-manager": service{

			Endpoints: endpoints{
				"af-south-1":     endpoint{},
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},


@@ 3341,6 3417,7 @@ var awsPartition = partition{
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-south-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},


@@ 3411,12 3488,36 @@ var awsPartition = partition{
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"me-south-1":     endpoint{},
				"sa-east-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-1":      endpoint{},
				"us-west-2":      endpoint{},
				"fips-us-east-1": endpoint{
					Hostname: "logs-fips.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},
				},
				"fips-us-east-2": endpoint{
					Hostname: "logs-fips.us-east-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-2",
					},
				},
				"fips-us-west-1": endpoint{
					Hostname: "logs-fips.us-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-1",
					},
				},
				"fips-us-west-2": endpoint{
					Hostname: "logs-fips.us-west-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-2",
					},
				},
				"me-south-1": endpoint{},
				"sa-east-1":  endpoint{},
				"us-east-1":  endpoint{},
				"us-east-2":  endpoint{},
				"us-west-1":  endpoint{},
				"us-west-2":  endpoint{},
			},
		},
		"machinelearning": service{


@@ 3426,6 3527,71 @@ var awsPartition = partition{
				"us-east-1": endpoint{},
			},
		},
		"macie": service{

			Endpoints: endpoints{
				"fips-us-east-1": endpoint{
					Hostname: "macie-fips.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},
				},
				"fips-us-west-2": endpoint{
					Hostname: "macie-fips.us-west-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-2",
					},
				},
				"us-east-1": endpoint{},
				"us-west-2": endpoint{},
			},
		},
		"macie2": service{

			Endpoints: endpoints{
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"fips-us-east-1": endpoint{
					Hostname: "macie2-fips.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},
				},
				"fips-us-east-2": endpoint{
					Hostname: "macie2-fips.us-east-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-2",
					},
				},
				"fips-us-west-1": endpoint{
					Hostname: "macie2-fips.us-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-1",
					},
				},
				"fips-us-west-2": endpoint{
					Hostname: "macie2-fips.us-west-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-2",
					},
				},
				"sa-east-1": endpoint{},
				"us-east-1": endpoint{},
				"us-east-2": endpoint{},
				"us-west-1": endpoint{},
				"us-west-2": endpoint{},
			},
		},
		"managedblockchain": service{

			Endpoints: endpoints{


@@ 3473,14 3639,45 @@ var awsPartition = partition{
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"sa-east-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-1":      endpoint{},
				"us-west-2":      endpoint{},
				"fips-ca-central-1": endpoint{
					Hostname: "mediaconvert-fips.ca-central-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "ca-central-1",
					},
				},
				"fips-us-east-1": endpoint{
					Hostname: "mediaconvert-fips.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},
				},
				"fips-us-east-2": endpoint{
					Hostname: "mediaconvert-fips.us-east-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-2",
					},
				},
				"fips-us-west-1": endpoint{
					Hostname: "mediaconvert-fips.us-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-1",
					},
				},
				"fips-us-west-2": endpoint{
					Hostname: "mediaconvert-fips.us-west-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-2",
					},
				},
				"sa-east-1": endpoint{},
				"us-east-1": endpoint{},
				"us-east-2": endpoint{},
				"us-west-1": endpoint{},
				"us-west-2": endpoint{},
			},
		},
		"medialive": service{


@@ 3567,8 3764,10 @@ var awsPartition = partition{
		"mgh": service{

			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"eu-central-1":   endpoint{},
				"us-east-1":      endpoint{},
				"us-west-2":      endpoint{},
			},
		},


@@ 3585,6 3784,7 @@ var awsPartition = partition{
				},
			},
			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"eu-central-1":   endpoint{},


@@ 3789,6 3989,12 @@ var awsPartition = partition{
						Region: "us-east-2",
					},
				},
				"us-west-1": endpoint{
					Hostname: "rds.us-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-1",
					},
				},
				"us-west-2": endpoint{
					Hostname: "rds.us-west-2.amazonaws.com",
					CredentialScope: credentialScope{


@@ 3912,9 4118,11 @@ var awsPartition = partition{
		"outposts": service{

			Endpoints: endpoints{
				"af-south-1":     endpoint{},
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},


@@ 3954,6 4162,7 @@ var awsPartition = partition{
					},
				},
				"me-south-1": endpoint{},
				"sa-east-1":  endpoint{},
				"us-east-1":  endpoint{},
				"us-east-2":  endpoint{},
				"us-west-1":  endpoint{},


@@ 4132,6 4341,7 @@ var awsPartition = partition{
		"ram": service{

			Endpoints: endpoints{
				"af-south-1":     endpoint{},
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},


@@ 4141,6 4351,7 @@ var awsPartition = partition{
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-south-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},


@@ 4275,10 4486,34 @@ var awsPartition = partition{
				"eu-central-1":   endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-1":      endpoint{},
				"us-west-2":      endpoint{},
				"rekognition-fips.us-east-1": endpoint{
					Hostname: "rekognition-fips.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},
				},
				"rekognition-fips.us-east-2": endpoint{
					Hostname: "rekognition-fips.us-east-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-2",
					},
				},
				"rekognition-fips.us-west-1": endpoint{
					Hostname: "rekognition-fips.us-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-1",
					},
				},
				"rekognition-fips.us-west-2": endpoint{
					Hostname: "rekognition-fips.us-west-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-2",
					},
				},
				"us-east-1": endpoint{},
				"us-east-2": endpoint{},
				"us-west-1": endpoint{},
				"us-west-2": endpoint{},
			},
		},
		"resource-groups": service{


@@ 4366,6 4601,7 @@ var awsPartition = partition{
				Protocols: []string{"https"},
			},
			Endpoints: endpoints{
				"af-south-1":     endpoint{},
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},


@@ 4375,6 4611,7 @@ var awsPartition = partition{
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-south-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},


@@ 4393,6 4630,7 @@ var awsPartition = partition{
				},
			},
			Endpoints: endpoints{
				"ap-northeast-1": endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"eu-central-1":   endpoint{},


@@ 4687,10 4925,22 @@ var awsPartition = partition{
		"schemas": service{

			Endpoints: endpoints{
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},
				"ap-south-1":     endpoint{},
				"ap-southeast-1": endpoint{},
				"ap-southeast-2": endpoint{},
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"sa-east-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-1":      endpoint{},
				"us-west-2":      endpoint{},
			},
		},


@@ 4778,12 5028,36 @@ var awsPartition = partition{
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},
				"me-south-1":     endpoint{},
				"sa-east-1":      endpoint{},
				"us-east-1":      endpoint{},
				"us-east-2":      endpoint{},
				"us-west-1":      endpoint{},
				"us-west-2":      endpoint{},
				"fips-us-east-1": endpoint{
					Hostname: "securityhub-fips.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},
				},
				"fips-us-east-2": endpoint{
					Hostname: "securityhub-fips.us-east-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-2",
					},
				},
				"fips-us-west-1": endpoint{
					Hostname: "securityhub-fips.us-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-1",
					},
				},
				"fips-us-west-2": endpoint{
					Hostname: "securityhub-fips.us-west-2.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-west-2",
					},
				},
				"me-south-1": endpoint{},
				"sa-east-1":  endpoint{},
				"us-east-1":  endpoint{},
				"us-east-2":  endpoint{},
				"us-west-1":  endpoint{},
				"us-west-2":  endpoint{},
			},
		},
		"serverlessrepo": service{


@@ 4850,6 5124,7 @@ var awsPartition = partition{
		"servicecatalog": service{

			Endpoints: endpoints{
				"af-south-1":     endpoint{},
				"ap-east-1":      endpoint{},
				"ap-northeast-1": endpoint{},
				"ap-northeast-2": endpoint{},


@@ 4859,6 5134,7 @@ var awsPartition = partition{
				"ca-central-1":   endpoint{},
				"eu-central-1":   endpoint{},
				"eu-north-1":     endpoint{},
				"eu-south-1":     endpoint{},
				"eu-west-1":      endpoint{},
				"eu-west-2":      endpoint{},
				"eu-west-3":      endpoint{},


@@ 4932,20 5208,21 @@ var awsPartition = partition{
			},
		},
		"shield": service{
			IsRegionalized: boxedFalse,
			PartitionEndpoint: "aws-global",
			IsRegionalized:    boxedFalse,
			Defaults: endpoint{
				SSLCommonName: "shield.us-east-1.amazonaws.com",
				Protocols:     []string{"https"},
			},
			Endpoints: endpoints{
				"fips-us-east-1": endpoint{
					Hostname: "shield-fips.us-east-1.amazonaws.com",
				"aws-global": endpoint{
					Hostname: "shield.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},
				},
				"us-east-1": endpoint{
					Hostname: "shield.us-east-1.amazonaws.com",
				"fips-aws-global": endpoint{
					Hostname: "shield-fips.us-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-east-1",
					},


@@ 6105,6 6382,15 @@ var awscnPartition = partition{
				"cn-northwest-1": endpoint{},
			},
		},
		"autoscaling-plans": service{
			Defaults: endpoint{
				Protocols: []string{"http", "https"},
			},
			Endpoints: endpoints{
				"cn-north-1":     endpoint{},
				"cn-northwest-1": endpoint{},
			},
		},
		"backup": service{

			Endpoints: endpoints{


@@ 6119,6 6405,32 @@ var awscnPartition = partition{
				"cn-northwest-1": endpoint{},
			},
		},
		"budgets": service{
			PartitionEndpoint: "aws-cn-global",
			IsRegionalized:    boxedFalse,

			Endpoints: endpoints{
				"aws-cn-global": endpoint{
					Hostname: "budgets.amazonaws.com.cn",
					CredentialScope: credentialScope{
						Region: "cn-northwest-1",
					},
				},
			},
		},
		"ce": service{
			PartitionEndpoint: "aws-cn-global",
			IsRegionalized:    boxedFalse,

			Endpoints: endpoints{
				"aws-cn-global": endpoint{
					Hostname: "ce.cn-northwest-1.amazonaws.com.cn",
					CredentialScope: credentialScope{
						Region: "cn-northwest-1",
					},
				},
			},
		},
		"cloudformation": service{

			Endpoints: endpoints{


@@ 6181,6 6493,12 @@ var awscnPartition = partition{
				"cn-northwest-1": endpoint{},
			},
		},
		"cur": service{

			Endpoints: endpoints{
				"cn-northwest-1": endpoint{},
			},
		},
		"dax": service{

			Endpoints: endpoints{


@@ 6408,6 6726,13 @@ var awscnPartition = partition{
				"cn-northwest-1": endpoint{},
			},
		},
		"kinesisanalytics": service{

			Endpoints: endpoints{
				"cn-north-1":     endpoint{},
				"cn-northwest-1": endpoint{},
			},
		},
		"kms": service{

			Endpoints: endpoints{


@@ 6467,6 6792,25 @@ var awscnPartition = partition{
				},
			},
		},
		"organizations": service{
			PartitionEndpoint: "aws-cn-global",
			IsRegionalized:    boxedFalse,

			Endpoints: endpoints{
				"aws-cn-global": endpoint{
					Hostname: "organizations.cn-northwest-1.amazonaws.com.cn",
					CredentialScope: credentialScope{
						Region: "cn-northwest-1",
					},
				},
				"fips-aws-cn-global": endpoint{
					Hostname: "organizations.cn-northwest-1.amazonaws.com.cn",
					CredentialScope: credentialScope{
						Region: "cn-northwest-1",
					},
				},
			},
		},
		"polly": service{

			Endpoints: endpoints{


@@ 6487,6 6831,19 @@ var awscnPartition = partition{
				"cn-northwest-1": endpoint{},
			},
		},
		"route53": service{
			PartitionEndpoint: "aws-cn-global",
			IsRegionalized:    boxedFalse,

			Endpoints: endpoints{
				"aws-cn-global": endpoint{
					Hostname: "route53.amazonaws.com.cn",
					CredentialScope: credentialScope{
						Region: "cn-northwest-1",
					},
				},
			},
		},
		"runtime.sagemaker": service{

			Endpoints: endpoints{


@@ 6498,6 6855,9 @@ var awscnPartition = partition{
			Defaults: endpoint{
				Protocols:         []string{"http", "https"},
				SignatureVersions: []string{"s3v4"},

				HasDualStack:      boxedTrue,
				DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
			},
			Endpoints: endpoints{
				"cn-north-1":     endpoint{},


@@ 6508,6 6868,9 @@ var awscnPartition = partition{
			Defaults: endpoint{
				Protocols:         []string{"https"},
				SignatureVersions: []string{"s3v4"},

				HasDualStack:      boxedTrue,
				DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
			},
			Endpoints: endpoints{
				"cn-north-1": endpoint{


@@ 6556,13 6919,20 @@ var awscnPartition = partition{
		"snowball": service{

			Endpoints: endpoints{
				"cn-north-1": endpoint{},
				"cn-north-1":     endpoint{},
				"cn-northwest-1": endpoint{},
				"fips-cn-north-1": endpoint{
					Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn",
					CredentialScope: credentialScope{
						Region: "cn-north-1",
					},
				},
				"fips-cn-northwest-1": endpoint{
					Hostname: "snowball-fips.cn-northwest-1.amazonaws.com.cn",
					CredentialScope: credentialScope{
						Region: "cn-northwest-1",
					},
				},
			},
		},
		"sns": service{


@@ 6782,6 7152,18 @@ var awsusgovPartition = partition{

			Endpoints: endpoints{
				"us-gov-west-1": endpoint{},
				"us-gov-west-1-fips": endpoint{
					Hostname: "api-fips.sagemaker.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-west-1-fips-secondary": endpoint{
					Hostname: "api.sagemaker.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"apigateway": service{


@@ 6860,6 7242,13 @@ var awsusgovPartition = partition{
				"us-gov-west-1": endpoint{},
			},
		},
		"backup": service{

			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
			},
		},
		"batch": service{

			Endpoints: endpoints{


@@ 6888,8 7277,18 @@ var awsusgovPartition = partition{
		"cloudformation": service{

			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
				"us-gov-east-1": endpoint{
					Hostname: "cloudformation.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"us-gov-west-1": endpoint{
					Hostname: "cloudformation.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"cloudhsm": service{


@@ 6989,6 7388,24 @@ var awsusgovPartition = partition{
				"us-gov-west-1": endpoint{},
			},
		},
		"cognito-identity": service{

			Endpoints: endpoints{
				"us-gov-west-1": endpoint{},
			},
		},
		"cognito-idp": service{

			Endpoints: endpoints{
				"fips-us-gov-west-1": endpoint{
					Hostname: "cognito-idp-fips.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-west-1": endpoint{},
			},
		},
		"comprehend": service{
			Defaults: endpoint{
				Protocols: []string{"https"},


@@ 7006,6 7423,12 @@ var awsusgovPartition = partition{
		"comprehendmedical": service{

			Endpoints: endpoints{
				"fips-us-gov-west-1": endpoint{
					Hostname: "comprehendmedical-fips.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-west-1": endpoint{},
			},
		},


@@ 7065,6 7488,17 @@ var awsusgovPartition = partition{
				"us-gov-west-1": endpoint{},
			},
		},
		"docdb": service{

			Endpoints: endpoints{
				"us-gov-west-1": endpoint{
					Hostname: "rds.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"ds": service{

			Endpoints: endpoints{


@@ 7150,11 7584,20 @@ var awsusgovPartition = partition{
				"us-gov-west-1": endpoint{},
			},
		},
		"eks": service{
			Defaults: endpoint{
				Protocols: []string{"http", "https"},
			},
			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
			},
		},
		"elasticache": service{

			Endpoints: endpoints{
				"fips": endpoint{
					Hostname: "elasticache-fips.us-gov-west-1.amazonaws.com",
					Hostname: "elasticache.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},


@@ 7202,6 7645,18 @@ var awsusgovPartition = partition{
		"elasticloadbalancing": service{

			Endpoints: endpoints{
				"fips-us-gov-east-1": endpoint{
					Hostname: "elasticloadbalancing-fips.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"fips-us-gov-west-1": endpoint{
					Hostname: "elasticloadbalancing-fips.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{
					Protocols: []string{"http", "https"},


@@ 7333,7 7788,12 @@ var awsusgovPartition = partition{
				Protocols: []string{"https"},
			},
			Endpoints: endpoints{
				"us-gov-west-1": endpoint{},
				"us-gov-west-1": endpoint{
					Hostname: "greengrass.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"guardduty": service{


@@ 7343,6 7803,12 @@ var awsusgovPartition = partition{
			},
			Endpoints: endpoints{
				"us-gov-west-1": endpoint{},
				"us-gov-west-1-fips": endpoint{
					Hostname: "guardduty.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"health": service{


@@ 7362,6 7828,12 @@ var awsusgovPartition = partition{
						Region: "us-gov-west-1",
					},
				},
				"iam-govcloud-fips": endpoint{
					Hostname: "iam.us-gov.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"inspector": service{


@@ 7409,6 7881,25 @@ var awsusgovPartition = partition{
		"kinesis": service{

			Endpoints: endpoints{
				"fips-us-gov-east-1": endpoint{
					Hostname: "kinesis-fips.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"fips-us-gov-west-1": endpoint{
					Hostname: "kinesis-fips.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
			},
		},
		"kinesisanalytics": service{

			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
			},


@@ 7467,14 7958,29 @@ var awsusgovPartition = partition{
		"logs": service{

			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
				"us-gov-east-1": endpoint{
					Hostname: "logs.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"us-gov-west-1": endpoint{
					Hostname: "logs.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"mediaconvert": service{

			Endpoints: endpoints{
				"us-gov-west-1": endpoint{},
				"us-gov-west-1": endpoint{
					Hostname: "mediaconvert.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"metering.marketplace": service{


@@ 7535,6 8041,12 @@ var awsusgovPartition = partition{
						Region: "us-gov-west-1",
					},
				},
				"fips-aws-us-gov-global": endpoint{
					Hostname: "organizations.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"outposts": service{


@@ 7622,6 8134,12 @@ var awsusgovPartition = partition{
		"rekognition": service{

			Endpoints: endpoints{
				"rekognition-fips.us-gov-west-1": endpoint{
					Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-west-1": endpoint{},
			},
		},


@@ 7673,6 8191,9 @@ var awsusgovPartition = partition{
		"s3": service{
			Defaults: endpoint{
				SignatureVersions: []string{"s3", "s3v4"},

				HasDualStack:      boxedTrue,
				DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
			},
			Endpoints: endpoints{
				"fips-us-gov-west-1": endpoint{


@@ 7695,6 8216,9 @@ var awsusgovPartition = partition{
			Defaults: endpoint{
				Protocols:         []string{"https"},
				SignatureVersions: []string{"s3v4"},

				HasDualStack:      boxedTrue,
				DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
			},
			Endpoints: endpoints{
				"us-gov-east-1": endpoint{


@@ 7749,6 8273,18 @@ var awsusgovPartition = partition{
		"securityhub": service{

			Endpoints: endpoints{
				"fips-us-gov-east-1": endpoint{
					Hostname: "securityhub-fips.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"fips-us-gov-west-1": endpoint{
					Hostname: "securityhub-fips.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
			},


@@ 7759,10 8295,18 @@ var awsusgovPartition = partition{
			},
			Endpoints: endpoints{
				"us-gov-east-1": endpoint{
					Hostname:  "serverlessrepo.us-gov-east-1.amazonaws.com",
					Protocols: []string{"https"},
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"us-gov-west-1": endpoint{
					Hostname:  "serverlessrepo.us-gov-west-1.amazonaws.com",
					Protocols: []string{"https"},
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},


@@ 7826,25 8370,67 @@ var awsusgovPartition = partition{
		"sns": service{

			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-east-1": endpoint{
					Hostname: "sns.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"us-gov-west-1": endpoint{
					Hostname:  "sns.us-gov-west-1.amazonaws.com",
					Protocols: []string{"http", "https"},
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"sqs": service{

			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-east-1": endpoint{
					Hostname: "sqs.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"us-gov-west-1": endpoint{
					Hostname:      "sqs.us-gov-west-1.amazonaws.com",
					SSLCommonName: "{region}.queue.{dnsSuffix}",
					Protocols:     []string{"http", "https"},
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"ssm": service{

			Endpoints: endpoints{
				"fips-us-gov-east-1": endpoint{
					Hostname: "ssm.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"fips-us-gov-west-1": endpoint{
					Hostname: "ssm.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"ssm-facade-fips-us-gov-east-1": endpoint{
					Hostname: "ssm-facade.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"ssm-facade-fips-us-gov-west-1": endpoint{
					Hostname: "ssm-facade.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
			},


@@ 7871,6 8457,12 @@ var awsusgovPartition = partition{
		"storagegateway": service{

			Endpoints: endpoints{
				"fips": endpoint{
					Hostname: "storagegateway-fips.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
				"us-gov-east-1": endpoint{},
				"us-gov-west-1": endpoint{},
			},


@@ 7902,7 8494,19 @@ var awsusgovPartition = partition{

			Endpoints: endpoints{
				"us-gov-east-1": endpoint{},
				"us-gov-east-1-fips": endpoint{
					Hostname: "sts.us-gov-east-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-east-1",
					},
				},
				"us-gov-west-1": endpoint{},
				"us-gov-west-1-fips": endpoint{
					Hostname: "sts.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"support": service{


@@ 7915,6 8519,12 @@ var awsusgovPartition = partition{
						Region: "us-gov-west-1",
					},
				},
				"fips-us-gov-west-1": endpoint{
					Hostname: "support.us-gov-west-1.amazonaws.com",
					CredentialScope: credentialScope{
						Region: "us-gov-west-1",
					},
				},
			},
		},
		"swf": service{


@@ 8189,6 8799,12 @@ var awsisoPartition = partition{
				},
			},
		},
		"es": service{

			Endpoints: endpoints{
				"us-iso-east-1": endpoint{},
			},
		},
		"events": service{

			Endpoints: endpoints{


@@ 8365,6 8981,12 @@ var awsisoPartition = partition{
				"us-iso-east-1": endpoint{},
			},
		},
		"transcribestreaming": service{

			Endpoints: endpoints{
				"us-iso-east-1": endpoint{},
			},
		},
		"workspaces": service{

			Endpoints: endpoints{


@@ 8548,6 9170,12 @@ var awsisobPartition = partition{
				"us-isob-east-1": endpoint{},
			},
		},
		"lambda": service{

			Endpoints: endpoints{
				"us-isob-east-1": endpoint{},
			},
		},
		"license-manager": service{

			Endpoints: endpoints{

M vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go => vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go +13 -3
@@ 7,6 7,8 @@ import (
	"strings"
)

var regionValidationRegex = regexp.MustCompile(`^[[:alnum:]]([[:alnum:]\-]*[[:alnum:]])?$`)

type partitions []partition

func (ps partitions) EndpointFor(service, region string, opts ...func(*Options)) (ResolvedEndpoint, error) {


@@ 124,7 126,7 @@ func (p partition) EndpointFor(service, region string, opts ...func(*Options)) (

	defs := []endpoint{p.Defaults, s.Defaults}

	return e.resolve(service, p.ID, region, p.DNSSuffix, defs, opt), nil
	return e.resolve(service, p.ID, region, p.DNSSuffix, defs, opt)
}

func serviceList(ss services) []string {


@@ 233,7 235,7 @@ func getByPriority(s []string, p []string, def string) string {
	return s[0]
}

func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs []endpoint, opts Options) ResolvedEndpoint {
func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs []endpoint, opts Options) (ResolvedEndpoint, error) {
	var merged endpoint
	for _, def := range defs {
		merged.mergeIn(def)


@@ 260,6 262,10 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [
		region = signingRegion
	}

	if !validateInputRegion(region) {
		return ResolvedEndpoint{}, fmt.Errorf("invalid region identifier format provided")
	}

	u := strings.Replace(hostname, "{service}", service, 1)
	u = strings.Replace(u, "{region}", region, 1)
	u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1)


@@ 274,7 280,7 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [
		SigningName:        signingName,
		SigningNameDerived: signingNameDerived,
		SigningMethod:      getByPriority(e.SignatureVersions, signerPriority, defaultSigner),
	}
	}, nil
}

func getEndpointScheme(protocols []string, disableSSL bool) string {


@@ 339,3 345,7 @@ const (
	boxedFalse
	boxedTrue
)

func validateInputRegion(region string) bool {
	return regionValidationRegex.MatchString(region)
}

M vendor/github.com/aws/aws-sdk-go/aws/types.go => vendor/github.com/aws/aws-sdk-go/aws/types.go +23 -0
@@ 239,3 239,26 @@ func (es errors) Error() string {

	return strings.Join(parts, "\n")
}

// CopySeekableBody copies the seekable body to an io.Writer
func CopySeekableBody(dst io.Writer, src io.ReadSeeker) (int64, error) {
	curPos, err := src.Seek(0, sdkio.SeekCurrent)
	if err != nil {
		return 0, err
	}

	// copy errors may be assumed to be from the body.
	n, err := io.Copy(dst, src)
	if err != nil {
		return n, err
	}

	// seek back to the first position after reading to reset
	// the body for transmission.
	_, err = src.Seek(curPos, sdkio.SeekStart)
	if err != nil {
		return n, err
	}

	return n, nil
}

M vendor/github.com/aws/aws-sdk-go/aws/version.go => vendor/github.com/aws/aws-sdk-go/aws/version.go +1 -1
@@ 5,4 5,4 @@ package aws
const SDKName = "aws-sdk-go"

// SDKVersion is the version of this SDK
const SDKVersion = "1.30.27"
const SDKVersion = "1.33.7"

A vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go => vendor/github.com/aws/aws-sdk-go/private/checksum/content_md5.go +53 -0
@@ 0,0 1,53 @@
package checksum

import (
	"crypto/md5"
	"encoding/base64"
	"fmt"

	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/awserr"
	"github.com/aws/aws-sdk-go/aws/request"
)

const contentMD5Header = "Content-Md5"

// AddBodyContentMD5Handler computes and sets the HTTP Content-MD5 header for requests that
// require it.
func AddBodyContentMD5Handler(r *request.Request) {
	// if Content-MD5 header is already present, return
	if v := r.HTTPRequest.Header.Get(contentMD5Header); len(v) != 0 {
		return
	}

	// if S3DisableContentMD5Validation flag is set, return
	if aws.BoolValue(r.Config.S3DisableContentMD5Validation) {
		return
	}

	// if request is presigned, return
	if r.IsPresigned() {
		return
	}

	// if body is not seekable, return
	if !aws.IsReaderSeekable(r.Body) {
		if r.Config.Logger != nil {
			r.Config.Logger.Log(fmt.Sprintf(
				"Unable to compute Content-MD5 for unseekable body, S3.%s",
				r.Operation.Name))
		}
		return
	}

	h := md5.New()

	if _, err := aws.CopySeekableBody(h, r.Body); err != nil {
		r.Error = awserr.New("ContentMD5", "failed to compute body MD5", err)
		return
	}

	// encode the md5 checksum in base64 and set the request header.
	v := base64.StdEncoding.EncodeToString(h.Sum(nil))
	r.HTTPRequest.Header.Set(contentMD5Header, v)
}

M vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go => vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/reader.go +14 -1
@@ 69,10 69,23 @@ func (r *EventReader) ReadEvent() (event interface{}, err error) {
	case ErrorMessageType:
		return nil, r.unmarshalErrorMessage(msg)
	default:
		return nil, fmt.Errorf("unknown eventstream message type, %v", typ)
		return nil, &UnknownMessageTypeError{
			Type: typ, Message: msg.Clone(),
		}
	}
}

// UnknownMessageTypeError provides an error when a message is received from
// the stream, but the reader is unable to determine what kind of message it is.
type UnknownMessageTypeError struct {
	Type    string
	Message eventstream.Message
}

func (e *UnknownMessageTypeError) Error() string {
	return "unknown eventstream message type, " + e.Type
}

func (r *EventReader) unmarshalEventMessage(
	msg eventstream.Message,
) (event interface{}, err error) {

M vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go => vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/header.go +9 -0
@@ 52,6 52,15 @@ func (hs *Headers) Del(name string) {
	}
}

// Clone returns a deep copy of the headers
func (hs Headers) Clone() Headers {
	o := make(Headers, 0, len(hs))
	for _, h := range hs {
		o.Set(h.Name, h.Value)
	}
	return o
}

func decodeHeaders(r io.Reader) (Headers, error) {
	hs := Headers{}


M vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go => vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/message.go +14 -0
@@ 57,6 57,20 @@ func (m *Message) rawMessage() (rawMessage, error) {
	return raw, nil
}

// Clone returns a deep copy of the message.
func (m Message) Clone() Message {
	var payload []byte
	if m.Payload != nil {
		payload = make([]byte, len(m.Payload))
		copy(payload, m.Payload)
	}

	return Message{
		Headers: m.Headers.Clone(),
		Payload: payload,
	}
}

type messagePrelude struct {
	Length     uint32
	HeadersLen uint32

M vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go => vendor/github.com/aws/aws-sdk-go/private/protocol/timestamp.go +2 -1
@@ 56,7 56,8 @@ func FormatTime(name string, t time.Time) string {
	case ISO8601TimeFormatName:
		return t.Format(ISO8601OutputTimeFormat)
	case UnixTimeFormatName:
		return strconv.FormatInt(t.Unix(), 10)
		ms := t.UnixNano() / int64(time.Millisecond)
		return strconv.FormatFloat(float64(ms)/1e3, 'f', -1, 64)
	default:
		panic("unknown timestamp format name, " + name)
	}

M vendor/github.com/aws/aws-sdk-go/service/s3/api.go => vendor/github.com/aws/aws-sdk-go/service/s3/api.go +471 -388
@@ 14,6 14,7 @@ import (
	"github.com/aws/aws-sdk-go/aws/awsutil"
	"github.com/aws/aws-sdk-go/aws/client"
	"github.com/aws/aws-sdk-go/aws/request"
	"github.com/aws/aws-sdk-go/private/checksum"
	"github.com/aws/aws-sdk-go/private/protocol"
	"github.com/aws/aws-sdk-go/private/protocol/eventstream"
	"github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi"


@@ 217,7 218,7 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput)
//    does not exist. The upload ID might be invalid, or the multipart upload
//    might have been aborted or completed. 404 Not Found
//
// The following operations are related to DeleteBucketMetricsConfiguration:
// The following operations are related to CompleteMultipartUpload:
//
//    * CreateMultipartUpload
//


@@ 305,20 306,9 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
//
// You can store individual objects of up to 5 TB in Amazon S3. You create a
// copy of your object up to 5 GB in size in a single atomic operation using
// this API. However, for copying an object greater than 5 GB, you must use
// the multipart upload Upload Part - Copy API. For more information, see Copy
// Object Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html).
//
// When copying an object, you can preserve all metadata (default) or specify
// new metadata. However, the ACL is not preserved and is set to private for
// the user making the request. To override the default ACL setting, specify
// a new ACL when generating a copy request. For more information, see Using
// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html).
//
// Amazon S3 transfer acceleration does not support cross-region copies. If
// you request a cross-region copy using a transfer acceleration endpoint, you
// get a 400 Bad Request error. For more information about transfer acceleration,
// see Transfer Acceleration (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
// this API. However, to copy an object greater than 5 GB, you must use the
// multipart upload Upload Part - Copy API. For more information, see Copy Object
// Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html).
//
// All copy requests must be authenticated. Additionally, you must have read
// access to the source object and write access to the destination bucket. For


@@ 326,28 316,6 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// Both the Region that you want to copy the object from and the Region that
// you want to copy the object to must be enabled for your account.
//
// To only copy an object under certain conditions, such as whether the Etag
// matches or whether the object was modified before or after a specified date,
// use the request parameters x-amz-copy-source-if-match, x-amz-copy-source-if-none-match,
// x-amz-copy-source-if-unmodified-since, or x-amz-copy-source-if-modified-since.
//
// All headers with the x-amz- prefix, including x-amz-copy-source, must be
// signed.
//
// You can use this operation to change the storage class of an object that
// is already stored in Amazon S3 using the StorageClass parameter. For more
// information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html).
//
// The source object that you are copying can be encrypted or unencrypted. If
// the source object is encrypted, it can be encrypted by server-side encryption
// using AWS managed encryption keys or by using a customer-provided encryption
// key. When copying an object, you can request that Amazon S3 encrypt the target
// object by using either the AWS managed encryption keys or by using your own
// encryption key. You can do this regardless of the form of server-side encryption
// that was used to encrypt the source, or even if the source object was not
// encrypted. For more information about server-side encryption, see Using Server-Side
// Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html).
//
// A copy request might return an error when Amazon S3 receives the copy request
// or while Amazon S3 is copying the files. If the error occurs before the copy
// operation starts, you receive a standard Amazon S3 error. If the error occurs


@@ 363,125 331,117 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// it were not, it would not contain the content-length, and you would need
// to read the entire body.
//
// Consider the following when using request headers:
// The copy request charge is based on the storage class and Region that you
// specify for the destination object. For pricing information, see Amazon S3
// pricing (https://aws.amazon.com/s3/pricing/).
//
//    * Consideration 1 – If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
//    headers are present in the request and evaluate as follows, Amazon S3
//    returns 200 OK and copies the data: x-amz-copy-source-if-match condition
//    evaluates to true x-amz-copy-source-if-unmodified-since condition evaluates
//    to false
// Amazon S3 transfer acceleration does not support cross-Region copies. If
// you request a cross-Region copy using a transfer acceleration endpoint, you
// get a 400 Bad Request error. For more information, see Transfer Acceleration
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html).
//
//    * Consideration 2 – If both of the x-amz-copy-source-if-none-match and
//    x-amz-copy-source-if-modified-since headers are present in the request
//    and evaluate as follows, Amazon S3 returns the 412 Precondition Failed
//    response code: x-amz-copy-source-if-none-match condition evaluates to
//    false x-amz-copy-source-if-modified-since condition evaluates to true
// Metadata
//
// The copy request charge is based on the storage class and Region you specify
// for the destination object. For pricing information, see Amazon S3 Pricing
// (https://aws.amazon.com/s3/pricing/).
// When copying an object, you can preserve all metadata (default) or specify
// new metadata. However, the ACL is not preserved and is set to private for
// the user making the request. To override the default ACL setting, specify
// a new ACL when generating a copy request. For more information, see Using
// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html).
//
// Following are other considerations when using CopyObject:
// To specify whether you want the object metadata copied from the source object
// or replaced with metadata provided in the request, you can optionally add
// the x-amz-metadata-directive header. When you grant permissions, you can
// use the s3:x-amz-metadata-directive condition key to enforce certain metadata
// behavior when objects are uploaded. For more information, see Specifying
// Conditions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/amazon-s3-policy-keys.html)
// in the Amazon S3 Developer Guide. For a complete list of Amazon S3-specific
// condition keys, see Actions, Resources, and Condition Keys for Amazon S3
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html).
//
// Versioning
//  x-amz-copy-source-if Headers
//
// By default, x-amz-copy-source identifies the current version of an object
// to copy. (If the current version is a delete marker, Amazon S3 behaves as
// if the object was deleted.) To copy a different version, use the versionId
// subresource.
// To only copy an object under certain conditions, such as whether the Etag
// matches or whether the object was modified before or after a specified date,
// use the following request parameters:
//
// If you enable versioning on the target bucket, Amazon S3 generates a unique
// version ID for the object being copied. This version ID is different from
// the version ID of the source object. Amazon S3 returns the version ID of
// the copied object in the x-amz-version-id response header in the response.
//    * x-amz-copy-source-if-match
//
// If you do not enable versioning or suspend it on the target bucket, the version
// ID that Amazon S3 generates is always null.
//    * x-amz-copy-source-if-none-match
//
// If the source object's storage class is GLACIER, you must restore a copy
// of this object before you can use it as a source object for the copy operation.
// For more information, see .
//    * x-amz-copy-source-if-unmodified-since
//
// Access Permissions
//    * x-amz-copy-source-if-modified-since
//
// When copying an object, you can optionally specify the accounts or groups
// that should be granted specific permissions on the new object. There are
// two ways to grant the permissions using the request headers:
// If both the x-amz-copy-source-if-match and x-amz-copy-source-if-unmodified-since
// headers are present in the request and evaluate as follows, Amazon S3 returns
// 200 OK and copies the data:
//
//    * Specify a canned ACL with the x-amz-acl request header. For more information,
//    see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
//    * x-amz-copy-source-if-match condition evaluates to true
//
//    * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp,
//    x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters
//    map to the set of permissions that Amazon S3 supports in an ACL. For more
//    information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
//    * x-amz-copy-source-if-unmodified-since condition evaluates to false
//
// You can use either a canned ACL or specify access permissions explicitly.
// You cannot do both.
// If both the x-amz-copy-source-if-none-match and x-amz-copy-source-if-modified-since
// headers are present in the request and evaluate as follows, Amazon S3 returns
// the 412 Precondition Failed response code:
//
// Server-Side- Encryption-Specific Request Headers
//    * x-amz-copy-source-if-none-match condition evaluates to false
//
// To encrypt the target object, you must provide the appropriate encryption-related
// request headers. The one you use depends on whether you want to use AWS managed
// encryption keys or provide your own encryption key.
//    * x-amz-copy-source-if-modified-since condition evaluates to true
//
//    * To encrypt the target object using server-side encryption with an AWS
//    managed encryption key, provide the following request headers, as appropriate.
//    x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
//    x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms,
//    but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon
//    S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want
//    to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id
//    of the symmetric customer managed CMK. Amazon S3 only supports symmetric
//    CMKs and not asymmetric CMKs. For more information, see Using Symmetric
//    and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
//    in the AWS Key Management Service Developer Guide. All GET and PUT requests
//    for an object protected by AWS KMS fail if you don't make them with SSL
//    or by using SigV4. For more information about server-side encryption with
//    CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side
//    Encryption with CMKs stored in KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
//    * To encrypt the target object using server-side encryption with an encryption
//    key that you provide, use the following headers. x-amz-server-side​-encryption​-customer-algorithm
//    x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5
//
//    * If the source object is encrypted using server-side encryption with
//    customer-provided encryption keys, you must use the following headers.
//    x-amz-copy-source​-server-side​-encryption​-customer-algorithm x-amz-copy-source​-server-side​-encryption​-customer-key
//    x-amz-copy-source-​server-side​-encryption​-customer-key-MD5 For
//    more information about server-side encryption with CMKs stored in AWS
//    KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with CMKs
//    stored in Amazon KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
// All headers with the x-amz- prefix, including x-amz-copy-source, must be
// signed.
//
// Access-Control-List (ACL)-Specific Request Headers
// Encryption
//
// You also can use the following access control–related headers with this
// operation. By default, all objects are private. Only the owner has full access
// control. When adding a new object, you can grant permissions to individual
// The source object that you are copying can be encrypted or unencrypted. The
// source object can be encrypted with server-side encryption using AWS managed
// encryption keys (SSE-S3 or SSE-KMS) or by using a customer-provided encryption
// key. With server-side encryption, Amazon S3 encrypts your data as it writes
// it to disks in its data centers and decrypts the data when you access it.
//
// You can optionally use the appropriate encryption-related headers to request
// server-side encryption for the target object. You have the option to provide
// your own encryption key or use SSE-S3 or SSE-KMS, regardless of the form
// of server-side encryption that was used to encrypt the source object. You
// can even request encryption if the source object was not encrypted. For more
// information about server-side encryption, see Using Server-Side Encryption
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html).
//
// Access Control List (ACL)-Specific Request Headers
//
// When copying an object, you can optionally use headers to grant ACL-based
// permissions. By default, all objects are private. Only the owner has full
// access control. When adding a new object, you can grant permissions to individual
// AWS accounts or to predefined groups defined by Amazon S3. These permissions
// are then added to the access control list (ACL) on the object. For more information,
// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html).
// With this operation, you can grant access permissions using one of the following
// two methods:
// are then added to the ACL on the object. For more information, see Access
// Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html).
//
//    * Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined
//    ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees
//    and permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
// Storage Class Options
//
//    * Specify access permissions explicitly — To explicitly grant access
//    permissions to specific AWS accounts or groups, use the following headers.
//    Each header maps to specific permissions that Amazon S3 supports in an
//    ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
//    In the header, you specify a list of grantees who get the specific permission.
//    To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write
//    x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You
//    specify each grantee as a type=value pair, where the type is one of the
//    following: emailAddress – if the value specified is the email address
//    of an AWS account id – if the value specified is the canonical user
//    ID of an AWS account uri – if you are granting permissions to a predefined
//    group For example, the following x-amz-grant-read header grants the AWS
//    accounts identified by email addresses permissions to read object data
//    and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
// You can use the CopyObject operation to change the storage class of an object
// that is already stored in Amazon S3 using the StorageClass parameter. For
// more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
// in the Amazon S3 Service Developer Guide.
//
// Versioning
//
// By default, x-amz-copy-source identifies the current version of an object
// to copy. If the current version is a delete marker, Amazon S3 behaves as
// if the object was deleted. To copy a different version, use the versionId
// subresource.
//
// If you enable versioning on the target bucket, Amazon S3 generates a unique
// version ID for the object being copied. This version ID is different from
// the version ID of the source object. Amazon S3 returns the version ID of
// the copied object in the x-amz-version-id response header in the response.
//
// If you do not enable versioning or suspend it on the target bucket, the version
// ID that Amazon S3 generates is always null.
//
// If the source object's storage class is GLACIER, you must restore a copy
// of this object before you can use it as a source object for the copy operation.
// For more information, see .
//
// The following operations are related to CopyObject:
//


@@ 581,8 541,8 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
// can optionally specify a Region in the request body. You might choose a Region
// to optimize latency, minimize costs, or address regulatory requirements.
// For example, if you reside in Europe, you will probably find it advantageous
// to create buckets in the EU (Ireland) Region. For more information, see How
// to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro).
// to create buckets in the Europe (Ireland) Region. For more information, see
// How to Select a Region for Your Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingBucket.html#access-bucket-intro).
//
// If you send your create bucket request to the s3.amazonaws.com endpoint,
// the request goes to the us-east-1 Region. Accordingly, the signature calculations


@@ 608,12 568,19 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
//    in an ACL. For more information, see Access Control List (ACL) Overview
//    (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). You
//    specify each grantee as a type=value pair, where the type is one of the
//    following: emailAddress – if the value specified is the email address
//    of an AWS account id – if the value specified is the canonical user
//    ID of an AWS account uri – if you are granting permissions to a predefined
//    group For example, the following x-amz-grant-read header grants the AWS
//    accounts identified by email addresses permissions to read object data
//    and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
//    following: id – if the value specified is the canonical user ID of an
//    AWS account uri – if you are granting permissions to a predefined group
//    emailAddress – if the value specified is the email address of an AWS
//    account Using email addresses to specify a grantee is only supported in
//    the following AWS Regions: US East (N. Virginia) US West (N. California)
//    US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific
//    (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all
//    the Amazon S3 supported Regions and endpoints, see Regions and Endpoints
//    (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in
//    the AWS General Reference. For example, the following x-amz-grant-read
//    header grants the AWS accounts identified by account IDs permissions to
//    read object data and its metadata: x-amz-grant-read: id="11112222333",
//    id="444455556666"
//
// You can use either a canned ACL or specify access permissions explicitly.
// You cannot do both.


@@ 832,12 799,19 @@ func (c *S3) CreateMultipartUploadRequest(input *CreateMultipartUploadInput) (re
//    To grant permissions explicitly, use: x-amz-grant-read x-amz-grant-write
//    x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You
//    specify each grantee as a type=value pair, where the type is one of the
//    following: emailAddress – if the value specified is the email address
//    of an AWS account id – if the value specified is the canonical user
//    ID of an AWS account uri – if you are granting permissions to a predefined
//    group For example, the following x-amz-grant-read header grants the AWS
//    accounts identified by email addresses permissions to read object data
//    and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
//    following: id – if the value specified is the canonical user ID of an
//    AWS account uri – if you are granting permissions to a predefined group
//    emailAddress – if the value specified is the email address of an AWS
//    account Using email addresses to specify a grantee is only supported in
//    the following AWS Regions: US East (N. Virginia) US West (N. California)
//    US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific
//    (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all
//    the Amazon S3 supported Regions and endpoints, see Regions and Endpoints
//    (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in
//    the AWS General Reference. For example, the following x-amz-grant-read
//    header grants the AWS accounts identified by account IDs permissions to
//    read object data and its metadata: x-amz-grant-read: id="11112222333",
//    id="444455556666"
//
// The following operations are related to CreateMultipartUpload:
//


@@ 1012,7 986,7 @@ func (c *S3) DeleteBucketAnalyticsConfigurationRequest(input *DeleteBucketAnalyt
// To use this operation, you must have permissions to perform the s3:PutAnalyticsConfiguration
// action. The bucket owner has this permission by default. The bucket owner
// can grant this permission to others. For more information about permissions,
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html).
//
// For information about the Amazon S3 analytics feature, see Amazon S3 Analytics


@@ 1189,14 1163,14 @@ func (c *S3) DeleteBucketEncryptionRequest(input *DeleteBucketEncryptionInput) (
//
// This implementation of the DELETE operation removes default encryption from
// the bucket. For information about the Amazon S3 default encryption feature,
// see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev//bucket-encryption.html)
// see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// To use this operation, you must have permissions to perform the s3:PutEncryptionConfiguration
// action. The bucket owner has this permission by default. The bucket owner
// can grant this permission to others. For more information about permissions,
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html)
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// Related Resources


@@ 2112,6 2086,10 @@ func (c *S3) DeleteObjectsRequest(input *DeleteObjectsInput) (req *request.Reque

	output = &DeleteObjectsOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 2239,7 2217,7 @@ func (c *S3) DeletePublicAccessBlockRequest(input *DeletePublicAccessBlockInput)
// Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html).
//
// The following operations are related to DeleteBucketMetricsConfiguration:
// The following operations are related to DeletePublicAccessBlock:
//
//    * Using Amazon S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)
//


@@ 2329,8 2307,8 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC
// To use this operation, you must have permission to perform the s3:GetAccelerateConfiguration
// action. The bucket owner has this permission by default. The bucket owner
// can grant this permission to others. For more information about permissions,
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html)
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// You set the Transfer Acceleration state of an existing bucket to Enabled


@@ 2341,7 2319,7 @@ func (c *S3) GetBucketAccelerateConfigurationRequest(input *GetBucketAccelerateC
// state if a state has never been set on the bucket.
//
// For more information about transfer acceleration, see Transfer Acceleration
// (https://docs.aws.amazon.com/AmazonS3/latest/dev//transfer-acceleration.html)
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/transfer-acceleration.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// Related Resources


@@ 2997,7 2975,7 @@ func (c *S3) GetBucketLifecycleConfigurationRequest(input *GetBucketLifecycleCon
//    configuration does not exist. HTTP Status Code: 404 Not Found SOAP Fault
//    Code Prefix: Client
//
// The following operations are related to DeleteBucketMetricsConfiguration:
// The following operations are related to GetBucketLifecycleConfiguration:
//
//    * GetBucketLifecycle
//


@@ 6430,6 6408,10 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
	output = &PutBucketAclOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 6473,14 6455,20 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
//    Amazon S3 supports in an ACL. For more information, see Access Control
//    List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
//    You specify each grantee as a type=value pair, where the type is one of
//    the following: emailAddress – if the value specified is the email address
//    of an AWS account id – if the value specified is the canonical user
//    ID of an AWS account uri – if you are granting permissions to a predefined
//    group For example, the following x-amz-grant-write header grants create,
//    overwrite, and delete objects permission to LogDelivery group predefined
//    by Amazon S3 and two AWS accounts identified by their email addresses.
//    x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
//    emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
//    the following: id – if the value specified is the canonical user ID
//    of an AWS account uri – if you are granting permissions to a predefined
//    group emailAddress – if the value specified is the email address of
//    an AWS account Using email addresses to specify a grantee is only supported
//    in the following AWS Regions: US East (N. Virginia) US West (N. California)
//    US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific
//    (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all
//    the Amazon S3 supported Regions and endpoints, see Regions and Endpoints
//    (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in
//    the AWS General Reference. For example, the following x-amz-grant-write
//    header grants create, overwrite, and delete objects permission to LogDelivery
//    group predefined by Amazon S3 and two AWS accounts identified by their
//    email addresses. x-amz-grant-write: uri="http://acs.amazonaws.com/groups/s3/LogDelivery",
//    id="111122223333", id="555566667777"
//
// You can use either a canned ACL or specify access permissions explicitly.
// You cannot do both.


@@ 6490,11 6478,6 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
// You can specify the person (grantee) to whom you're assigning access rights
// (using request elements) in the following ways:
//
//    * By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>
//    The grantee is resolved to the CanonicalUser and, in a response to a GET
//    Object acl request, appears as the CanonicalUser.
//
//    * By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
//    </Grantee> DisplayName is optional and ignored in the request


@@ 6502,6 6485,17 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
//    * By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>
//
//    * By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>
//    The grantee is resolved to the CanonicalUser and, in a response to a GET
//    Object acl request, appears as the CanonicalUser. Using email addresses
//    to specify a grantee is only supported in the following AWS Regions: US
//    East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific
//    (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland)
//    South America (São Paulo) For a list of all the Amazon S3 supported Regions
//    and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
//    in the AWS General Reference.
//
// Related Resources
//
//    * CreateBucket


@@ 6697,6 6691,10 @@ func (c *S3) PutBucketCorsRequest(input *PutBucketCorsInput) (req *request.Reque
	output = &PutBucketCorsOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 6814,6 6812,10 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r
	output = &PutBucketEncryptionOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 6824,7 6826,8 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r
//
// This implementation of the PUT operation sets default encryption for a bucket
// using server-side encryption with Amazon S3-managed keys SSE-S3 or AWS KMS
// customer master keys (CMKs) (SSE-KMS).
// customer master keys (CMKs) (SSE-KMS). For information about the Amazon S3
// default encryption feature, see Amazon S3 Default Bucket Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html).
//
// This operation requires AWS Signature Version 4. For more information, see
// Authenticating Requests (AWS Signature Version 4) (sig-v4-authenticating-requests.html).


@@ 6929,19 6932,19 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon
// bucket where you want the inventory to be stored, and whether to generate
// the inventory daily or weekly. You can also configure what object metadata
// to include and whether to inventory all object versions or only current versions.
// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev//storage-inventory.html)
// For more information, see Amazon S3 Inventory (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-inventory.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// You must create a bucket policy on the destination bucket to grant permissions
// to Amazon S3 to write objects to the bucket in the defined location. For
// an example policy, see Granting Permissions for Amazon S3 Inventory and Storage
// Class Analysis. (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9)
// Class Analysis (https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html#example-bucket-policies-use-case-9).
//
// To use this operation, you must have permissions to perform the s3:PutInventoryConfiguration
// action. The bucket owner has this permission by default and can grant this
// permission to others. For more information about permissions, see Permissions
// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html)
// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// Special Errors


@@ 6954,7 6957,7 @@ func (c *S3) PutBucketInventoryConfigurationRequest(input *PutBucketInventoryCon
//
//    * HTTP 403 Forbidden Error Code: AccessDenied Cause: You are not the owner
//    of the specified bucket, or you do not have the s3:PutInventoryConfiguration
//    bucket permission to set the configuration on the bucket
//    bucket permission to set the configuration on the bucket.
//
// Related Resources
//


@@ 7037,6 7040,10 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req
	output = &PutBucketLifecycleOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 7049,7 7056,7 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req
//
// Creates a new lifecycle configuration for the bucket or replaces an existing
// lifecycle configuration. For information about lifecycle configuration, see
// Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev//object-lifecycle-mgmt.html)
// Object Lifecycle Management (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lifecycle-mgmt.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// By default, all Amazon S3 resources, including buckets, objects, and related


@@ 7071,11 7078,11 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req
//    * s3:PutLifecycleConfiguration
//
// For more information about permissions, see Managing Access Permissions to
// your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html)
// your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// For more examples of transitioning objects to storage classes such as STANDARD_IA
// or ONEZONE_IA, see Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev//intro-lifecycle-rules.html#lifecycle-configuration-examples).
// or ONEZONE_IA, see Examples of Lifecycle Configuration (https://docs.aws.amazon.com/AmazonS3/latest/dev/intro-lifecycle-rules.html#lifecycle-configuration-examples).
//
// Related Resources
//


@@ 7089,8 7096,8 @@ func (c *S3) PutBucketLifecycleRequest(input *PutBucketLifecycleInput) (req *req
//    the AWS account that created the bucket—can perform any of the operations.
//    A resource owner can also grant others permission to perform the operation.
//    For more information, see the following topics in the Amazon Simple Storage
//    Service Developer Guide: Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev//using-with-s3-actions.html)
//    Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev//s3-access-control.html)
//    Service Developer Guide: Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
//    Managing Access Permissions to your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about


@@ 7164,6 7171,10 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon
	output = &PutBucketLifecycleConfigurationOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 7301,6 7312,10 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request
	output = &PutBucketLoggingOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 7528,6 7543,10 @@ func (c *S3) PutBucketNotificationRequest(input *PutBucketNotificationInput) (re
	output = &PutBucketNotificationOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 7730,6 7749,10 @@ func (c *S3) PutBucketPolicyRequest(input *PutBucketPolicyInput) (req *request.R
	output = &PutBucketPolicyOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 7826,6 7849,10 @@ func (c *S3) PutBucketReplicationRequest(input *PutBucketReplicationInput) (req 
	output = &PutBucketReplicationOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 7950,6 7977,10 @@ func (c *S3) PutBucketRequestPaymentRequest(input *PutBucketRequestPaymentInput)
	output = &PutBucketRequestPaymentOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 8035,6 8066,10 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request
	output = &PutBucketTaggingOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 8065,8 8100,8 @@ func (c *S3) PutBucketTaggingRequest(input *PutBucketTaggingInput) (req *request
//    * Error code: InvalidTagError Description: The tag provided was not a
//    valid tag. This error can occur if the tag did not pass input validation.
//    For information about tag restrictions, see User-Defined Tag Restrictions
//    (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//allocation-tag-restrictions.html)
//    and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2//aws-tag-restrictions.html).
//    (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/allocation-tag-restrictions.html)
//    and AWS-Generated Cost Allocation Tag Restrictions (https://docs.aws.amazon.com/awsaccountbilling/latest/aboutv2/aws-tag-restrictions.html).
//
//    * Error code: MalformedXMLError Description: The XML provided does not
//    match the schema.


@@ 8151,6 8186,10 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r
	output = &PutBucketVersioningOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 8259,6 8298,10 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request
	output = &PutBucketWebsiteOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 8326,6 8369,11 @@ func (c *S3) PutBucketWebsiteRequest(input *PutBucketWebsiteInput) (req *request
//
//    * HttpRedirectCode
//
// Amazon S3 has a limitation of 50 routing rules per website configuration.
// If you require more than 50 routing rules, you can use object redirect. For
// more information, see Configuring an Object Redirect (https://docs.aws.amazon.com/AmazonS3/latest/dev/how-to-page-redirect.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.


@@ 8415,12 8463,12 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// you can calculate the MD5 while putting an object to Amazon S3 and compare
// the returned ETag to the calculated MD5 value.
//
// To configure your application to send the request headers before sending
// the request body, use the 100-continue HTTP status code. For PUT operations,
// this helps you avoid sending the message body if the message is rejected
// based on the headers (for example, because authentication fails or a redirect
// occurs). For more information on the 100-continue HTTP status code, see Section
// 8.2.3 of http://www.ietf.org/rfc/rfc2616.txt (http://www.ietf.org/rfc/rfc2616.txt).
// The Content-MD5 header is required for any request to upload an object with
// a retention period configured using Amazon S3 Object Lock. For more information
// about Amazon S3 Object Lock, see Amazon S3 Object Lock Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock-overview.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// Server-side Encryption
//
// You can optionally request server-side encryption. With server-side encryption,
// Amazon S3 encrypts your data as it writes it to disks in its data centers


@@ 8428,143 8476,34 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// your own encryption key or use AWS managed encryption keys. For more information,
// see Using Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingServerSideEncryption.html).
//
// Access Permissions
//
// You can optionally specify the accounts or groups that should be granted
// specific permissions on the new object. There are two ways to grant the permissions
// using the request headers:
//
//    * Specify a canned ACL with the x-amz-acl request header. For more information,
//    see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
//
//    * Specify access permissions explicitly with the x-amz-grant-read, x-amz-grant-read-acp,
//    x-amz-grant-write-acp, and x-amz-grant-full-control headers. These parameters
//    map to the set of permissions that Amazon S3 supports in an ACL. For more
//    information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
//
// You can use either a canned ACL or specify access permissions explicitly.
// You cannot do both.
//
// Server-Side- Encryption-Specific Request Headers
//
// You can optionally tell Amazon S3 to encrypt data at rest using server-side
// encryption. Server-side encryption is for data encryption at rest. Amazon
// S3 encrypts your data as it writes it to disks in its data centers and decrypts
// it when you access it. The option you use depends on whether you want to
// use AWS managed encryption keys or provide your own encryption key.
//
//    * Use encryption keys managed by Amazon S3 or customer master keys (CMKs)
//    stored in AWS Key Management Service (AWS KMS) – If you want AWS to
//    manage the keys used to encrypt data, specify the following headers in
//    the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
//    x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms,
//    but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon
//    S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want
//    to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id
//    of the symmetric customer managed CMK. Amazon S3 only supports symmetric
//    CMKs and not asymmetric CMKs. For more information, see Using Symmetric
//    and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
//    in the AWS Key Management Service Developer Guide. All GET and PUT requests
//    for an object protected by AWS KMS fail if you don't make them with SSL
//    or by using SigV4. For more information about server-side encryption with
//    CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side
//    Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
//    * Use customer-provided encryption keys – If you want to manage your
//    own encryption keys, provide all the following headers in the request.
//    x-amz-server-side​-encryption​-customer-algorithm x-amz-server-side​-encryption​-customer-key
//    x-amz-server-side​-encryption​-customer-key-MD5 For more information
//    about server-side encryption with CMKs stored in KMS (SSE-KMS), see Protecting
//    Data Using Server-Side Encryption with CMKs stored in AWS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
// Access-Control-List (ACL)-Specific Request Headers
//
// You also can use the following access control–related headers with this
// operation. By default, all objects are private. Only the owner has full access
// control. When adding a new object, you can grant permissions to individual
// AWS accounts or to predefined groups defined by Amazon S3. These permissions
// are then added to the Access Control List (ACL) on the object. For more information,
// see Using ACLs (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3_ACLs_UsingACLs.html).
// With this operation, you can grant access permissions using one of the following
// two methods:
//
//    * Specify a canned ACL (x-amz-acl) — Amazon S3 supports a set of predefined
//    ACLs, known as canned ACLs. Each canned ACL has a predefined set of grantees
//    and permissions. For more information, see Canned ACL (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html#CannedACL).
//
//    * Specify access permissions explicitly — To explicitly grant access
//    permissions to specific AWS accounts or groups, use the following headers.
//    Each header maps to specific permissions that Amazon S3 supports in an
//    ACL. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
//    In the header, you specify a list of grantees who get the specific permission.
//    To grant permissions explicitly use: x-amz-grant-read x-amz-grant-write
//    x-amz-grant-read-acp x-amz-grant-write-acp x-amz-grant-full-control You
//    specify each grantee as a type=value pair, where the type is one of the
//    following: emailAddress – if the value specified is the email address
//    of an AWS account Using email addresses to specify a grantee is only supported
//    in the following AWS Regions: US East (N. Virginia) US West (N. California)
//    US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific
//    (Tokyo) EU (Ireland) South America (São Paulo) For a list of all the
//    Amazon S3 supported Regions and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
//    in the AWS General Reference id – if the value specified is the canonical
//    user ID of an AWS account uri – if you are granting permissions to a
//    predefined group For example, the following x-amz-grant-read header grants
//    the AWS accounts identified by email addresses permissions to read object
//    data and its metadata: x-amz-grant-read: emailAddress="xyz@amazon.com",
//    emailAddress="abc@amazon.com"
//
// Server-Side- Encryption-Specific Request Headers
//
// You can optionally tell Amazon S3 to encrypt data at rest using server-side
// encryption. Server-side encryption is for data encryption at rest. Amazon
// S3 encrypts your data as it writes it to disks in its data centers and decrypts
// it when you access it. The option you use depends on whether you want to
// use AWS-managed encryption keys or provide your own encryption key.
// Access Control List (ACL)-Specific Request Headers
//
//    * Use encryption keys managed by Amazon S3 or customer master keys (CMKs)
//    stored in AWS Key Management Service (AWS KMS) – If you want AWS to
//    manage the keys used to encrypt data, specify the following headers in
//    the request. x-amz-server-side​-encryption x-amz-server-side-encryption-aws-kms-key-id
//    x-amz-server-side-encryption-context If you specify x-amz-server-side-encryption:aws:kms,
//    but don't provide x-amz-server-side-encryption-aws-kms-key-id, Amazon
//    S3 uses the AWS managed CMK in AWS KMS to protect the data. If you want
//    to use a customer managed AWS KMS CMK, you must provide the x-amz-server-side-encryption-aws-kms-key-id
//    of the symmetric customer managed CMK. Amazon S3 only supports symmetric
//    CMKs and not asymmetric CMKs. For more information, see Using Symmetric
//    and Asymmetric Keys (https://docs.aws.amazon.com/kms/latest/developerguide/symmetric-asymmetric.html)
//    in the AWS Key Management Service Developer Guide. All GET and PUT requests
//    for an object protected by AWS KMS fail if you don't make them with SSL
//    or by using SigV4. For more information about server-side encryption with
//    CMKs stored in AWS KMS (SSE-KMS), see Protecting Data Using Server-Side
//    Encryption with CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
//
//    * Use customer-provided encryption keys – If you want to manage your
//    own encryption keys, provide all the following headers in the request.
//    If you use this feature, the ETag value that Amazon S3 returns in the
//    response is not the MD5 of the object. x-amz-server-side​-encryption​-customer-algorithm
//    x-amz-server-side​-encryption​-customer-key x-amz-server-side​-encryption​-customer-key-MD5
//    For more information about server-side encryption with CMKs stored in
//    AWS KMS (SSE-KMS), see Protecting Data Using Server-Side Encryption with
//    CMKs stored in AWS KMS (https://docs.aws.amazon.com/AmazonS3/latest/dev/UsingKMSEncryption.html).
// You can use headers to grant ACL- based permissions. By default, all objects
// are private. Only the owner has full access control. When adding a new object,
// you can grant permissions to individual AWS accounts or to predefined groups
// defined by Amazon S3. These permissions are then added to the ACL on the
// object. For more information, see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html).
//
// Storage Class Options
//
// By default, Amazon S3 uses the Standard storage class to store newly created
// objects. The Standard storage class provides high durability and high availability.
// You can specify other storage classes depending on the performance needs.
// By default, Amazon S3 uses the STANDARD storage class to store newly created
// objects. The STANDARD storage class provides high durability and high availability.
// Depending on performance needs, you can specify a different storage class.
// For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html)
// in the Amazon Simple Storage Service Developer Guide.
// in the Amazon S3 Service Developer Guide.
//
// Versioning
//
// If you enable versioning for a bucket, Amazon S3 automatically generates
// a unique version ID for the object being stored. Amazon S3 returns this ID
// in the response using the x-amz-version-id response header. If versioning
// is suspended, Amazon S3 always uses null as the version ID for the object
// stored. For more information about returning the versioning state of a bucket,
// see GetBucketVersioning. If you enable versioning for a bucket, when Amazon
// S3 receives multiple write requests for the same object simultaneously, it
// stores all of the objects.
// in the response. When you enable versioning for a bucket, if Amazon S3 receives
// multiple write requests for the same object simultaneously, it stores all
// of the objects.
//
// For more information about versioning, see Adding Objects to Versioning Enabled
// Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/AddingObjectstoVersioningEnabledBuckets.html).
// For information about returning the versioning state of a bucket, see GetBucketVersioning.
//
// Related Resources
//


@@ 8639,6 8578,10 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request

	output = &PutObjectAclOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 8651,7 8594,9 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
// Depending on your application needs, you can choose to set the ACL on an
// object using either the request body or the headers. For example, if you
// have an existing application that updates a bucket ACL using the request
// body, you can continue to use that approach.
// body, you can continue to use that approach. For more information, see Access
// Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// in the Amazon S3 Developer Guide.
//
// Access Permissions
//


@@ 8673,12 8618,19 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
//    S3 supports in an ACL. For more information, see Access Control List (ACL)
//    Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html).
//    You specify each grantee as a type=value pair, where the type is one of
//    the following: emailAddress – if the value specified is the email address
//    of an AWS account id – if the value specified is the canonical user
//    ID of an AWS account uri – if you are granting permissions to a predefined
//    group For example, the following x-amz-grant-read header grants list objects
//    permission to the two AWS accounts identified by their email addresses.
//    x-amz-grant-read: emailAddress="xyz@amazon.com", emailAddress="abc@amazon.com"
//    the following: id – if the value specified is the canonical user ID
//    of an AWS account uri – if you are granting permissions to a predefined
//    group emailAddress – if the value specified is the email address of
//    an AWS account Using email addresses to specify a grantee is only supported
//    in the following AWS Regions: US East (N. Virginia) US West (N. California)
//    US West (Oregon) Asia Pacific (Singapore) Asia Pacific (Sydney) Asia Pacific
//    (Tokyo) Europe (Ireland) South America (São Paulo) For a list of all
//    the Amazon S3 supported Regions and endpoints, see Regions and Endpoints
//    (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region) in
//    the AWS General Reference. For example, the following x-amz-grant-read
//    header grants list objects permission to the two AWS accounts identified
//    by their email addresses. x-amz-grant-read: emailAddress="xyz@amazon.com",
//    emailAddress="abc@amazon.com"
//
// You can use either a canned ACL or specify access permissions explicitly.
// You cannot do both.


@@ 8688,11 8640,6 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
// You can specify the person (grantee) to whom you're assigning access rights
// (using request elements) in the following ways:
//
//    * By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>
//    The grantee is resolved to the CanonicalUser and, in a response to a GET
//    Object acl request, appears as the CanonicalUser.
//
//    * By the person's ID: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="CanonicalUser"><ID><>ID<></ID><DisplayName><>GranteesEmail<></DisplayName>
//    </Grantee> DisplayName is optional and ignored in the request.


@@ 8700,6 8647,17 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
//    * By URI: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="Group"><URI><>http://acs.amazonaws.com/groups/global/AuthenticatedUsers<></URI></Grantee>
//
//    * By Email address: <Grantee xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
//    xsi:type="AmazonCustomerByEmail"><EmailAddress><>Grantees@email.com<></EmailAddress>lt;/Grantee>
//    The grantee is resolved to the CanonicalUser and, in a response to a GET
//    Object acl request, appears as the CanonicalUser. Using email addresses
//    to specify a grantee is only supported in the following AWS Regions: US
//    East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific
//    (Singapore) Asia Pacific (Sydney) Asia Pacific (Tokyo) Europe (Ireland)
//    South America (São Paulo) For a list of all the Amazon S3 supported Regions
//    and endpoints, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
//    in the AWS General Reference.
//
// Versioning
//
// The ACL of an object is set at the object version level. By default, PUT


@@ 8784,6 8742,10 @@ func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *req

	output = &PutObjectLegalHoldOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 8862,6 8824,10 @@ func (c *S3) PutObjectLockConfigurationRequest(input *PutObjectLockConfiguration

	output = &PutObjectLockConfigurationOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 8945,6 8911,10 @@ func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *req

	output = &PutObjectRetentionOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 9023,12 8993,16 @@ func (c *S3) PutObjectTaggingRequest(input *PutObjectTaggingInput) (req *request

	output = &PutObjectTaggingOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}

// PutObjectTagging API operation for Amazon Simple Storage Service.
//
// Sets the supplied tag-set to an object that already exists in a bucket
// Sets the supplied tag-set to an object that already exists in a bucket.
//
// A tag is a key-value pair. You can associate tags with an object by sending
// a PUT request against the tagging subresource that is associated with the


@@ 9135,6 9109,10 @@ func (c *S3) PutPublicAccessBlockRequest(input *PutPublicAccessBlockInput) (req 
	output = &PutPublicAccessBlockOutput{}
	req = c.newRequest(op, input, output)
	req.Handlers.Unmarshal.Swap(restxml.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
	req.Handlers.Build.PushBackNamed(request.NamedHandler{
		Name: "contentMd5Handler",
		Fn:   checksum.AddBodyContentMD5Handler,
	})
	return
}



@@ 9246,9 9224,9 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//    * restore an archive - Restore an archived object
//
// To use this operation, you must have permissions to perform the s3:RestoreObject
// and s3:GetObject actions. The bucket owner has this permission by default
// and can grant this permission to others. For more information about permissions,
// see Permissions Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// action. The bucket owner has this permission by default and can grant this
// permission to others. For more information about permissions, see Permissions
// Related to Bucket Subresource Operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-bucket-subresources)
// and Managing Access Permissions to Your Amazon S3 Resources (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)
// in the Amazon Simple Storage Service Developer Guide.
//


@@ 9290,8 9268,8 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//    the query.) You cannot mix ordinal positions with header column names.
//    SELECT s.Id, s.FirstName, s.SSN FROM S3Object s
//
// For more information about using SQL with Glacier Select restore, see SQL
// Reference for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// For more information about using SQL with S3 Glacier Select restore, see
// SQL Reference for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// When making a select request, you can also do the following:


@@ 9344,12 9322,12 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//    retrievals and provisioned capacity are not available for the DEEP_ARCHIVE
//    storage class.
//
//    * Standard - Standard retrievals allow you to access any of your archived
//    * Standard - S3 Standard retrievals allow you to access any of your archived
//    objects within several hours. This is the default option for the GLACIER
//    and DEEP_ARCHIVE retrieval requests that do not specify the retrieval
//    option. Standard retrievals typically complete within 3-5 hours from the
//    GLACIER storage class and typically complete within 12 hours from the
//    DEEP_ARCHIVE storage class.
//    option. S3 Standard retrievals typically complete within 3-5 hours from
//    the GLACIER storage class and typically complete within 12 hours from
//    the DEEP_ARCHIVE storage class.
//
//    * Bulk - Bulk retrievals are Amazon S3 Glacier’s lowest-cost retrieval
//    option, enabling you to retrieve large amounts, even petabytes, of data


@@ 9408,10 9386,10 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//    (This error does not apply to SELECT type requests.) HTTP Status Code:
//    409 Conflict SOAP Fault Code Prefix: Client
//
//    * Code: GlacierExpeditedRetrievalNotAvailable Cause: Glacier expedited
//    * Code: GlacierExpeditedRetrievalNotAvailable Cause: S3 Glacier expedited
//    retrievals are currently not available. Try again later. (Returned if
//    there is insufficient capacity to process the Expedited request. This
//    error applies only to Expedited retrievals and not to Standard or Bulk
//    error applies only to Expedited retrievals and not to S3 Standard or Bulk
//    retrievals.) HTTP Status Code: 503 SOAP Fault Code Prefix: N/A
//
// Related Resources


@@ 9420,7 9398,7 @@ func (c *S3) RestoreObjectRequest(input *RestoreObjectInput) (req *request.Reque
//
//    * GetBucketNotificationConfiguration
//
//    * SQL Reference for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
//    * SQL Reference for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
//    in the Amazon Simple Storage Service Developer Guide
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions


@@ 9522,7 9500,7 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r
// in the Amazon Simple Storage Service Developer Guide.
//
// For more information about using SQL with Amazon S3 Select, see SQL Reference
// for Amazon S3 Select and Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// for Amazon S3 Select and S3 Glacier Select (https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-glacier-select-sql-reference.html)
// in the Amazon Simple Storage Service Developer Guide.
//
// Permissions


@@ 9572,8 9550,8 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r
// The SelectObjectContent operation does not support the following GetObject
// functionality. For more information, see GetObject.
//
//    * Range: While you can specify a scan range for a Amazon S3 Select request,
//    see SelectObjectContentRequest$ScanRange in the request parameters below,
//    * Range: Although you can specify a scan range for an Amazon S3 Select
//    request (see SelectObjectContentRequest$ScanRange in the request parameters),
//    you cannot specify the range of bytes of an object to return.
//
//    * GLACIER, DEEP_ARCHIVE and REDUCED_REDUNDANCY storage classes: You cannot


@@ 9583,8 9561,7 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r
//
// Special Errors
//
// For a list of special errors for this operation and for general information
// about Amazon S3 errors and a list of error codes, see ErrorResponses
// For a list of special errors for this operation, see SelectObjectContentErrorCodeList
//
// Related Resources
//


@@ 9622,6 9599,8 @@ func (c *S3) SelectObjectContentWithContext(ctx aws.Context, input *SelectObject
	return out, req.Send()
}

var _ awserr.Error

// SelectObjectContentEventStream provides the event stream handling for the SelectObjectContent.
type SelectObjectContentEventStream struct {



@@ 9696,6 9675,7 @@ func (es *SelectObjectContentEventStream) waitStreamPartClose() {
//     * ProgressEvent
//     * RecordsEvent
//     * StatsEvent
//     * SelectObjectContentEventStreamUnknownEvent
func (es *SelectObjectContentEventStream) Events() <-chan SelectObjectContentEventStreamEvent {
	return es.Reader.Events()
}


@@ 10615,8 10595,11 @@ type AnalyticsS3BucketDestination struct {
	// Bucket is a required field
	Bucket *string `type:"string" required:"true"`

	// The account ID that owns the destination bucket. If no account ID is provided,
	// the owner will not be validated prior to exporting data.
	// The account ID that owns the destination S3 bucket. If no account ID is provided,
	// the owner is not validated before exporting data.
	//
	// Although this value is optional, we strongly recommend that you set it to
	// help prevent problems if the destination bucket ownership changes.
	BucketAccountId *string `type:"string"`

	// Specifies the file format used when exporting data to Amazon S3.


@@ 11578,6 11561,8 @@ func (s *ContinuationEvent) UnmarshalEvent(
	return nil
}

// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ContinuationEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
	msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
	return msg, err


@@ 14575,9 14560,9 @@ type Destination struct {
	// must be replicated. Must be specified together with a Metrics block.
	ReplicationTime *ReplicationTime `type:"structure"`

	// The storage class to use when replicating objects, such as standard or reduced
	// redundancy. By default, Amazon S3 uses the storage class of the source object
	// to create the object replica.
	// The storage class to use when replicating objects, such as S3 Standard or
	// reduced redundancy. By default, Amazon S3 uses the storage class of the source
	// object to create the object replica.
	//
	// For valid values, see the StorageClass element of the PUT Bucket replication
	// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTreplication.html)


@@ 14794,6 14779,8 @@ func (s *EndEvent) UnmarshalEvent(
	return nil
}

// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *EndEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
	msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
	return msg, err


@@ 16110,6 16097,7 @@ type GetBucketLocationOutput struct {

	// Specifies the Region where the bucket resides. For a list of all the Amazon
	// S3 supported location constraints by Region, see Regions and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region).
	// Buckets in Region us-east-1 have a LocationConstraint of null.
	LocationConstraint *string `type:"string" enum:"BucketLocationConstraint"`
}



@@ 16319,7 16307,7 @@ func (s *GetBucketMetricsConfigurationOutput) SetMetricsConfiguration(v *Metrics
type GetBucketNotificationConfigurationRequest struct {
	_ struct{} `locationName:"GetBucketNotificationConfigurationRequest" type:"structure"`

	// Name of the bucket for which to get the notification configuration
	// Name of the bucket for which to get the notification configuration.
	//
	// Bucket is a required field
	Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`


@@ 16967,10 16955,10 @@ func (s *GetBucketWebsiteInput) hasEndpointARN() bool {
type GetBucketWebsiteOutput struct {
	_ struct{} `type:"structure"`

	// The name of the error document for the website.
	// The object key name of the website error document to use for 4XX class errors.
	ErrorDocument *ErrorDocument `type:"structure"`

	// The name of the index document for the website.
	// The name of the index document for the website (for example index.html).
	IndexDocument *IndexDocument `type:"structure"`

	// Specifies the redirect behavior of all requests to a website endpoint of


@@ 17207,7 17195,10 @@ type GetObjectInput struct {
	PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`

	// Downloads the specified range bytes of an object. For more information about
	// the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
	// the HTTP Range header, see https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
	// (https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35).
	//
	// Amazon S3 doesn't support retrieving multiple ranges of data per GET request.
	Range *string `location:"header" locationName:"Range" type:"string"`

	// Confirms that the requester knows that they will be charged for the request.


@@ 17756,7 17747,7 @@ type GetObjectOutput struct {
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`

	// Provides storage class information of the object. Amazon S3 returns this
	// header for all objects except for Standard storage class objects.
	// header for all objects except for S3 Standard storage class objects.
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`

	// The number of tags, if any, on the object.


@@ 18441,11 18432,11 @@ func (s *GetPublicAccessBlockOutput) SetPublicAccessBlockConfiguration(v *Public
	return s
}

// Container for Glacier job parameters.
// Container for S3 Glacier job parameters.
type GlacierJobParameters struct {
	_ struct{} `type:"structure"`

	// Glacier retrieval tier at which the restore will be processed.
	// S3 Glacier retrieval tier at which the restore will be processed.
	//
	// Tier is a required field
	Tier *string `type:"string" required:"true" enum:"Tier"`


@@ 18536,6 18527,29 @@ type Grantee struct {
	DisplayName *string `type:"string"`

	// Email address of the grantee.
	//
	// Using email addresses to specify a grantee is only supported in the following
	// AWS Regions:
	//
	//    * US East (N. Virginia)
	//
	//    * US West (N. California)
	//
	//    * US West (Oregon)
	//
	//    * Asia Pacific (Singapore)
	//
	//    * Asia Pacific (Sydney)
	//
	//    * Asia Pacific (Tokyo)
	//
	//    * Europe (Ireland)
	//
	//    * South America (São Paulo)
	//
	// For a list of all the Amazon S3 supported Regions and endpoints, see Regions
	// and Endpoints (https://docs.aws.amazon.com/general/latest/gr/rande.html#s3_region)
	// in the AWS General Reference.
	EmailAddress *string `type:"string"`

	// The canonical user ID of the grantee.


@@ 18716,6 18730,8 @@ type HeadObjectInput struct {

	// Downloads the specified range bytes of an object. For more information about
	// the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35.
	//
	// Amazon S3 doesn't support retrieving multiple ranges of data per GET request.
	Range *string `location:"header" locationName:"Range" type:"string"`

	// Confirms that the requester knows that they will be charged for the request.


@@ 19029,7 19045,7 @@ type HeadObjectOutput struct {
	ServerSideEncryption *string `location:"header" locationName:"x-amz-server-side-encryption" type:"string" enum:"ServerSideEncryption"`

	// Provides storage class information of the object. Amazon S3 returns this
	// header for all objects except for Standard storage class objects.
	// header for all objects except for S3 Standard storage class objects.
	//
	// For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html).
	StorageClass *string `location:"header" locationName:"x-amz-storage-class" type:"string" enum:"StorageClass"`


@@ 19624,7 19640,11 @@ func (s *InventoryFilter) SetPrefix(v string) *InventoryFilter {
type InventoryS3BucketDestination struct {
	_ struct{} `type:"structure"`

	// The ID of the account that owns the destination bucket.
	// The account ID that owns the destination S3 bucket. If no account ID is provided,
	// the owner is not validated before exporting data.
	//
	// Although this value is optional, we strongly recommend that you set it to
	// help prevent problems if the destination bucket ownership changes.
	AccountId *string `type:"string"`

	// The Amazon Resource Name (ARN) of the bucket where inventory results will


@@ 19781,7 19801,8 @@ func (s *JSONInput) SetType(v string) *JSONInput {
type JSONOutput struct {
	_ struct{} `type:"structure"`

	// The value used to separate individual records in the output.
	// The value used to separate individual records in the output. If no value
	// is specified, Amazon S3 uses a newline character ('\n').
	RecordDelimiter *string `type:"string"`
}



@@ 21017,11 21038,12 @@ type ListObjectVersionsInput struct {
	// Specifies the key to start with when listing objects in a bucket.
	KeyMarker *string `location:"querystring" locationName:"key-marker" type:"string"`

	// Sets the maximum number of keys returned in the response. The response might
	// contain fewer keys but will never contain more. If additional keys satisfy
	// the search criteria, but were not returned because max-keys was exceeded,
	// the response contains <isTruncated>true</isTruncated>. To return the additional
	// keys, see key-marker and version-id-marker.
	// Sets the maximum number of keys returned in the response. By default the
	// API returns up to 1,000 key names. The response might contain fewer keys
	// but will never contain more. If additional keys satisfy the search criteria,
	// but were not returned because max-keys was exceeded, the response contains
	// <isTruncated>true</isTruncated>. To return the additional keys, see key-marker
	// and version-id-marker.
	MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`

	// Use this parameter to select only those keys that begin with the specified


@@ 21298,8 21320,9 @@ type ListObjectsInput struct {
	// Specifies the key to start with when listing objects in a bucket.
	Marker *string `location:"querystring" locationName:"marker" type:"string"`

	// Sets the maximum number of keys returned in the response. The response might
	// contain fewer keys but will never contain more.
	// Sets the maximum number of keys returned in the response. By default the
	// API returns up to 1,000 key names. The response might contain fewer keys
	// but will never contain more.
	MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`

	// Limits the response to keys that begin with the specified prefix.


@@ 21561,8 21584,9 @@ type ListObjectsV2Input struct {
	// true.
	FetchOwner *bool `location:"querystring" locationName:"fetch-owner" type:"boolean"`

	// Sets the maximum number of keys returned in the response. The response might
	// contain fewer keys but will never contain more.
	// Sets the maximum number of keys returned in the response. By default the
	// API returns up to 1,000 key names. The response might contain fewer keys
	// but will never contain more.
	MaxKeys *int64 `location:"querystring" locationName:"max-keys" type:"integer"`

	// Limits the response to keys that begin with the specified prefix.


@@ 21731,8 21755,9 @@ type ListObjectsV2Output struct {
	// result will include less than equals 50 keys
	KeyCount *int64 `type:"integer"`

	// Sets the maximum number of keys returned in the response. The response might
	// contain fewer keys but will never contain more.
	// Sets the maximum number of keys returned in the response. By default the
	// API returns up to 1,000 key names. The response might contain fewer keys
	// but will never contain more.
	MaxKeys *int64 `type:"integer"`

	// Bucket name.


@@ 23530,6 23555,8 @@ func (s *ProgressEvent) UnmarshalEvent(
	return nil
}

// MarshalEvent marshals the type into an stream event value. This method
// should only used internally within the SDK's EventStream handling.
func (s *ProgressEvent) MarshalEvent(pm protocol.PayloadMarshaler) (msg eventstream.Message, err error) {
	msg.Headers.Set(eventstreamapi.MessageTypeHeader, eventstream.StringValue(eventstreamapi.EventMessageType))
	var buf bytes.Buffer


@@ 23976,7 24003,7 @@ type PutBucketCorsInput struct {

	// Describes the cross-origin access configuration for objects in an Amazon
	// S3 bucket. For more information, see Enabling Cross-Origin Resource Sharing
	// (https://docs.aws.amazon.com/AmazonS3/latest/dev//cors.html) in the Amazon
	// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html) in the Amazon
	// Simple Storage Service Developer Guide.
	//
	// CORSConfiguration is a required field


@@ 25767,8 25794,8 @@ type PutObjectInput struct {
	// S3 (for example, AES256, aws:kms).