From a175a5708479b5fa9fda51fe2f2a127b9b20f988 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Fri, 20 May 2022 14:41:02 +0300 Subject: [PATCH 1/3] Makefile: explicitly specify go1.17 compatibility when running `go mod tidy` at `make vendor-update` This is needed because go1.17 is the minimum supported version of Go, which is needed for building VictoriaMetrics --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 45fc269f7..4be9a69a1 100644 --- a/Makefile +++ b/Makefile @@ -257,7 +257,7 @@ benchmark-pure: vendor-update: GO111MODULE=on go get -u -d ./lib/... GO111MODULE=on go get -u -d ./app/... - GO111MODULE=on go mod tidy + GO111MODULE=on go mod tidy -compat=1.17 GO111MODULE=on go mod vendor app-local: From d87733fe1cc7b921583b1ab72316f98d86042334 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Fri, 20 May 2022 14:45:24 +0300 Subject: [PATCH 2/3] vendor: `make vendor-update` --- go.mod | 30 +- go.sum | 438 +- .../go/storage/.release-please-manifest.json | 2 +- vendor/cloud.google.com/go/storage/CHANGES.md | 8 + vendor/cloud.google.com/go/storage/acl.go | 28 +- vendor/cloud.google.com/go/storage/bucket.go | 118 +- vendor/cloud.google.com/go/storage/client.go | 6 +- vendor/cloud.google.com/go/storage/copy.go | 4 +- .../go/storage/grpc_client.go | 327 +- vendor/cloud.google.com/go/storage/hmac.go | 10 +- .../go/storage/http_client.go | 246 +- vendor/cloud.google.com/go/storage/iam.go | 6 +- .../go/storage/internal/version.go | 2 +- vendor/cloud.google.com/go/storage/invoke.go | 38 +- .../go/storage/notifications.go | 6 +- vendor/cloud.google.com/go/storage/reader.go | 14 +- vendor/cloud.google.com/go/storage/storage.go | 59 +- vendor/cloud.google.com/go/storage/writer.go | 31 +- .../github.com/antzucaro/matchr/COPYING.txt | 19 + vendor/github.com/antzucaro/matchr/README.md | 12 + .../antzucaro/matchr/damerau_levenshtein.go | 112 + .../matchr/double_metaphone_corpus.txt.gz | Bin 0 -> 553365 bytes vendor/github.com/antzucaro/matchr/hamming.go | 25 + .../antzucaro/matchr/jarowinkler.go | 135 + .../antzucaro/matchr/levenshtein.go | 48 + .../matchr/longestcommonsubsequence.go | 30 + .../github.com/antzucaro/matchr/metaphone.go | 721 ++++ vendor/github.com/antzucaro/matchr/nysiis.go | 156 + vendor/github.com/antzucaro/matchr/osa.go | 56 + vendor/github.com/antzucaro/matchr/phonex.go | 128 + .../github.com/antzucaro/matchr/runestring.go | 44 + .../antzucaro/matchr/smithwaterman.go | 87 + vendor/github.com/antzucaro/matchr/soundex.go | 72 + vendor/github.com/antzucaro/matchr/utf8.go | 215 + vendor/github.com/antzucaro/matchr/util.go | 119 + .../aws/aws-sdk-go/aws/endpoints/defaults.go | 82 + .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../aws/aws-sdk-go/service/sts/api.go | 6 + vendor/github.com/go-kit/log/README.md | 5 + vendor/github.com/go-kit/log/json_logger.go | 4 +- vendor/github.com/go-kit/log/level/doc.go | 11 + vendor/github.com/go-kit/log/level/level.go | 53 +- vendor/github.com/go-kit/log/staticcheck.conf | 1 + vendor/github.com/google/uuid/.travis.yml | 9 + vendor/github.com/google/uuid/CONTRIBUTING.md | 10 + vendor/github.com/google/uuid/CONTRIBUTORS | 9 + vendor/github.com/google/uuid/LICENSE | 27 + vendor/github.com/google/uuid/README.md | 19 + vendor/github.com/google/uuid/dce.go | 80 + vendor/github.com/google/uuid/doc.go | 12 + vendor/github.com/google/uuid/hash.go | 53 + vendor/github.com/google/uuid/marshal.go | 38 + vendor/github.com/google/uuid/node.go | 90 + vendor/github.com/google/uuid/node_js.go | 12 + vendor/github.com/google/uuid/node_net.go | 33 + vendor/github.com/google/uuid/null.go | 118 + vendor/github.com/google/uuid/sql.go | 59 + vendor/github.com/google/uuid/time.go | 123 + vendor/github.com/google/uuid/util.go | 43 + vendor/github.com/google/uuid/uuid.go | 294 ++ vendor/github.com/google/uuid/version1.go | 44 + vendor/github.com/google/uuid/version4.go | 76 + .../gax-go/v2/.release-please-manifest.json | 3 + .../googleapis/gax-go/v2/CHANGES.md | 18 + .../googleapis/gax-go/v2/apierror/apierror.go | 4 +- .../googleapis/gax-go/v2/call_option.go | 37 + vendor/github.com/googleapis/gax-go/v2/gax.go | 4 +- .../googleapis/gax-go/v2/internal/version.go | 33 + .../gax-go/v2/release-please-config.json | 10 + .../github.com/klauspost/compress/README.md | 4 + .../klauspost/compress/flate/inflate_gen.go | 100 +- .../klauspost/compress/huff0/autogen.go | 5 - .../compress/huff0/decompress_8b_amd64.s | 488 --- .../compress/huff0/decompress_8b_amd64.s.in | 197 - .../compress/huff0/decompress_amd64.go | 95 +- .../compress/huff0/decompress_amd64.s | 982 +++-- .../compress/huff0/decompress_amd64.s.in | 195 - .../klauspost/compress/zstd/decoder.go | 14 +- .../klauspost/compress/zstd/framedec.go | 2 +- .../klauspost/compress/zstd/fuzz.go | 11 - .../klauspost/compress/zstd/fuzz_none.go | 11 - .../klauspost/compress/zstd/seqdec_amd64.s | 124 +- .../client_golang/prometheus/go_collector.go | 10 +- .../prometheus/go_collector_go116.go | 17 +- ...lector_go117.go => go_collector_latest.go} | 237 +- .../prometheus/internal/go_runtime_metrics.go | 14 +- vendor/github.com/urfave/cli/v2/.gitignore | 2 +- vendor/github.com/urfave/cli/v2/Makefile | 40 + vendor/github.com/urfave/cli/v2/README.md | 2 +- vendor/github.com/urfave/cli/v2/app.go | 12 + vendor/github.com/urfave/cli/v2/cli.go | 2 +- vendor/github.com/urfave/cli/v2/command.go | 6 + .../github.com/urfave/cli/v2/flag-spec.yaml | 50 + vendor/github.com/urfave/cli/v2/flag.go | 2 +- vendor/github.com/urfave/cli/v2/flag_bool.go | 41 - .../github.com/urfave/cli/v2/flag_duration.go | 41 - .../github.com/urfave/cli/v2/flag_float64.go | 41 - .../urfave/cli/v2/flag_float64_slice.go | 34 - .../github.com/urfave/cli/v2/flag_generic.go | 41 - vendor/github.com/urfave/cli/v2/flag_int.go | 41 - vendor/github.com/urfave/cli/v2/flag_int64.go | 41 - .../urfave/cli/v2/flag_int64_slice.go | 34 - .../urfave/cli/v2/flag_int_slice.go | 34 - vendor/github.com/urfave/cli/v2/flag_path.go | 41 +- .../github.com/urfave/cli/v2/flag_string.go | 42 - .../urfave/cli/v2/flag_string_slice.go | 36 - .../urfave/cli/v2/flag_timestamp.go | 42 - vendor/github.com/urfave/cli/v2/flag_uint.go | 41 - .../github.com/urfave/cli/v2/flag_uint64.go | 41 - .../urfave/cli/v2/godoc-current.txt | 2092 ++++++++++ vendor/github.com/urfave/cli/v2/help.go | 21 +- .../urfave/cli/v2/mkdocs-requirements.txt | 5 + vendor/github.com/urfave/cli/v2/mkdocs.yml | 62 + vendor/github.com/urfave/cli/v2/parse.go | 18 +- .../github.com/urfave/cli/v2/suggestions.go | 75 + .../urfave/cli/v2/zz_generated.flags.go | 657 +++ .../golang.org/x/net/http2/hpack/huffman.go | 87 +- vendor/golang.org/x/net/http2/server.go | 43 +- vendor/golang.org/x/sync/errgroup/errgroup.go | 69 +- vendor/golang.org/x/sys/unix/ifreq_linux.go | 9 +- .../golang.org/x/sys/unix/syscall_darwin.go | 2 +- .../x/sys/unix/zerrors_linux_386.go | 2 +- .../x/sys/unix/zerrors_linux_amd64.go | 2 +- .../x/sys/unix/zerrors_linux_arm.go | 2 +- .../x/sys/unix/zerrors_linux_arm64.go | 2 +- .../x/sys/unix/zerrors_linux_loong64.go | 2 +- .../x/sys/unix/zerrors_linux_mips.go | 2 +- .../x/sys/unix/zerrors_linux_mips64.go | 2 +- .../x/sys/unix/zerrors_linux_mips64le.go | 2 +- .../x/sys/unix/zerrors_linux_mipsle.go | 2 +- .../x/sys/unix/zerrors_linux_ppc.go | 2 +- .../x/sys/unix/zerrors_linux_ppc64.go | 2 +- .../x/sys/unix/zerrors_linux_ppc64le.go | 2 +- .../x/sys/unix/zerrors_linux_riscv64.go | 2 +- .../x/sys/unix/zerrors_linux_s390x.go | 2 +- .../x/sys/unix/zerrors_linux_sparc64.go | 2 +- .../x/sys/unix/zsyscall_darwin_amd64.go | 24 + .../x/sys/unix/zsyscall_darwin_amd64.s | 6 + .../x/sys/unix/zsyscall_darwin_arm64.go | 24 + .../x/sys/unix/zsyscall_darwin_arm64.s | 6 + .../golang.org/x/sys/unix/ztypes_linux_386.go | 2 +- .../x/sys/unix/ztypes_linux_amd64.go | 2 +- .../golang.org/x/sys/unix/ztypes_linux_arm.go | 2 +- .../x/sys/unix/ztypes_linux_arm64.go | 2 +- .../x/sys/unix/ztypes_linux_loong64.go | 2 +- .../x/sys/unix/ztypes_linux_mips.go | 2 +- .../x/sys/unix/ztypes_linux_mips64.go | 2 +- .../x/sys/unix/ztypes_linux_mips64le.go | 2 +- .../x/sys/unix/ztypes_linux_mipsle.go | 2 +- .../golang.org/x/sys/unix/ztypes_linux_ppc.go | 2 +- .../x/sys/unix/ztypes_linux_ppc64.go | 2 +- .../x/sys/unix/ztypes_linux_ppc64le.go | 2 +- .../x/sys/unix/ztypes_linux_riscv64.go | 2 +- .../x/sys/unix/ztypes_linux_s390x.go | 2 +- .../x/sys/unix/ztypes_linux_sparc64.go | 2 +- .../google.golang.org/api/internal/version.go | 2 +- .../api/storage/v1/storage-api.json | 18 +- .../api/storage/v1/storage-gen.go | 10 + .../googleapis/storage/v2/storage.pb.go | 3537 ++++++++--------- vendor/google.golang.org/grpc/clientconn.go | 6 +- .../grpc/internal/transport/http2_client.go | 20 +- .../google.golang.org/grpc/picker_wrapper.go | 8 +- vendor/google.golang.org/grpc/stream.go | 197 +- vendor/google.golang.org/grpc/version.go | 2 +- vendor/modules.txt | 37 +- 165 files changed, 10127 insertions(+), 4957 deletions(-) create mode 100644 vendor/github.com/antzucaro/matchr/COPYING.txt create mode 100644 vendor/github.com/antzucaro/matchr/README.md create mode 100644 vendor/github.com/antzucaro/matchr/damerau_levenshtein.go create mode 100644 vendor/github.com/antzucaro/matchr/double_metaphone_corpus.txt.gz create mode 100644 vendor/github.com/antzucaro/matchr/hamming.go create mode 100644 vendor/github.com/antzucaro/matchr/jarowinkler.go create mode 100644 vendor/github.com/antzucaro/matchr/levenshtein.go create mode 100644 vendor/github.com/antzucaro/matchr/longestcommonsubsequence.go create mode 100644 vendor/github.com/antzucaro/matchr/metaphone.go create mode 100644 vendor/github.com/antzucaro/matchr/nysiis.go create mode 100644 vendor/github.com/antzucaro/matchr/osa.go create mode 100644 vendor/github.com/antzucaro/matchr/phonex.go create mode 100644 vendor/github.com/antzucaro/matchr/runestring.go create mode 100644 vendor/github.com/antzucaro/matchr/smithwaterman.go create mode 100644 vendor/github.com/antzucaro/matchr/soundex.go create mode 100644 vendor/github.com/antzucaro/matchr/utf8.go create mode 100644 vendor/github.com/antzucaro/matchr/util.go create mode 100644 vendor/github.com/go-kit/log/staticcheck.conf create mode 100644 vendor/github.com/google/uuid/.travis.yml create mode 100644 vendor/github.com/google/uuid/CONTRIBUTING.md create mode 100644 vendor/github.com/google/uuid/CONTRIBUTORS create mode 100644 vendor/github.com/google/uuid/LICENSE create mode 100644 vendor/github.com/google/uuid/README.md create mode 100644 vendor/github.com/google/uuid/dce.go create mode 100644 vendor/github.com/google/uuid/doc.go create mode 100644 vendor/github.com/google/uuid/hash.go create mode 100644 vendor/github.com/google/uuid/marshal.go create mode 100644 vendor/github.com/google/uuid/node.go create mode 100644 vendor/github.com/google/uuid/node_js.go create mode 100644 vendor/github.com/google/uuid/node_net.go create mode 100644 vendor/github.com/google/uuid/null.go create mode 100644 vendor/github.com/google/uuid/sql.go create mode 100644 vendor/github.com/google/uuid/time.go create mode 100644 vendor/github.com/google/uuid/util.go create mode 100644 vendor/github.com/google/uuid/uuid.go create mode 100644 vendor/github.com/google/uuid/version1.go create mode 100644 vendor/github.com/google/uuid/version4.go create mode 100644 vendor/github.com/googleapis/gax-go/v2/.release-please-manifest.json create mode 100644 vendor/github.com/googleapis/gax-go/v2/CHANGES.md create mode 100644 vendor/github.com/googleapis/gax-go/v2/internal/version.go create mode 100644 vendor/github.com/googleapis/gax-go/v2/release-please-config.json delete mode 100644 vendor/github.com/klauspost/compress/huff0/autogen.go delete mode 100644 vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s delete mode 100644 vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s.in delete mode 100644 vendor/github.com/klauspost/compress/huff0/decompress_amd64.s.in delete mode 100644 vendor/github.com/klauspost/compress/zstd/fuzz.go delete mode 100644 vendor/github.com/klauspost/compress/zstd/fuzz_none.go rename vendor/github.com/prometheus/client_golang/prometheus/{go_collector_go117.go => go_collector_latest.go} (59%) create mode 100644 vendor/github.com/urfave/cli/v2/Makefile create mode 100644 vendor/github.com/urfave/cli/v2/flag-spec.yaml create mode 100644 vendor/github.com/urfave/cli/v2/godoc-current.txt create mode 100644 vendor/github.com/urfave/cli/v2/mkdocs-requirements.txt create mode 100644 vendor/github.com/urfave/cli/v2/mkdocs.yml create mode 100644 vendor/github.com/urfave/cli/v2/suggestions.go create mode 100644 vendor/github.com/urfave/cli/v2/zz_generated.flags.go diff --git a/go.mod b/go.mod index 9d5d33dd6..c1751f029 100644 --- a/go.mod +++ b/go.mod @@ -3,7 +3,7 @@ module github.com/VictoriaMetrics/VictoriaMetrics go 1.17 require ( - cloud.google.com/go/storage v1.22.0 + cloud.google.com/go/storage v1.22.1 github.com/VictoriaMetrics/fastcache v1.10.0 // Do not use the original github.com/valyala/fasthttp because of issues @@ -11,7 +11,7 @@ require ( github.com/VictoriaMetrics/fasthttp v1.1.0 github.com/VictoriaMetrics/metrics v1.18.1 github.com/VictoriaMetrics/metricsql v0.43.0 - github.com/aws/aws-sdk-go v1.44.9 + github.com/aws/aws-sdk-go v1.44.18 github.com/cespare/xxhash/v2 v2.1.2 // TODO: switch back to https://github.com/cheggaaa/pb/v3 when v3-pooling branch @@ -20,18 +20,18 @@ require ( github.com/dmitryk-dk/pb/v3 v3.0.9 github.com/golang/snappy v0.0.4 github.com/influxdata/influxdb v1.9.7 - github.com/klauspost/compress v1.15.3 + github.com/klauspost/compress v1.15.4 github.com/prometheus/prometheus v1.8.2-0.20201119142752-3ad25a6dc3d9 - github.com/urfave/cli/v2 v2.6.0 + github.com/urfave/cli/v2 v2.7.1 github.com/valyala/fastjson v1.6.3 github.com/valyala/fastrand v1.1.0 github.com/valyala/fasttemplate v1.2.1 github.com/valyala/gozstd v1.17.0 github.com/valyala/quicktemplate v1.7.0 - golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 + golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 golang.org/x/oauth2 v0.0.0-20220411215720-9780585627b5 - golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 - google.golang.org/api v0.78.0 + golang.org/x/sys v0.0.0-20220519141025-dcacdad47464 + google.golang.org/api v0.80.0 gopkg.in/yaml.v2 v2.4.0 ) @@ -40,16 +40,18 @@ require ( cloud.google.com/go/compute v1.6.1 // indirect cloud.google.com/go/iam v0.3.0 // indirect github.com/VividCortex/ewma v1.2.0 // indirect + github.com/antzucaro/matchr v0.0.0-20210222213004-b04723ef80f0 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect github.com/fatih/color v1.13.0 // indirect github.com/go-kit/kit v0.12.0 // indirect - github.com/go-kit/log v0.2.0 // indirect + github.com/go-kit/log v0.2.1 // indirect github.com/go-logfmt/logfmt v0.5.1 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect github.com/golang/protobuf v1.5.2 // indirect github.com/google/go-cmp v0.5.8 // indirect - github.com/googleapis/gax-go/v2 v2.3.0 // indirect + github.com/google/uuid v1.3.0 // indirect + github.com/googleapis/gax-go/v2 v2.4.0 // indirect github.com/googleapis/go-type-adapters v1.0.0 // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/mattn/go-colorable v0.1.12 // indirect @@ -58,7 +60,7 @@ require ( github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/pkg/errors v0.9.1 // indirect - github.com/prometheus/client_golang v1.12.1 // indirect + github.com/prometheus/client_golang v1.12.2 // indirect github.com/prometheus/client_model v0.2.0 // indirect github.com/prometheus/common v0.34.0 // indirect github.com/prometheus/procfs v0.7.3 // indirect @@ -69,12 +71,12 @@ require ( go.opencensus.io v0.23.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 // indirect - golang.org/x/sync v0.0.0-20210220032951-036812b2e83c // indirect + golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 // indirect golang.org/x/text v0.3.7 // indirect - golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f // indirect + golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 // indirect - google.golang.org/grpc v1.46.0 // indirect + google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd // indirect + google.golang.org/grpc v1.46.2 // indirect google.golang.org/protobuf v1.28.0 // indirect gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect ) diff --git a/go.sum b/go.sum index a44233d28..2676cd05b 100644 --- a/go.sum +++ b/go.sum @@ -20,7 +20,6 @@ cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmW cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY= cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM= cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY= @@ -39,7 +38,6 @@ cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUM cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= -cloud.google.com/go/bigtable v1.10.1/go.mod h1:cyHeKlx6dcZCO0oSQucYdauseD8kIENGuDOJPKMCVg8= cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow= cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM= cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M= @@ -59,30 +57,20 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -cloud.google.com/go/storage v1.22.0 h1:NUV0NNp9nkBuW66BFRLuMgldN60C57ET3dhbwLIYio8= cloud.google.com/go/storage v1.22.0/go.mod h1:GbaLEoMqbVm6sx3Z0R++gSiBlgMv6yUi2q1DeGFKQgE= +cloud.google.com/go/storage v1.22.1 h1:F6IlQJZrZM++apn9V5/VfS3gbTUYg98PS3EMQAzqtfg= +cloud.google.com/go/storage v1.22.1/go.mod h1:S8N1cAStu7BOeFfE8KAQzmyyLkK8p/vmRq6kuBTW58Y= collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20201218220906-28db891af037/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8= -github.com/Azure/azure-pipeline-go v0.2.3/go.mod h1:x841ezTBIMG6O3lAcl8ATHnsOPVl2bqk7S3ta6S6u4k= -github.com/Azure/azure-sdk-for-go v41.3.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v48.2.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= -github.com/Azure/azure-storage-blob-go v0.14.0/go.mod h1:SMqIBi+SuiQH32bvyjngEewEeXoPfKMgWlBDaYf6fck= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/Azure/go-autorest v14.2.0+incompatible/go.mod h1:r+4oMnoxhatjLLJ6zxSWATqVooLgysK6ZNox3g/xq24= github.com/Azure/go-autorest/autorest v0.9.0/go.mod h1:xyHB1BMZT0cuDHU7I0+g046+BFDTQ8rEZB0s4Yfa6bI= github.com/Azure/go-autorest/autorest v0.9.6/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= -github.com/Azure/go-autorest/autorest v0.10.0/go.mod h1:/FALq9T/kS7b5J5qsQ+RSTUdAmGFqi0vUdVNNx8q630= -github.com/Azure/go-autorest/autorest v0.11.9/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest v0.11.11/go.mod h1:eipySxLmqSyC5s5k1CLupqet0PSENBEDP93LQ9a8QYw= github.com/Azure/go-autorest/autorest/adal v0.5.0/go.mod h1:8Z9fGy2MpX0PvDjB1pEgQTmVqjGhiHBW7RJJEciWzS0= github.com/Azure/go-autorest/autorest/adal v0.8.2/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= -github.com/Azure/go-autorest/autorest/adal v0.8.3/go.mod h1:ZjhuQClTqx435SRJ2iMlOxPYt3d2C/T/7TiQCVZSn3Q= github.com/Azure/go-autorest/autorest/adal v0.9.5/go.mod h1:B7KF7jKIeC9Mct5spmyCB/A8CG/sEz1vwIRGv/bbw7A= -github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= -github.com/Azure/go-autorest/autorest/azure/auth v0.5.3/go.mod h1:4bJZhUhcq8LB20TruwHbAQsmUs2Xh+QR7utuJpLXX3A= -github.com/Azure/go-autorest/autorest/azure/cli v0.4.2/go.mod h1:7qkJkT+j6b+hIpzMOwPChJhTqS8VbsqqgULzMNRugoM= github.com/Azure/go-autorest/autorest/date v0.1.0/go.mod h1:plvfp3oPSKwf2DNjlBjWF/7vwR+cUD/ELuzDCXwHUVA= github.com/Azure/go-autorest/autorest/date v0.2.0/go.mod h1:vcORJHLJEh643/Ioh9+vPmf1Ij9AEBM5FuBIXLmIy0g= github.com/Azure/go-autorest/autorest/date v0.3.0/go.mod h1:BI0uouVdmngYNUzGWeSYnokU+TrmwEsOqdt8Y6sso74= @@ -94,22 +82,14 @@ github.com/Azure/go-autorest/autorest/to v0.3.0/go.mod h1:MgwOyqaIuKdG4TL/2ywSsI github.com/Azure/go-autorest/autorest/validation v0.2.0/go.mod h1:3EEqHnBxQGHXRYq3HT1WyXAvT7LLY3tl70hw6tQIbjI= github.com/Azure/go-autorest/logger v0.1.0/go.mod h1:oExouG+K6PryycPJfVSxi/koC6LSNgds39diKLz7Vrc= github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= -github.com/Azure/go-autorest/logger v0.2.1/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/Azure/go-autorest/tracing v0.5.0/go.mod h1:r/s2XiOKccPW3HrqB+W0TQzfbtp2fGCgRFtBroKn4Dk= github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= -github.com/DATA-DOG/go-sqlmock v1.4.1/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ= github.com/HdrHistogram/hdrhistogram-go v0.9.0/go.mod h1:nxrse8/Tzg2tg3DZcZjm6qEclQKK70g0KxO61gFFZD4= -github.com/HdrHistogram/hdrhistogram-go v1.1.0/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo= -github.com/JohnCGriffin/overflow v0.0.0-20211019200055-46fa312c352c/go.mod h1:X0CRv0ky0k6m906ixxpzmDRLvX58TFUKS2eePweuyxk= github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0= -github.com/Masterminds/semver v1.4.2/go.mod h1:MB6lktGJrhw8PrUyiEoblNEGEQ+RzHPF078ddwwvV3Y= -github.com/Masterminds/sprig v2.16.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuNhlNS5hqE0NB0E6fgfo2Br3o= github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA= github.com/NYTimes/gziphandler v0.0.0-20170623195520-56545f4a5d46/go.mod h1:3wb06e3pkSAbeQ52E9H9iFoQsEEwGN64994WTCIhntQ= github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= @@ -118,7 +98,6 @@ github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20160726150825-5bd2802263f2/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -github.com/SAP/go-hdb v0.14.1/go.mod h1:7fdQLVC2lER3urZLjZCm0AuMQfApof92n3aylBPEkMo= github.com/Shopify/sarama v1.19.0/go.mod h1:FVkBWblsNy7DGZRfXLU0O9RCGt5g3g3yEuWXgklEdEo= github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMxUHB2q5Ap20/P/eIdh4G0pI= github.com/VictoriaMetrics/fastcache v1.10.0 h1:5hDJnLsKLpnUEToub7ETuRu8RCkb40woBZAUiKonXzY= @@ -129,7 +108,6 @@ github.com/VictoriaMetrics/metrics v1.18.1 h1:OZ0+kTTto8oPfHnVAnTOoyl0XlRhRkoQrD github.com/VictoriaMetrics/metrics v1.18.1/go.mod h1:ArjwVz7WpgpegX/JpB0zpNF2h2232kErkEnzH1sxMmA= github.com/VictoriaMetrics/metricsql v0.43.0 h1:pFkzfExn9GJ1w3tE1pFTkjlyPd4kr/onh5CBAJAZf+s= github.com/VictoriaMetrics/metricsql v0.43.0/go.mod h1:6pP1ZeLVJHqJrHlF6Ij3gmpQIznSsgktEcZgsAWYel0= -github.com/VividCortex/ewma v1.1.1/go.mod h1:2Tkkvm3sRDVXaiyucHiACn4cqf7DpdyLvmxzcbUokwA= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= @@ -146,20 +124,15 @@ github.com/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu3qAvBg8x/Y= github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= -github.com/antihax/optional v0.0.0-20180407024304-ca021399b1a6/go.mod h1:V8iCPQYkqmusNa815XgQio277wI47sdRh1dUOLdyC6Q= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/aokoli/goutils v1.0.1/go.mod h1:SijmP0QR8LtwsmDs8Yii5Z/S4trXFGFC2oO5g9DP+DQ= +github.com/antzucaro/matchr v0.0.0-20210222213004-b04723ef80f0 h1:R/qAiUxFT3mNgQaNqJe0IVznjKRNm23ohAIh9lgtlzc= +github.com/antzucaro/matchr v0.0.0-20210222213004-b04723ef80f0/go.mod h1:v3ZDlfVAL1OrkKHbGSFFK60k0/7hruHPDq2XMs9Gu6U= github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= -github.com/apache/arrow/go/arrow v0.0.0-20211112161151-bc219186db40/go.mod h1:Q7yQnSMnLvcXlZ8RV+jwz/6y1rQTqbX6C82SndT52Zs= -github.com/apache/arrow/go/v7 v7.0.0/go.mod h1:vG2y+fH8mEUcX29tM6hOULGE06/XqEI8sG5fANM6T5w= github.com/apache/thrift v0.12.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= github.com/apache/thrift v0.13.0/go.mod h1:cp2SuWMxlEZw2r+iP2GNCdIi4C1qmUzdZFSVb+bacwQ= -github.com/apache/thrift v0.15.0/go.mod h1:PHK3hniurgQaNMZYaCLEqXKsYK8upmhPbmdP2FXSqgU= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-metrics v0.3.3/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= -github.com/armon/go-metrics v0.3.9/go.mod h1:4O98XIr/9W0sxpJ8UaYkvjk10Iff7SnFrb4QAOwNTFc= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= @@ -170,36 +143,11 @@ github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:o github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= -github.com/aws/aws-sdk-go v1.29.16/go.mod h1:1KvfttTE3SPKMpo8g2c6jL3ZKfXtFvKscTgahTma5Xg= -github.com/aws/aws-sdk-go v1.30.12/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= github.com/aws/aws-sdk-go v1.35.31/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.40.45/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q= -github.com/aws/aws-sdk-go v1.44.9 h1:s3lsEFbc8i7ghQmcEpcdyvoO/WMwyCVa9pUq3Lq//Ok= -github.com/aws/aws-sdk-go v1.44.9/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= +github.com/aws/aws-sdk-go v1.44.18 h1:rPDxVLNZL9R76yifC0kYOnfnkMswLfy89c8LBJSyvgY= +github.com/aws/aws-sdk-go v1.44.18/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= -github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2 v1.11.0/go.mod h1:SQfA+m2ltnu1cA0soUkj4dRSsmITiVQUJvBIZjzfPyQ= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.0.0/go.mod h1:Xn6sxgRuIDflLRJFj5Ev7UxABIkNbccFPV/p8itDReM= -github.com/aws/aws-sdk-go-v2/config v1.10.1/go.mod h1:auIv5pIIn3jIBHNRcVQcsczn6Pfa6Dyv80Fai0ueoJU= -github.com/aws/aws-sdk-go-v2/credentials v1.6.1/go.mod h1:QyvQk1IYTqBWSi1T6UgT/W8DMxBVa5pVuLFSRLLhGf8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.8.0/go.mod h1:5E1J3/TTYy6z909QNR0QnXGBpfESYGDqd3O0zqONghU= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.7.1/go.mod h1:wN/mvkow08GauDwJ70jnzJ1e+hE+Q3Q7TwpYLXOe9oI= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.0/go.mod h1:NO3Q5ZTTQtO2xIg2+xTXYDiT7knSejfeDm7WGDaOo0U= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.0.0/go.mod h1:anlUzBoEWglcUxUQwZA7HQOEVEnQALVZsizAapB2hq8= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.0/go.mod h1:6oXGy4GLpypD3uCh8wcqztigGgmhLToMfjavgh+VySg= -github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.5.0/go.mod h1:80NaCIH9YU3rzTTs/J/ECATjXuRqzo/wB6ukO6MZ0XY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.5.0/go.mod h1:Mq6AEc+oEjCUlBuLiK5YwW4shSOAKCQ3tXN0sQeYoBA= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.9.0/go.mod h1:xKCZ4YFSF2s4Hnb/J0TLeOsKuGzICzcElaOKNGrVnx4= -github.com/aws/aws-sdk-go-v2/service/s3 v1.19.0/go.mod h1:Gwz3aVctJe6mUY9T//bcALArPUaFmNAy2rTB9qN4No8= -github.com/aws/aws-sdk-go-v2/service/sso v1.6.0/go.mod h1:Q/l0ON1annSU+mc0JybDy1Gy6dnJxIcWjphO6qJPzvM= -github.com/aws/aws-sdk-go-v2/service/sts v1.10.0/go.mod h1:jLKCFqS+1T4i7HDqCP9GM4Uk75YW1cS0o82LdxpMyOE= -github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= -github.com/aws/smithy-go v1.9.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= -github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= -github.com/benbjohnson/immutable v0.3.0/go.mod h1:uc6OHo6PN2++n98KHLxW8ef4W42ylHiQSENghE1ezxI= -github.com/benbjohnson/tmpl v1.0.0/go.mod h1:igT620JFIi44B6awvU9IsDhR77IXWtFigTLil/RPdps= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= @@ -207,20 +155,12 @@ github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6r github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= github.com/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= -github.com/bonitoo-io/go-sql-bigquery v0.3.4-1.4.0/go.mod h1:J4Y6YJm0qTWB9aFziB7cPeSyc6dOZFyJdteSeybVpXQ= -github.com/boombuler/barcode v1.0.0/go.mod h1:paBWMcWSl3LHKBqUq+rly7CNSldXjb2rDl3JlRe0mD8= github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= -github.com/cactus/go-statsd-client/statsd v0.0.0-20191106001114-12b4e2b38748/go.mod h1:l/bIBLeOl9eX+wxJAzxS4TveKRtAqlyDpHjhkfO0MEI= github.com/casbin/casbin/v2 v2.1.2/go.mod h1:YcPU1XXisHhLzuxH9coDNf2FbKpjGlbCg3n9yuLkIJQ= -github.com/casbin/casbin/v2 v2.37.0/go.mod h1:vByNa/Fchek0KZUgG5wEsl7iFsiviAYKRtgrQfcJqHg= -github.com/cenkalti/backoff v0.0.0-20181003080854-62661b46c409/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff v2.2.1+incompatible/go.mod h1:90ReRw6GdpyfrHakVjL/QHaoyV4aDUVVkXQJJJ3NXXM= github.com/cenkalti/backoff/v4 v4.0.2/go.mod h1:eEew/i+1Q6OrCDZh3WiXYv3+nJwBASZ8Bog/87DQnVg= -github.com/cenkalti/backoff/v4 v4.1.1/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= -github.com/cespare/xxhash/v2 v2.1.0/go.mod h1:dgIUBU3pDso/gPgZ1osOZ0iQf77oPR28Tjxl5dIMyVM= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.1.2 h1:YRXhKfTDauu4ajMg1TPgFO5jnlC2HCbmLXMcTG5cbYE= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= @@ -229,7 +169,6 @@ github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5P github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= github.com/circonus-labs/circonus-gometrics v2.3.1+incompatible/go.mod h1:nmEj6Dob7S7YxXgwXpfOuvO54S+tGdZdw9fuRZt25Ag= github.com/circonus-labs/circonusllhist v0.1.3/go.mod h1:kMXHVDlOchFAehlya5ePtbp5jckzBHf4XRpQvBOLI+I= -github.com/clbanning/mxj v1.8.4/go.mod h1:BVjHeAH+rl9rs6f+QIpeRl0tfu10SXn1pUSa5PVGJng= github.com/clbanning/x2j v0.0.0-20191024224557-825249438eec/go.mod h1:jMjuTZXRI4dUb/I5gc9Hdhagfvm9+RyrPryS/auMzxE= github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= @@ -244,36 +183,22 @@ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWH github.com/cockroachdb/datadriven v0.0.0-20190809214429-80d97fb3cbaa/go.mod h1:zn76sxSg3SzpJ0PPJaLDCu+Bu0Lg3sKTORVIj19EIF8= github.com/codahale/hdrhistogram v0.0.0-20161010025455-3a0bb77429bd/go.mod h1:sE/e/2PUdi/liOCUjSTXgM1o87ZssimdTWN964YiIeI= github.com/containerd/containerd v1.3.4/go.mod h1:bC6axHOhabU15QhwfG7w5PipXdVtMXFTttgp+kVtyUA= -github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk= -github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE= github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd v0.0.0-20180511133405-39ca1b05acc7/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/pkg v0.0.0-20160727233714-3ac0863d7acf/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= -github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA= github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -github.com/cpuguy83/go-md2man/v2 v2.0.1/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= -github.com/denisenkom/go-mssqldb v0.10.0/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= -github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= -github.com/dgryski/go-sip13 v0.0.0-20190329191031-25c5027a8c7b/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/dgryski/go-sip13 v0.0.0-20200911182023-62edffca9245/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= github.com/digitalocean/godo v1.52.0/go.mod h1:p7dOjjtSBqCTUksqtA5Fd3uaKs9kyTq2xcz76ulEJRU= -github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= github.com/dmitryk-dk/pb/v3 v3.0.9 h1:wpWkldo8V6NeONVgmuCvsDIDjSRkJfbTbdoVigKYJ2I= github.com/dmitryk-dk/pb/v3 v3.0.9/go.mod h1:o9xpZcwYZHNdNaAlJVvWTA+YH+IlPciBs1myroBOxyM= github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= @@ -284,13 +209,11 @@ github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDD github.com/docker/spdystream v0.0.0-20160310174837-449fdfce4d96/go.mod h1:Qh8CwZgvJUkLughtfhJv5dyTYa91l1fOUCrgjqmcifM= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= github.com/eapache/queue v1.1.0/go.mod h1:6eCeP0CKFpHLu8blIFXhExK/dRa7WDZfr6jVFPTqq+I= github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= -github.com/elazarl/goproxy v0.0.0-20170405201442-c4fc26588b6e/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/elazarl/goproxy v0.0.0-20180725130230-947c36da3153/go.mod h1:/Zj4wYkgs4iZTTu3o/KG3Itv/qCCa8VVMlb3i9OVuzc= github.com/emicklei/go-restful v0.0.0-20170410110728-ff4f55a20633/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= github.com/envoyproxy/go-control-plane v0.6.9/go.mod h1:SBwIajubJHhxtWwsL9s8ss4safvEdbitLhGGK48rN6g= @@ -304,39 +227,23 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.m github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/go-control-plane v0.10.2-0.20220325020618-49ff273808a1/go.mod h1:KJwIaB5Mv44NWtYuAOFCVOjcI94vtpEz2JU/D2v6IjE= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v4.2.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/evanphx/json-patch v4.9.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= -github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= -github.com/fatih/color v1.12.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= -github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/form3tech-oss/jwt-go v3.2.5+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/foxcpp/go-mockdns v0.0.0-20201212160233-ede2f9158d15/go.mod h1:tPg4cp4nseejPd+UKxtCVQ2hUxNTZ7qQZJa7CLriIeo= github.com/franela/goblin v0.0.0-20200105215937-c9ffbefa60db/go.mod h1:7dvUGVsVBjqR7JHJk0brhHOZYGmfBYOrK0ZhYMEtBr4= -github.com/franela/goblin v0.0.0-20210519012713-85d372ac71e2/go.mod h1:VzmDKDJVZI3aJmnRI9VjAn9nJ8qPPsN1fqzr9dqInIo= github.com/franela/goreq v0.0.0-20171204163338-bcd34c9993f8/go.mod h1:ZhphrRTfi2rbfLwlschooIH4+wKKDR4Pdxhh+TRoA20= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/gabriel-vasile/mimetype v1.4.0/go.mod h1:fA8fi6KUiG7MgQQ+mEWotXoEOvmxRtOJlERCzSmRvr8= -github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q= github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= -github.com/glycerine/go-unsnap-stream v0.0.0-20181221182339-f9677308dec2/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= -github.com/go-chi/chi v4.1.0+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ= -github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= -github.com/go-fonts/dejavu v0.1.0/go.mod h1:4Wt4I4OU2Nq9asgDCteaAaWZOV24E+0/Pwo0gppep4g= -github.com/go-fonts/latin-modern v0.2.0/go.mod h1:rQVLdDMK+mK1xscDwsqM5J8U2jrRa3T0ecnM9pNujks= -github.com/go-fonts/liberation v0.1.1/go.mod h1:K6qoJYypsmfVjWg8KOVDQhLc8UDgIK2HYqyqAO9z7GY= -github.com/go-fonts/stix v0.1.0/go.mod h1:w/c1f0ldAUlJmLBvlbkvVXLAD+tAMqobIIQpmnUIzUY= github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= @@ -346,9 +253,9 @@ github.com/go-kit/kit v0.10.0/go.mod h1:xUsJbQ/Fp4kEt7AFgCuvyX4a71u8h9jB8tj/ORgO github.com/go-kit/kit v0.12.0 h1:e4o3o3IsBfAKQh5Qbbiqyfu97Ku7jrO/JbohvztANh4= github.com/go-kit/kit v0.12.0/go.mod h1:lHd+EkCZPIwYItmGDDRdhinkzX2A1sj+M9biaEaizzs= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= -github.com/go-kit/log v0.2.0 h1:7i2K3eKTos3Vc0enKCfnVcgHh2olr/MyfboYq7cAcFw= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-latex/latex v0.0.0-20210118124228-b3d85cf34e07/go.mod h1:CO1AlKB2CSIqUrmQPqA0gdRIlnLEY0gK5JGjh37zN5U= +github.com/go-kit/log v0.2.1 h1:MRVx0/zhvdseW+Gza6N9rVzU/IVzaeE1SFI4raAhmBU= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= @@ -356,7 +263,6 @@ github.com/go-logfmt/logfmt v0.5.1 h1:otpy5pqBCBZ1ng9RQ0dPu4PN7ba75Y/aA+UpowDyNV github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= -github.com/go-logr/logr v0.4.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI= github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik= @@ -405,7 +311,6 @@ github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsd github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY= github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= -github.com/go-openapi/spec v0.19.7/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk= github.com/go-openapi/spec v0.19.14/go.mod h1:gwrgJS15eCUgjLpMjBJmbZezCsw88LmgeEip0M63doA= github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU= @@ -436,8 +341,6 @@ github.com/go-sql-driver/mysql v1.4.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg= github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= -github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= -github.com/go-zookeeper/zk v1.0.2/go.mod h1:nOB03cncLtlp4t+UAkGSV+9beXP/akpekBwL+UX1Qcw= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg= @@ -462,25 +365,16 @@ github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWe github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ= github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0= github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw= -github.com/goccy/go-json v0.7.10/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= github.com/gogo/googleapis v1.1.0/go.mod h1:gf4bu3Q80BeJ6H1S1vYPm8/ELATdvryBaNFGgqEef3s= github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4= -github.com/gogo/protobuf v1.2.2-0.20190723190241-65acae22fc9d/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.2.2-0.20190730201129-28a6bbf47e48/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -github.com/golang-jwt/jwt v3.2.1+incompatible/go.mod h1:8pz2t5EyA70fFQQSrl6XZXzqecmYZeUEB8OUGHkxJ+I= -github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/groupcache v0.0.0-20160516000752-02826c3e7903/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -495,7 +389,6 @@ github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= -github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -520,13 +413,9 @@ github.com/golang/snappy v0.0.2/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEW github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= -github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= -github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/flatbuffers v2.0.0+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= -github.com/google/flatbuffers v2.0.5+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= @@ -557,7 +446,6 @@ github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OI github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200417002340-c6e0a841f49a/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -565,7 +453,6 @@ github.com/google/pprof v0.0.0-20201117184057-ae444373da19/go.mod h1:kpwsk12EmLe github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210506205249-923b5ab0fc1a/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= @@ -573,57 +460,41 @@ github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm4 github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0= github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM= github.com/googleapis/gax-go/v2 v2.2.0/go.mod h1:as02EH8zWkzwUoLbBaFeQ+arQaj/OthfcblKl4IGNaM= -github.com/googleapis/gax-go/v2 v2.3.0 h1:nRJtk3y8Fm770D42QV6T90ZnvFZyk7agSo3Q+Z9p3WI= github.com/googleapis/gax-go/v2 v2.3.0/go.mod h1:b8LNqSzNabLiUpXKkY7HAR5jr6bIT99EXz9pXxye9YM= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/googleapis/gnostic v0.4.0/go.mod h1:on+2t9HRStVgn95RSsFWFz+6Q0Snyqv1awfrALZdbtU= +github.com/googleapis/gax-go/v2 v2.4.0 h1:dS9eYAjhrE2RjmzYw2XAPvcXfmcQLtFEQWn0CR82awk= +github.com/googleapis/gax-go/v2 v2.4.0/go.mod h1:XOTVJ59hdnfJLIP/dh8n5CGryZR2LxK9wbMD5+iXC6c= github.com/googleapis/gnostic v0.4.1/go.mod h1:LRhVm6pbyptWbWbuZ38d1eyptfvIytN3ir6b65WBswg= github.com/googleapis/go-type-adapters v1.0.0 h1:9XdMn+d/G57qq1s8dNc5IesGCXHf6V2HZ2JwRxfA2tA= github.com/googleapis/go-type-adapters v1.0.0/go.mod h1:zHW75FOG2aur7gAO2B+MLby+cLsWGBF62rFAi7WjWO4= -github.com/gophercloud/gophercloud v0.1.0/go.mod h1:vxM41WHh5uqHVBMZHzuwNOHh8XEoIEcSTewFxm1c5g8= -github.com/gophercloud/gophercloud v0.10.0/go.mod h1:gmC5oQqMDOMO1t1gq5DquX/yAU808e/4mzjjDA76+Ss= github.com/gophercloud/gophercloud v0.14.0/go.mod h1:VX0Ibx85B60B5XOrZr6kaNwrmPUzcmMpwxvQ1WQIIWM= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= -github.com/gopherjs/gopherjs v0.0.0-20190812055157-5d271430af9f/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/context v1.1.1/go.mod h1:kBGZzfjB9CEq2AlWe17Uuf7NDRt0dE0s8S51q0aT7Yg= github.com/gorilla/mux v1.6.2/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.7.3/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v0.0.0-20170926233335-4201258b820c/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= -github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= -github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-middleware v1.0.1-0.20190118093823-f849b5445de4/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= -github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= github.com/grpc-ecosystem/grpc-gateway v1.9.5/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY= -github.com/grpc-ecosystem/grpc-gateway v1.14.4/go.mod h1:6CwZWGDSPRJidgKAtJVvND6soZe6fT7iteq8wDPdhb0= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/hashicorp/consul/api v1.3.0/go.mod h1:MmDNSzIMUjNpY/mQ398R4bk2FnqQLoPndWW5VkKPlCE= -github.com/hashicorp/consul/api v1.4.0/go.mod h1:xc8u05kyMa3Wjr9eEAsIAo3dg8+LywT5E/Cl7cNS5nU= github.com/hashicorp/consul/api v1.7.0/go.mod h1:1NSuaUUkFaJzMasbfq/11wKYWSR67Xn6r2DXKhuDNFg= -github.com/hashicorp/consul/api v1.10.1/go.mod h1:XjsvQN+RJGWI2TWy1/kqaE16HrR2J/FWgkYjdZQsX9M= github.com/hashicorp/consul/sdk v0.3.0/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.4.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM= github.com/hashicorp/consul/sdk v0.6.0/go.mod h1:fY08Y9z5SvJqevyZNy6WWPXiG3KwBPAvlcdx16zZ0fM= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v0.12.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= -github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-immutable-radix v1.2.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-immutable-radix v1.3.1/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= @@ -640,55 +511,33 @@ github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.4/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= github.com/hashicorp/mdns v1.0.1/go.mod h1:4gW7WsVCke5TE7EPeYliwHlRUyBtfCwuFwuMg2DmyNY= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.1.4/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.2.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/memberlist v0.2.2/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.0/go.mod h1:YL0HO+FifKOW2u1ke99DGVu1zhcpZzNwrLIqBC7vbYU= github.com/hashicorp/serf v0.9.3/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= -github.com/hashicorp/serf v0.9.5/go.mod h1:UWDWwZeL5cuWDJdl0C6wrvrUwEqtQ4ZKBKKENpqIUyk= github.com/hetznercloud/hcloud-go v1.23.1/go.mod h1:xng8lbDUg+xM1dgc0yGHX5EeqbwIq7UYlMWMTx3SQVg= github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/huandu/xstrings v1.0.0/go.mod h1:4qWG/gcEcfX4z/mBDHJ++3ReCw9ibxbsNJbcucJdbSo= github.com/hudl/fargo v1.3.0/go.mod h1:y3CKSmjA+wD2gak7sUSXTAoopbhU08POFhmITJgmKTg= -github.com/hudl/fargo v1.4.0/go.mod h1:9Ai6uvFy5fQNq6VPKtg+Ceq1+eTY4nKUlR2JElEOcDo= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= -github.com/imdario/mergo v0.3.4/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= -github.com/imdario/mergo v0.3.9/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/influxdata/flux v0.65.0/go.mod h1:BwN2XG2lMszOoquQaFdPET8FRQfrXiZsWmcMO9rkaVY= github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= -github.com/influxdata/flux v0.161.0/go.mod h1:dALQQHRj+70b+o/9RtaHAAXH3toMs2M58gfY66oEll8= -github.com/influxdata/gosnowflake v1.6.9/go.mod h1:9W/BvCXOKx2gJtQ+jdi1Vudev9t9/UDOEHnlJZ/y1nU= -github.com/influxdata/httprouter v1.3.1-0.20191122104820-ee83e2772f69/go.mod h1:pwymjR6SrP3gD3pRj9RJwdl1j5s3doEEV8gS4X9qSzA= -github.com/influxdata/influxdb v1.8.0/go.mod h1:SIzcnsjaHRFpmlxpJ4S3NT64qtEKYweNTUMb/vh0OMQ= github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= github.com/influxdata/influxdb v1.9.7 h1:asjvZJ8NFFmxkSw+kOJj1ItGLQdU1nvRQE3jvdQXeRU= github.com/influxdata/influxdb v1.9.7/go.mod h1:YZMcI9MYeMGLcg7Td7z5YRk52tL85r5bF4qX6WCnSt4= -github.com/influxdata/influxdb-client-go/v2 v2.3.1-0.20210518120617-5d1fff431040/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= github.com/influxdata/influxdb1-client v0.0.0-20191209144304-8bf82d3c094d/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/influxdb1-client v0.0.0-20200827194710-b269163b24ab/go.mod h1:qj24IKcXYK6Iy9ceXlo3Tc+vtHo9lIhSX5JddghvEPo= -github.com/influxdata/influxql v1.1.0/go.mod h1:KpVI7okXjK6PRi3Z5B+mtKZli+R1DnZgb3N+tzevNgo= github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= -github.com/influxdata/influxql v1.1.1-0.20211004132434-7e7d61973256/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= -github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= -github.com/influxdata/pkg-config v0.2.11/go.mod h1:EMS7Ll0S4qkzDk53XS3Z72/egBsPInt+BeRxb0WeSwk= github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= -github.com/influxdata/tdigest v0.0.2-0.20210216194612-fc98d27c9e8b/go.mod h1:Z0kXnxzbTC2qrx4NaIzYkE1k66+6oEDQTvL95hQFh5Y= github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= -github.com/jmespath/go-jmespath v0.3.0/go.mod h1:9QtRXoHjLGCJ5IBSaohpXITPlowMeeYCZ7fLUTSywik= github.com/jmespath/go-jmespath v0.4.0 h1:BEgLn5cpjn8UN1mAw4NjwDrS35OdebyEtFe+9YPoQUg= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jmespath/go-jmespath/internal/testify v1.5.1 h1:shLQSRRSCCPj3f2gpwzGwWFoC7ycTf1rcQZHOlsJ6N8= @@ -707,28 +556,22 @@ github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHm github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= -github.com/jsternberg/zap-logfmt v1.2.0/go.mod h1:kz+1CUmCutPWABnNkOu9hOHKdT2q3TDYCcsFy9hpqb0= github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= -github.com/jung-kurt/gofpdf v1.0.0/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4= github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA= github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvWXihfKN4Q= github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/asmfmt v1.3.1/go.mod h1:AG8TuvYojzulgDAMCnYn50l/5QV3Bs/tp6j0HLHbNSE= github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= -github.com/klauspost/compress v1.13.1/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.4/go.mod h1:8dP1Hq4DHOhN9w426knH3Rhby4rFm6D8eO+e+Dq5Gzg= github.com/klauspost/compress v1.13.5/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/klauspost/compress v1.15.3 h1:wmfu2iqj9q22SyMINp1uQ8C2/V4M1phJdmH9fG4nba0= -github.com/klauspost/compress v1.15.3/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= +github.com/klauspost/compress v1.15.4 h1:1kn4/7MepF/CHmYub99/nNX8az0IJjfSOU/jbnTVfqQ= +github.com/klauspost/compress v1.15.4/go.mod h1:PhcZ0MbTNciWF3rruxRgKxI5NkcHHrHUDtV4Yw2GlzU= github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= @@ -744,16 +587,11 @@ github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= -github.com/kylelemons/godebug v0.0.0-20160406211939-eadb3ce320cb/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= -github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= -github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lightstep/lightstep-tracer-common/golang/gogo v0.0.0-20190605223551-bc2310a04743/go.mod h1:qklhhLq1aX+mtWk9cPHPzaBjWImj5ULL6C7HFJtXQMM= github.com/lightstep/lightstep-tracer-go v0.18.1/go.mod h1:jlF1pusYV4pidLvZ+XD0UBX0ZE6WURAspgAczcDHrL4= github.com/lyft/protoc-gen-validate v0.0.13/go.mod h1:XbGvPuh87YZc5TdIa2/I4pLk0QoUACkjt2znoq26NVQ= -github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -764,49 +602,31 @@ github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7 github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE= github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= -github.com/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= -github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40= github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4= -github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/gNWuh88E= github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= 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= -github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= -github.com/mattn/go-isatty v0.0.13/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-runewidth v0.0.2/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= -github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= -github.com/mattn/go-runewidth v0.0.12/go.mod h1:RAqKPSqVFrSLVXbA8x7dzmKdmGzieGRCM46jaSJTDAk= github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU= github.com/mattn/go-runewidth v0.0.13/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/mattn/go-sqlite3 v1.14.7/go.mod h1:NyWgC/yNuGj7Q9rpYnZvas74GogHl5/Z4A/KQRfk6bU= github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= github.com/matttproud/golang_protobuf_extensions v1.0.1 h1:4hp9jkHxhMHkqkrB3Ix0jegS5sx/RkqARlsWZ6pIwiU= github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.22/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.29/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= github.com/miekg/dns v1.1.35/go.mod h1:KNUDUusw/aVsxyTYZM1oqvCicbwhgbNgztCETuNZ7xM= -github.com/miekg/dns v1.1.43/go.mod h1:+evo5L0630/F6ca/Z9+GAqzhjGyn8/c+TBaOyfEl0V4= -github.com/mileusna/useragent v0.0.0-20190129205925-3e331f0949a5/go.mod h1:JWhYAp2EXqUtsxTKdeGlY8Wp44M7VxThC9FEoNGi2IE= -github.com/minio/asm2plan9s v0.0.0-20200509001527-cdd76441f9d8/go.mod h1:mC1jAcsrzbxHt8iiaC+zU4b1ylILSosueou12R++wfY= -github.com/minio/c2goasm v0.0.0-20190812172519-36a3d3bbc4f3/go.mod h1:RagcQ7I8IeTMnF8JTXieKnO4Z6JCsikNEzj0DwauVzE= -github.com/minio/highwayhash v1.0.1/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= -github.com/minio/highwayhash v1.0.2/go.mod h1:BQskDq+xkJ12lmlUUi7U0M5Swg3EWR+dLTk+kldvVxY= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= @@ -817,10 +637,8 @@ github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS4 github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.2.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= @@ -835,21 +653,13 @@ github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRW github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= github.com/nats-io/jwt v0.3.0/go.mod h1:fRYCDE99xlTsqUzISS1Bi75UBJ6ljOJQOAAu5VglpSg= github.com/nats-io/jwt v0.3.2/go.mod h1:/euKqTS1ZD+zzjYrY7pseZrTtWQSjujC7xjPc8wL6eU= -github.com/nats-io/jwt v1.2.2/go.mod h1:/xX356yQA6LuXI9xWW7mZNpxgF2mBmGecH+Fj34sP5Q= -github.com/nats-io/jwt/v2 v2.0.3/go.mod h1:VRP+deawSXyhNjXmxPCHskrR6Mq50BqpEI5SEcNiGlY= github.com/nats-io/nats-server/v2 v2.1.2/go.mod h1:Afk+wRZqkMQs/p45uXdrVLuab3gwv3Z8C4HTBu8GD/k= -github.com/nats-io/nats-server/v2 v2.5.0/go.mod h1:Kj86UtrXAL6LwYRA6H4RqzkHhK0Vcv2ZnKD5WbQ1t3g= github.com/nats-io/nats.go v1.9.1/go.mod h1:ZjDU1L/7fJ09jvUSRVBR2e7+RnLiiIQyqyzEE/Zbp4w= -github.com/nats-io/nats.go v1.12.1/go.mod h1:BPko4oXsySz4aSWeFgOHLZs3G4Jq4ZAyE6/zMCxRT6w= github.com/nats-io/nkeys v0.1.0/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= github.com/nats-io/nkeys v0.1.3/go.mod h1:xpnFELMwJABBLVhffcfd1MZx6VsNRFpEugbxziKVo7w= -github.com/nats-io/nkeys v0.2.0/go.mod h1:XdZpAbhgyyODYqjTawOnIOI7VlbKSarI9Gfy1tqEu/s= -github.com/nats-io/nkeys v0.3.0/go.mod h1:gvUNGjVcM2IPr5rCsRsC6Wb3Hr2CQAm08dsxtV6A5y4= github.com/nats-io/nuid v1.0.1/go.mod h1:19wcPz3Ph3q0Jbyiqsd0kePYG7A95tJPxeL+1OSON2c= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= -github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= github.com/oklog/oklog v0.3.2/go.mod h1:FCV+B7mhrz4o+ueLpx+KqkyXRGMWOYEvfiXtdGtbWGs= github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= @@ -859,21 +669,14 @@ github.com/olekukonko/tablewriter v0.0.0-20170122224234-a0225b3f23b5/go.mod h1:v github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.7.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.10.1/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.11.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= -github.com/onsi/ginkgo v1.16.2/go.mod h1:CObGmKUOKaSC0RjmoAK7tKyn4Azo5P2IWuoMnvwxz1E= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.4.3/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= github.com/onsi/gomega v1.7.0/go.mod h1:ex+gbHU/CVuBBDIJjb2X0qEXbFg53c61hWP/1CpauHY= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= -github.com/onsi/gomega v1.13.0/go.mod h1:lRk9szgn8TxENtWd0Tp4c3wjlRfMTMH27I+3Je41yGY= github.com/op/go-logging v0.0.0-20160315200505-970db520ece7/go.mod h1:HzydrMdWErDVzsI23lYNej1Htcns9BCg93Dk0bBINWk= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opentracing-contrib/go-observer v0.0.0-20170622124052-a52f23424492/go.mod h1:Ngi6UdF0k5OKD5t5wlmGhe/EDKPoUM3BXZSSfIuJbis= -github.com/opentracing-contrib/go-stdlib v0.0.0-20190519235532-cf7a6c988dc9/go.mod h1:PLldrQSroqzH70Xl+1DQcGnefIbqsKR7UDaiux3zV+w= github.com/opentracing-contrib/go-stdlib v1.0.0/go.mod h1:qtI1ogk+2JhVPIXVc6q+NHziSmy2W5GbdQZFUHADCBU= github.com/opentracing/basictracer-go v1.0.0/go.mod h1:QfBfYuafItcjQuMwinw9GhYKwFXS9KnPs5lxoYwgW74= github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= @@ -884,28 +687,19 @@ github.com/openzipkin-contrib/zipkin-go-opentracing v0.4.5/go.mod h1:/wsWhb9smxS github.com/openzipkin/zipkin-go v0.1.6/go.mod h1:QgAqvLzwWbR/WpD4A3cGpPtJrZXNIiJc5AZX7/PBEpw= github.com/openzipkin/zipkin-go v0.2.1/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= github.com/openzipkin/zipkin-go v0.2.2/go.mod h1:NaW6tEwdmWMaCDZzg8sh+IBNOxHMPnhQw8ySjnjRyN4= -github.com/openzipkin/zipkin-go v0.2.5/go.mod h1:KpXfKdgRDnnhsxw4pNIH9Md5lyFqKUa4YDFlwRYAMyE= github.com/pact-foundation/pact-go v1.0.4/go.mod h1:uExwJY4kCzNPcHRj+hCR/HBbOOIwwtUjcrb0b5/5kLM= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= -github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo= github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE= github.com/performancecopilot/speed v3.0.0+incompatible/go.mod h1:/CLtqpZ5gBg1M9iaPbIdPPGyKcA8hKdoy6hAWba7Yac= -github.com/performancecopilot/speed/v4 v4.0.0/go.mod h1:qxrSyuDGrTOWfV+uKRFhfxw6h/4HXRGUiZiufxo49BM= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= -github.com/phpdave11/gofpdf v1.4.2/go.mod h1:zpO6xFn9yxo3YLyMvW8HcKWVdbNqgIfOOp2dXMnm1mY= -github.com/phpdave11/gofpdi v1.0.12/go.mod h1:vBmVV0Do6hSBHC8uKUQ71JGW+ZGQq74llk/7bXwjDoI= github.com/pierrec/lz4 v1.0.2-0.20190131084431-473cd7ce01a1/go.mod h1:3/3N9NVKO0jef7pBehbT1qWhCMrIgbYNnFAZCqQ5LRc= github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= -github.com/pierrec/lz4/v4 v4.1.8/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pierrec/lz4/v4 v4.1.9/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pierrec/lz4/v4 v4.1.11/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= -github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= @@ -916,22 +710,19 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= -github.com/prometheus/alertmanager v0.20.0/go.mod h1:9g2i48FAyZW6BtbsnvHtMHQXl2aVtrORKwKVCQ+nbrg= github.com/prometheus/alertmanager v0.21.0/go.mod h1:h7tJ81NA0VLWvWEayi1QltevFkLF3KxmC/malTcT8Go= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3-0.20190127221311-3c4408c8b829/go.mod h1:p2iRAGwDERtqlqzRXnrOVns+ignqQo//hLXqYxZYVNs= -github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.2.1/go.mod h1:XMU6Z2MjaRKVu/dC1qupJI9SiNkDYzz3xecMgSW/F+U= github.com/prometheus/client_golang v1.3.0/go.mod h1:hJaj2vgQTGQmVCsAACORcieXFeDPbaTKGT+JTgUa3og= github.com/prometheus/client_golang v1.4.0/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= -github.com/prometheus/client_golang v1.5.1/go.mod h1:e9GMxYsXl05ICDXkRhurwBS4Q3OK1iX/F2sw+iXX5zU= github.com/prometheus/client_golang v1.6.0/go.mod h1:ZLOG9ck3JLRdB5MgO8f+lLTe83AXG6ro35rLTxvnIl4= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.8.0/go.mod h1:O9VU6huf47PktckDQfMTX0Y8tY0/7TSWwj+ITvv0TnM= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.12.1 h1:ZiaPsmm9uiBeaSMRznKsCDNtPCS0T3JVDGF+06gjBzk= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= +github.com/prometheus/client_golang v1.12.2 h1:51L9cDoUHVrXx4zWYlcLQIZ+d+VXHgqnYKkIuq4g/34= +github.com/prometheus/client_golang v1.12.2/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190115171406-56726106282f/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= @@ -939,9 +730,7 @@ github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1: github.com/prometheus/client_model v0.1.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.2.0 h1:uq5h0d+GuxiXLJLNABMgp2qUWDPiLvgCzz2dUR+/W/M= github.com/prometheus/client_model v0.2.0/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= -github.com/prometheus/common v0.0.0-20181113130724-41aa239b4cce/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= github.com/prometheus/common v0.2.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.4.0/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt26CguLLsqA= @@ -950,15 +739,12 @@ github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB8 github.com/prometheus/common v0.14.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= -github.com/prometheus/common v0.30.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.32.1/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= github.com/prometheus/common v0.34.0 h1:RBmGO9d/FVjqHT0yUGQwBJhkwKV+wPCn7KGpvfab0uE= github.com/prometheus/common v0.34.0/go.mod h1:gB3sOl7P0TvJabZpLY5uQMpUqRCPPCyRLCZYc7JZTNE= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.5/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.0.8/go.mod h1:7Qr8sr6344vo1JqZ6HhLceV9o3AJ1Ff+GxbHq6oeK9A= github.com/prometheus/procfs v0.0.11/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= github.com/prometheus/procfs v0.1.3/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4OA4YeYWdaU= @@ -966,13 +752,10 @@ github.com/prometheus/procfs v0.2.0/go.mod h1:lV6e/gmhEcM9IjHGsFOCxxuZ+z1YqCvr4O github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU= github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= -github.com/prometheus/prometheus v0.0.0-20200609090129-a6600f564e3c/go.mod h1:S5n0C6tSgdnwWshBUceRx5G1OsjLv/EeZ9t3wIfEtsY= github.com/prometheus/prometheus v1.8.2-0.20201119142752-3ad25a6dc3d9 h1:F2A86PGVYqn3P7oWbrSmSlJHae9y6wwpAdoWb/pZi6Q= github.com/prometheus/prometheus v1.8.2-0.20201119142752-3ad25a6dc3d9/go.mod h1:1MDE/bXgu4gqd5w/otko6WQpXZX9vu8QX4KbitCmaPg= -github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= github.com/rcrowley/go-metrics v0.0.0-20181016184325-3113b8401b8a/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= -github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= @@ -980,26 +763,19 @@ github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6L github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= -github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= -github.com/rs/zerolog v1.21.0/go.mod h1:ZPhntP/xmq1nnND05hhpAh2QMhSsA4UN3MGZ6O2J3hM= github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ruudk/golang-pdf417 v0.0.0-20181029194003-1af4ab5afa58/go.mod h1:6lfFZQK844Gfx8o5WFuvpxWRwnSoipWe/p622j1v06w= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= github.com/samuel/go-zookeeper v0.0.0-20190923202752-2cc03de413da/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= github.com/samuel/go-zookeeper v0.0.0-20200724154423-2164a8ac840e/go.mod h1:gi+0XIa01GRL2eRQVjQkKGqKF3SF9vZR/HnPullcV2E= -github.com/satori/go.uuid v0.0.0-20160603004225-b111a074d5ef/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= -github.com/satori/go.uuid v1.2.1-0.20181028125025-b2ce2384e17b/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= -github.com/sergi/go-diff v1.1.0/go.mod h1:STckp+ISIX8hZLjrqAeVduY0gWCT9IjLuqbuNXdaHfM= github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= github.com/shurcooL/vfsgen v0.0.0-20181202132449-6a9ea43bcacd/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= @@ -1009,29 +785,21 @@ github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPx github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.6.0/go.mod h1:7uNnSEd1DgxDLC74fIahvMZmmYsHGZGEOFrfsX/uA88= -github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= -github.com/smartystreets/assertions v1.0.1/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM= github.com/sony/gobreaker v0.4.1/go.mod h1:ZKptC7FHNvhBz7dN2LGjPVBz2sZJmc0/PkyDJOjmxWY= github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= -github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= -github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= -github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/streadway/amqp v0.0.0-20190404075320-75d898a42a94/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/amqp v0.0.0-20190827072141-edfb9018d271/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= -github.com/streadway/amqp v1.0.0/go.mod h1:AZpEONHx3DKn8O/DFsRAY58/XVQiIPMTMB1SddzLXVw= github.com/streadway/handy v0.0.0-20190108123426-d5acb3125c2a/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= -github.com/streadway/handy v0.0.0-20200128134331-0f66f006fb2e/go.mod h1:qNTQ5P5JnDBl6z3cMAg/SywNDC5ABu5ApDIw6lUbRmI= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= @@ -1045,24 +813,14 @@ github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5Cc github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk= github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= -github.com/tinylib/msgp v1.1.0/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= github.com/tmc/grpc-websocket-proxy v0.0.0-20170815181823-89b8d40f7ca8/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= -github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U= github.com/tv42/httpunix v0.0.0-20150427012821-b75d8614f926/go.mod h1:9ESjWnEqriFuLhtthL60Sar/7RFoluCcXsuvEwTV5KM= -github.com/uber-go/tally v3.3.15+incompatible/go.mod h1:YDTIBxdXyOU/sCWilKB4bgyufu1cEi0jdVnRdxvjnmU= -github.com/uber/athenadriver v1.1.4/go.mod h1:tQjho4NzXw55LGfSZEcETuYydpY1vtmixUabHkC1K/E= -github.com/uber/jaeger-client-go v2.23.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= github.com/uber/jaeger-client-go v2.25.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-client-go v2.28.0+incompatible/go.mod h1:WVhlPFC8FDjOFMMWRy2pZqQJSXxYSwNYOkTr/Z6d3Kk= -github.com/uber/jaeger-lib v2.2.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= github.com/uber/jaeger-lib v2.4.0+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/uber/jaeger-lib v2.4.1+incompatible/go.mod h1:ComeNDZlWwrWnDv8aPp0Ba6+uUTzImX/AauajbLI56U= -github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc= github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA= -github.com/urfave/cli v1.22.1 h1:+mkCCcOFKPnCmVYVcURKps1Xe+3zP90gSYGNfRkjoIY= github.com/urfave/cli v1.22.1/go.mod h1:Gos4lmkARVdJ6EkW0WaNv/tZAAMe9V7XWyB60NtXRu0= -github.com/urfave/cli/v2 v2.6.0 h1:yj2Drkflh8X/zUrkWlWlUjZYHyWN7WMmpVxyxXIUyv8= -github.com/urfave/cli/v2 v2.6.0/go.mod h1:oDzoM7pVwz6wHn5ogWgFUU1s4VJayeQS+aEZDqXIEJs= +github.com/urfave/cli/v2 v2.7.1 h1:DsAOFeI9T0vmUW4LiGR5mhuCIn5kqGIE4WMU2ytmH00= +github.com/urfave/cli/v2 v2.7.1/go.mod h1:TYFbtzt/azQoJOrGH5mDfZtS0jIkl/OeFwlRWPR9KRM= github.com/valyala/bytebufferpool v1.0.0 h1:GqA5TC/0021Y/b9FG4Oi9Mr3q7XYx6KllzawFIhcdPw= github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= github.com/valyala/fasthttp v1.30.0/go.mod h1:2rsYD01CKFrjjsvFxx75KlEUNpWNBY9JWD3K/7o2Cus= @@ -1070,7 +828,6 @@ github.com/valyala/fastjson v1.6.3 h1:tAKFnnwmeMGPbwJ7IwxcTPCNr3uIzoIj3/Fh90ra4x github.com/valyala/fastjson v1.6.3/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= github.com/valyala/fastrand v1.1.0 h1:f+5HkLW4rsgzdNoleUOB69hyT9IlD2ZQh9GyDMfb5G8= github.com/valyala/fastrand v1.1.0/go.mod h1:HWqCzkrkg6QXT8V2EXWvXCoow7vLwOFN002oeRzjapQ= -github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= github.com/valyala/fasttemplate v1.2.1 h1:TVEnxayobAdVkhQfrfes2IzOB6o+z4roRkPF52WA1u4= github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= github.com/valyala/gozstd v1.17.0 h1:M4Ds4MIrw+pD+s6vYtuFZ8D3iEw9htzfdytOV3C3iQU= @@ -1081,34 +838,23 @@ github.com/valyala/quicktemplate v1.7.0 h1:LUPTJmlVcb46OOUY3IeD9DojFpAVbsG+5WFTc github.com/valyala/quicktemplate v1.7.0/go.mod h1:sqKJnoaOF88V07vkO+9FL8fb9uZg/VPSJnLYn+LmLk8= github.com/valyala/tcplisten v1.0.0/go.mod h1:T0xQ8SeCZGxckz9qRXTfG43PvQ/mcWh7FwZEA7Ioqkc= github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw= -github.com/vertica/vertica-sql-go v1.1.1/go.mod h1:fGr44VWdEvL+f+Qt5LkKLOT7GoxaWdoUCnPBU9h6t04= github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= -github.com/willf/bitset v1.1.9/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I= github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y= github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= github.com/xlab/treeprint v1.0.0/go.mod h1:IoImgRak9i3zJyuxOKUP1v4UZd1tMoKkq/Cimt1uhCg= -github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/zeebo/xxh3 v0.13.0/go.mod h1:AQY73TOrhF3jNsdiM9zZOb8MThrYbZONHj7ryDBaLpg= -go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/bbolt v1.3.3/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= go.etcd.io/etcd v0.0.0-20191023171146-3cf2f69b5738/go.mod h1:dnLIgRNXwCJa5e+c6mIZCrds/GIG4ncV9HhK5PX7jPg= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -go.etcd.io/etcd/client/v3 v3.5.0/go.mod h1:AIKXXVX/DQXtfTEqBryiLTUXwON+GuvO6Z7lLS/oTh0= go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.1.2/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM= go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= -go.mongodb.org/mongo-driver v1.3.2/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE= go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc= go.opencensus.io v0.20.1/go.mod h1:6WKK9ahsWS3RSO+PY9ZHZUfv2irvY6gN279GOPZjmmk= @@ -1121,17 +867,9 @@ go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= -go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= -go.opentelemetry.io/otel/oteltest v0.20.0/go.mod h1:L7bgKf9ZB7qCwT9Up7i9/pn0PWIa9FqQ2IQ8LoxiGnw= -go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= -go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= -go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.5.1/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= @@ -1140,25 +878,14 @@ go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 h1:sHOAIxRGBp443oHZIPB+ go.uber.org/goleak v1.1.11-0.20210813005559-691160354723/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.4.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= -go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/multierr v1.7.0/go.mod h1:7EAYxJLBy9rStEaz58O2t4Uvip6FSURkq8/ppBp95ak= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.14.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.16.0/go.mod h1:MA8QOfq0BHJwdXa996Y4dYkAqRKB8/1K1QMMZVaNZjQ= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -go.uber.org/zap v1.19.1/go.mod h1:j3DNczoxDZroyBnOT1L/Q79cfUMGZxlv/9dzN7SM1rI= -golang.org/x/crypto v0.0.0-20180505025534-4ec37c66abab/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= -golang.org/x/crypto v0.0.0-20190211182817-74369b46fc67/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-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE= golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= @@ -1170,45 +897,25 @@ golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3 golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191202143827-86a70503ff7e/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200220183623-bac4c82f6975/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200323165209-0ec3e9974c59/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200422194213-44a606286825/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= -golang.org/x/crypto v0.0.0-20210314154223-e6e6c4f2bb5b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= golang.org/x/crypto v0.0.0-20210513164829-c07d793c2f9a/go.mod h1:P+XmwS30IXTQdn5tA2iutPOUgjI07+tq3H3K9MVA1s8= -golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210915214749-c084706c2272/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211117183948-ae814b36b871/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= -golang.org/x/exp v0.0.0-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= -golang.org/x/exp v0.0.0-20191002040644-a1355ae1e2c3/go.mod h1:NOZ3BPKG0ec/BKJQgnvsSFpcKLM5xXVWnvZS97DWHgE= golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20211028214138-64b4c8e87d1a/go.mod h1:a3o/VtDNHN+dCVLEpzjjUHOzR+Ln3DHX056ZPzoZGGA= -golang.org/x/exp v0.0.0-20211216164055-b2b84827b756/go.mod h1:b9TAUYHmRtqA6klRHApnXMnj+OyLce4yF5cZCUbk2ps= golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20190910094157-69e4b8554b2a/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200119044424-58c23975cae1/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200430140353-33d19683fad8/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20200618115811-c13761719519/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20201208152932-35266b937fa6/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= -golang.org/x/image v0.0.0-20210216034530-4410531fe030/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= @@ -1223,21 +930,15 @@ golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPI golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= -golang.org/x/mobile v0.0.0-20201217150744-e6ae53a27f4f/go.mod h1:skQtrUTUwhdJvXM/2KKJzY8pDgNr9I/FOMqDVRPBUS4= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.1.1-0.20191209134235-331c550502dd/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.5.1-0.20210830214625-1b1db11ec8f4/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= -golang.org/x/mod v0.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= -golang.org/x/net v0.0.0-20170114055629-f2499483f923/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= @@ -1254,7 +955,6 @@ golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1263,10 +963,6 @@ golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191002035440-2ec189313ef0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191126235420-ef20fe5d7933/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1274,11 +970,9 @@ golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200421231249-e086a090c8fd/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= @@ -1292,22 +986,16 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210505024714-0287a6fb4125/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210510120150-4163338589ed/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210917221730-978cfadd31cf/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20211118161319-6a13c67c3ce4/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220325170049-de3da57026de/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220412020605-290c469a71a5/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= -golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 h1:HVyaeDAYux4pnY+D/SiwmLOR36ewZ4iGQIIrtnuCjFA= golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 h1:NWy5+hlRbC7HK+PmcXVUmW1IMyFce7to56IUvhUFm7Y= +golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1319,7 +1007,6 @@ golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -1340,9 +1027,9 @@ golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c h1:5KslGYwFpkhGh+Q16bwMP3cOontH8FOep7tGV86Y7SQ= golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 h1:w8s32wxx3sY+OjLlv9qltkLU5yvJzxjjgiHWLjdIcw4= +golang.org/x/sync v0.0.0-20220513210516-0976fa681c29/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1351,8 +1038,6 @@ golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181122145206-62eef0e2fa9b/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190130150945-aca44879d564/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190209173611-3b5209105503/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1368,18 +1053,13 @@ golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190826190057-c7b8b68b1456/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191128015809-6d18c012aee9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191220142924-d4481acd189f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1404,46 +1084,32 @@ golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200615200032-f1bc736245b1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200622214017-ed371f2e16b4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200625212154-ddb9806d33ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200727154430-2d971f7391a4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200828194041-157a740278f4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201015000850-e3ed0017c211/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210304124612-50617c2ba197/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210503080704-8803ae5d1324/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210601080250-7ecdf8ef093b/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210616045830-e2b7044e8c71/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210917161153-d61c044b1678/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1455,12 +1121,11 @@ golang.org/x/sys v0.0.0-20220328115105-d36c6a25d886/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220405052023-b1e9470b6e64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220502124256-b6088ccd6cba/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 h1:nonptSpoQ4vQjyraW20DXPAglgQfVnM9ZC6MmNLMR60= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/sys v0.0.0-20220519141025-dcacdad47464 h1:MpIuURY70f0iKp/oooEFtB2oENcHITo/z1b6u41pKCw= +golang.org/x/sys v0.0.0-20220519141025-dcacdad47464/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= -golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -1475,11 +1140,7 @@ golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxb golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20200416051211-89c76fbcd5d1/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20180828015842-6cd1fcedba52/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1506,11 +1167,9 @@ golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= -golang.org/x/tools v0.0.0-20190813034749-528a2984e271/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190927191325-030b2cf1153e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029190741-b9c20aec41a5/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1520,13 +1179,11 @@ golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtn golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191203134012-c197fd4bf371/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191216052735-49a3e744a425/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200103221440-774c71fcf114/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117012304-6edc0a871e69/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= @@ -1535,17 +1192,14 @@ golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapK golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304024140-c4206d458c3f/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200422205258-72e4a01eba43/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200513201620-d5fe73897c97/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= @@ -1554,32 +1208,26 @@ golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20201119054027-25dc3e1ccc3c/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= -golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= 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/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f h1:GGU+dLjvlC3qDwqYgL6UgRmHXhOOgns0bZu2Ty5mm6U= golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= -gonum.org/v1/gonum v0.8.2/go.mod h1:oe/vMfY3deqTw+1EZJhuvEW2iwGF1bW9wwu7XCu0+v0= -gonum.org/v1/gonum v0.9.3/go.mod h1:TZumC3NeyVQskjXqmyWt4S3bINhy7B4eYwW69EbyX+0= gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= -gonum.org/v1/plot v0.9.0/go.mod h1:3Pcqqmp6RHvJI72kgb8fThyUnav364FOsdDo2aGW5lY= google.golang.org/api v0.3.1/go.mod h1:6wY9I6uQWHQ8EM57III9mq/AjF+i8G65rmVagqKMtkk= google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= @@ -1602,7 +1250,6 @@ google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34q google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4= google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw= @@ -1619,8 +1266,9 @@ google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc google.golang.org/api v0.74.0/go.mod h1:ZpfMZOVRMywNyvJFeqL9HRWBgAuRfSjJFpe9QtRRyDs= google.golang.org/api v0.75.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= google.golang.org/api v0.77.0/go.mod h1:pU9QmyHLnzlpar1Mjt4IbapUCy8J+6HD6GeELN69ljA= -google.golang.org/api v0.78.0 h1:5ewPyCwP43C3i8B6C2Kb+eVAevbnke2xR8VbcSWjS4I= google.golang.org/api v0.78.0/go.mod h1:1Sg78yoMLOhlQTeF+ARBoytAcH1NNyyl390YMy6rKmw= +google.golang.org/api v0.80.0 h1:IQWaGVCYnsm4MO3hh+WtSXMzMzuyFx/fuR8qkN3A0Qo= +google.golang.org/api v0.80.0/go.mod h1:xY3nI94gbvBrE0J6NHXhxOmW97HG7Khjkku6AFB3Hyg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.2.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1640,7 +1288,6 @@ google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98 google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= -google.golang.org/genproto v0.0.0-20190927181202-20e1ac93f88c/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= @@ -1655,7 +1302,6 @@ google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfG google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200420144010-e5e8543f8aeb/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= @@ -1676,15 +1322,11 @@ google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6D google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20210329143202-679c6ae281ee/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210601144548-a796c710e9b6/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24= -google.golang.org/genproto v0.0.0-20210630183607-d20f26d13c79/go.mod h1:yiaVoXHpRzHGyxV3o4DktVWY4mSUErTKaeEOq6C3t3U= google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k= google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48= @@ -1695,7 +1337,6 @@ google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEc google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= -google.golang.org/genproto v0.0.0-20210917145530-b395a37504d4/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY= google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= @@ -1715,8 +1356,10 @@ google.golang.org/genproto v0.0.0-20220414192740-2d67ff6cf2b4/go.mod h1:8w6bsBMX google.golang.org/genproto v0.0.0-20220421151946-72621c1f0bd3/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220429170224-98d788798c3e/go.mod h1:8w6bsBMX6yCPbAVTeqQHvzxW0EIFigd5lZyahWgyfDo= google.golang.org/genproto v0.0.0-20220502173005-c8bf987b8c21/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= -google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 h1:q1kiSVscqoDeqTF27eQ2NnLLDmqF0I373qQNXYMy0fo= google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220518221133-4f43b3371335/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd h1:e0TwkXOdbnH/1x5rc5MZ/VYyiZ4v+RdVfrGMqEwT68I= +google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd/go.mod h1:RAyBrSAP7Fh3Nc84ghnVLDPuV51xc9agzmm4Ph6i0Q4= google.golang.org/grpc v1.17.0/go.mod h1:6QZJwpn2B+Zp71q/5VxRsJ6NXXVCE5NRUHRo+f3cWCs= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.0/go.mod h1:chYK+tFQF0nDUGJgXMSgLCQk3phJEuONr2DCgLDdAQM= @@ -1726,13 +1369,11 @@ google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ij google.golang.org/grpc v1.22.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.1/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= -google.golang.org/grpc v1.24.0/go.mod h1:XDChyiUovWa60DnaeDeZmSW86xtLtjtZbwvSiRnRtcA= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.0/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= @@ -1750,11 +1391,11 @@ google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnD google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= -google.golang.org/grpc v1.41.0/go.mod h1:U3l9uK9J0sini8mHphKoXyaqDA/8VyGnDee1zzIUK6k= google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= -google.golang.org/grpc v1.46.0 h1:oCjezcn6g6A75TGoKYBPgKmVBLexhYLM6MebdrPApP8= google.golang.org/grpc v1.46.0/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= +google.golang.org/grpc v1.46.2 h1:u+MLGgVf7vRdjEYZ8wDFhAVNmhkbJ5hmrA1LMWK1CAQ= +google.golang.org/grpc v1.46.2/go.mod h1:vN9eftEi1UMyUsIF80+uQXhHjbXYbm0uXoFCACuMGWk= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= 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= @@ -1777,8 +1418,6 @@ gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8 gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU= gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= -gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/cheggaaa/pb.v1 v1.0.25/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= @@ -1794,7 +1433,6 @@ gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.5/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.7/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -1813,32 +1451,20 @@ honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWh honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= -honnef.co/go/tools v0.2.0/go.mod h1:lPVVZ2BS5TfnjLyizF7o7hv7j9/L+8cZY2hLyjP9cGY= -k8s.io/api v0.17.5/go.mod h1:0zV5/ungglgy2Rlm3QK8fbxkXVs+BSJWpJP/+8gUVLY= k8s.io/api v0.19.4/go.mod h1:SbtJ2aHCItirzdJ36YslycFNzWADYH3tgOhvBEFtZAk= -k8s.io/apimachinery v0.17.5/go.mod h1:ioIo1G/a+uONV7Tv+ZmCbMG1/a3kVw5YcDdncd8ugQ0= k8s.io/apimachinery v0.19.4/go.mod h1:DnPGDnARWFvYa3pMHgSxtbZb7gpzzAZ1pTfaUNDVlmA= -k8s.io/client-go v0.17.5/go.mod h1:S8uZpBpjJJdEH/fEyxcqg7Rn0P5jH+ilkgBHjriSmNo= k8s.io/client-go v0.19.4/go.mod h1:ZrEy7+wj9PjH5VMBCuu/BDlvtUAku0oVFk4MmnW9mWA= -k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20200413195148-3a45101e95ac/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= -k8s.io/klog v0.0.0-20181102134211-b9b56d5dfc92/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= -k8s.io/klog v0.3.0/go.mod h1:Gq+BEi5rUBO/HRz0bTSXDUcqjScdoY3a9IHpCEIOOfk= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/klog/v2 v2.0.0/go.mod h1:PBfzABfn139FHAV07az/IF9Wp1bkk3vpT2XSJ76fSDE= k8s.io/klog/v2 v2.2.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= k8s.io/klog/v2 v2.4.0/go.mod h1:Od+F08eJP+W3HUb4pSrPpgp9DGU4GzlpG/TmITuYh/Y= -k8s.io/kube-openapi v0.0.0-20200316234421-82d701f24f9d/go.mod h1:F+5wygcW0wmRTnM3cOgIqGivxkwSWIWT5YdsDbeAOaU= k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6/go.mod h1:UuqjUnNftUyPE5H64/qeyjQoUZhGpeFDVdxjTeEVN2o= -k8s.io/utils v0.0.0-20191114184206-e782cd3c129f/go.mod h1:sZAwmy6armz5eXlNoLmJcl4F1QuKu7sr+mFQ0byX7Ew= -k8s.io/utils v0.0.0-20200414100711-2df71ebbae66/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/structured-merge-diff/v2 v2.0.1/go.mod h1:Wb7vfKAodbKgf6tn1Kl0VvGj7mRH6DGaRcixXEJXTsE= sigs.k8s.io/structured-merge-diff/v4 v4.0.1/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= diff --git a/vendor/cloud.google.com/go/storage/.release-please-manifest.json b/vendor/cloud.google.com/go/storage/.release-please-manifest.json index 2ad271007..a068903e0 100644 --- a/vendor/cloud.google.com/go/storage/.release-please-manifest.json +++ b/vendor/cloud.google.com/go/storage/.release-please-manifest.json @@ -1,3 +1,3 @@ { - "storage": "1.22.0" + "storage": "1.22.1" } \ No newline at end of file diff --git a/vendor/cloud.google.com/go/storage/CHANGES.md b/vendor/cloud.google.com/go/storage/CHANGES.md index 1f51830f4..d88a1b2c8 100644 --- a/vendor/cloud.google.com/go/storage/CHANGES.md +++ b/vendor/cloud.google.com/go/storage/CHANGES.md @@ -1,6 +1,14 @@ # Changes +### [1.22.1](https://github.com/googleapis/google-cloud-go/compare/storage/v1.22.0...storage/v1.22.1) (2022-05-19) + + +### Bug Fixes + +* **storage:** bump genproto, remove deadcode ([#6059](https://github.com/googleapis/google-cloud-go/issues/6059)) ([bb10f9f](https://github.com/googleapis/google-cloud-go/commit/bb10f9faca57dc3b987e0fb601090887b3507f07)) +* **storage:** remove field that no longer exists ([#6061](https://github.com/googleapis/google-cloud-go/issues/6061)) ([ee150cf](https://github.com/googleapis/google-cloud-go/commit/ee150cfd194463ddfcb59898cfb0237e47777973)) + ## [1.22.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.21.0...storage/v1.22.0) (2022-03-31) diff --git a/vendor/cloud.google.com/go/storage/acl.go b/vendor/cloud.google.com/go/storage/acl.go index c59c380ee..0c2374008 100644 --- a/vendor/cloud.google.com/go/storage/acl.go +++ b/vendor/cloud.google.com/go/storage/acl.go @@ -121,12 +121,12 @@ func (a *ACLHandle) List(ctx context.Context) (rules []ACLRule, err error) { func (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) { var acls *raw.ObjectAccessControls var err error + req := a.c.raw.DefaultObjectAccessControls.List(a.bucket) + a.configureCall(ctx, req) err = run(ctx, func() error { - req := a.c.raw.DefaultObjectAccessControls.List(a.bucket) - a.configureCall(ctx, req) acls, err = req.Do() return err - }, a.retry, true) + }, a.retry, true, setRetryHeaderHTTP(req)) if err != nil { return nil, err } @@ -139,18 +139,18 @@ func (a *ACLHandle) bucketDefaultDelete(ctx context.Context, entity ACLEntity) e return run(ctx, func() error { return req.Do() - }, a.retry, false) + }, a.retry, false, setRetryHeaderHTTP(req)) } func (a *ACLHandle) bucketList(ctx context.Context) ([]ACLRule, error) { var acls *raw.BucketAccessControls var err error + req := a.c.raw.BucketAccessControls.List(a.bucket) + a.configureCall(ctx, req) err = run(ctx, func() error { - req := a.c.raw.BucketAccessControls.List(a.bucket) - a.configureCall(ctx, req) acls, err = req.Do() return err - }, a.retry, true) + }, a.retry, true, setRetryHeaderHTTP(req)) if err != nil { return nil, err } @@ -168,7 +168,7 @@ func (a *ACLHandle) bucketSet(ctx context.Context, entity ACLEntity, role ACLRol return run(ctx, func() error { _, err := req.Do() return err - }, a.retry, false) + }, a.retry, false, setRetryHeaderHTTP(req)) } func (a *ACLHandle) bucketDelete(ctx context.Context, entity ACLEntity) error { @@ -176,18 +176,18 @@ func (a *ACLHandle) bucketDelete(ctx context.Context, entity ACLEntity) error { a.configureCall(ctx, req) return run(ctx, func() error { return req.Do() - }, a.retry, false) + }, a.retry, false, setRetryHeaderHTTP(req)) } func (a *ACLHandle) objectList(ctx context.Context) ([]ACLRule, error) { var acls *raw.ObjectAccessControls var err error + req := a.c.raw.ObjectAccessControls.List(a.bucket, a.object) + a.configureCall(ctx, req) err = run(ctx, func() error { - req := a.c.raw.ObjectAccessControls.List(a.bucket, a.object) - a.configureCall(ctx, req) acls, err = req.Do() return err - }, a.retry, true) + }, a.retry, true, setRetryHeaderHTTP(req)) if err != nil { return nil, err } @@ -215,7 +215,7 @@ func (a *ACLHandle) objectSet(ctx context.Context, entity ACLEntity, role ACLRol return run(ctx, func() error { _, err := req.Do() return err - }, a.retry, false) + }, a.retry, false, setRetryHeaderHTTP(req)) } func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error { @@ -223,7 +223,7 @@ func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error { a.configureCall(ctx, req) return run(ctx, func() error { return req.Do() - }, a.retry, false) + }, a.retry, false, setRetryHeaderHTTP(req)) } func (a *ACLHandle) configureCall(ctx context.Context, call interface{ Header() http.Header }) { diff --git a/vendor/cloud.google.com/go/storage/bucket.go b/vendor/cloud.google.com/go/storage/bucket.go index 3ac58114f..101f695b5 100644 --- a/vendor/cloud.google.com/go/storage/bucket.go +++ b/vendor/cloud.google.com/go/storage/bucket.go @@ -28,7 +28,6 @@ import ( "cloud.google.com/go/internal/optional" "cloud.google.com/go/internal/trace" "github.com/googleapis/go-type-adapters/adapters" - "golang.org/x/xerrors" "google.golang.org/api/googleapi" "google.golang.org/api/iamcredentials/v1" "google.golang.org/api/iterator" @@ -104,7 +103,7 @@ func (b *BucketHandle) Create(ctx context.Context, projectID string, attrs *Buck if attrs != nil && attrs.PredefinedDefaultObjectACL != "" { req.PredefinedDefaultObjectAcl(attrs.PredefinedDefaultObjectACL) } - return run(ctx, func() error { _, err := req.Context(ctx).Do(); return err }, b.retry, true) + return run(ctx, func() error { _, err := req.Context(ctx).Do(); return err }, b.retry, true, setRetryHeaderHTTP(req)) } // Delete deletes the Bucket. @@ -117,7 +116,7 @@ func (b *BucketHandle) Delete(ctx context.Context) (err error) { return err } - return run(ctx, func() error { return req.Context(ctx).Do() }, b.retry, true) + return run(ctx, func() error { return req.Context(ctx).Do() }, b.retry, true, setRetryHeaderHTTP(req)) } func (b *BucketHandle) newDeleteCall() (*raw.BucketsDeleteCall, error) { @@ -185,9 +184,9 @@ func (b *BucketHandle) Attrs(ctx context.Context) (attrs *BucketAttrs, err error err = run(ctx, func() error { resp, err = req.Context(ctx).Do() return err - }, b.retry, true) + }, b.retry, true, setRetryHeaderHTTP(req)) var e *googleapi.Error - if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound { + if ok := errors.As(err, &e); ok && e.Code == http.StatusNotFound { return nil, ErrBucketNotExist } if err != nil { @@ -233,7 +232,7 @@ func (b *BucketHandle) Update(ctx context.Context, uattrs BucketAttrsToUpdate) ( return err } - if err := run(ctx, call, b.retry, isIdempotent); err != nil { + if err := run(ctx, call, b.retry, isIdempotent, setRetryHeaderHTTP(req)); err != nil { return nil, err } return newBucket(rawBucket) @@ -921,11 +920,9 @@ func (b *BucketAttrs) toProtoBucket() *storagepb.Bucket { Enabled: true, } } - // TODO(noahdietz): This will be switched to a string. - // - // if b.PublicAccessPrevention != PublicAccessPreventionUnknown { - // bktIAM.PublicAccessPrevention = b.PublicAccessPrevention.String() - // } + if b.PublicAccessPrevention != PublicAccessPreventionUnknown { + bktIAM.PublicAccessPrevention = b.PublicAccessPrevention.String() + } } return &storagepb.Bucket{ @@ -948,6 +945,81 @@ func (b *BucketAttrs) toProtoBucket() *storagepb.Bucket { } } +func (ua *BucketAttrsToUpdate) toProtoBucket() *storagepb.Bucket { + if ua == nil { + return &storagepb.Bucket{} + } + + // TODO(cathyo): Handle labels. Pending b/230510191. + + var v *storagepb.Bucket_Versioning + if ua.VersioningEnabled != nil { + v = &storagepb.Bucket_Versioning{Enabled: optional.ToBool(ua.VersioningEnabled)} + } + var bb *storagepb.Bucket_Billing + if ua.RequesterPays != nil { + bb = &storage.Bucket_Billing{RequesterPays: optional.ToBool(ua.RequesterPays)} + } + var bktIAM *storagepb.Bucket_IamConfig + var ublaEnabled bool + var bktPolicyOnlyEnabled bool + if ua.UniformBucketLevelAccess != nil { + ublaEnabled = optional.ToBool(ua.UniformBucketLevelAccess.Enabled) + } + if ua.BucketPolicyOnly != nil { + bktPolicyOnlyEnabled = optional.ToBool(ua.BucketPolicyOnly.Enabled) + } + if ublaEnabled || bktPolicyOnlyEnabled { + bktIAM.UniformBucketLevelAccess = &storagepb.Bucket_IamConfig_UniformBucketLevelAccess{ + Enabled: true, + } + } + if ua.PublicAccessPrevention != PublicAccessPreventionUnknown { + bktIAM.PublicAccessPrevention = ua.PublicAccessPrevention.String() + } + var defaultHold bool + if ua.DefaultEventBasedHold != nil { + defaultHold = optional.ToBool(ua.DefaultEventBasedHold) + } + var lifecycle Lifecycle + if ua.Lifecycle != nil { + lifecycle = *ua.Lifecycle + } + var bktACL []*storagepb.BucketAccessControl + if ua.acl != nil { + bktACL = toProtoBucketACL(ua.acl) + } + if ua.PredefinedACL != "" { + // Clear ACL or the call will fail. + bktACL = nil + } + var bktDefaultObjectACL []*storagepb.ObjectAccessControl + if ua.defaultObjectACL != nil { + bktDefaultObjectACL = toProtoObjectACL(ua.defaultObjectACL) + } + if ua.PredefinedDefaultObjectACL != "" { + // Clear ACLs or the call will fail. + bktDefaultObjectACL = nil + } + + return &storagepb.Bucket{ + StorageClass: ua.StorageClass, + Acl: bktACL, + DefaultObjectAcl: bktDefaultObjectACL, + DefaultEventBasedHold: defaultHold, + Versioning: v, + Billing: bb, + Lifecycle: toProtoLifecycle(lifecycle), + RetentionPolicy: ua.RetentionPolicy.toProtoRetentionPolicy(), + Cors: toProtoCORS(ua.CORS), + Encryption: ua.Encryption.toProtoBucketEncryption(), + Logging: ua.Logging.toProtoBucketLogging(), + Website: ua.Website.toProtoBucketWebsite(), + IamConfig: bktIAM, + Rpo: ua.RPO.String(), + } +} + // CORS is the bucket's Cross-Origin Resource Sharing (CORS) configuration. type CORS struct { // MaxAge is the value to return in the Access-Control-Max-Age @@ -1060,6 +1132,17 @@ type BucketAttrsToUpdate struct { // more information. RPO RPO + // acl is the list of access control rules on the bucket. + // It is unexported and only used internally by the gRPC client. + // Library users should use ACLHandle methods directly. + acl []ACLRule + + // defaultObjectACL is the list of access controls to + // apply to new objects when no object ACL is provided. + // It is unexported and only used internally by the gRPC client. + // Library users should use ACLHandle methods directly. + defaultObjectACL []ACLRule + setLabels map[string]string deleteLabels map[string]bool } @@ -1258,7 +1341,7 @@ func (b *BucketHandle) LockRetentionPolicy(ctx context.Context) error { return run(ctx, func() error { _, err := req.Context(ctx).Do() return err - }, b.retry, true) + }, b.retry, true, setRetryHeaderHTTP(req)) } // applyBucketConds modifies the provided call using the conditions in conds. @@ -1329,7 +1412,7 @@ func (rp *RetentionPolicy) toProtoRetentionPolicy() *storagepb.Bucket_RetentionP } func toRetentionPolicy(rp *raw.BucketRetentionPolicy) (*RetentionPolicy, error) { - if rp == nil { + if rp == nil || rp.EffectiveTime == "" { return nil, nil } t, err := time.Parse(time.RFC3339, rp.EffectiveTime) @@ -1916,10 +1999,10 @@ func (it *ObjectIterator) fetch(pageSize int, pageToken string) (string, error) err = run(it.ctx, func() error { resp, err = req.Context(it.ctx).Do() return err - }, it.bucket.retry, true) + }, it.bucket.retry, true, setRetryHeaderHTTP(req)) if err != nil { var e *googleapi.Error - if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound { + if ok := errors.As(err, &e); ok && e.Code == http.StatusNotFound { err = ErrBucketNotExist } return "", err @@ -1987,6 +2070,9 @@ func (it *BucketIterator) Next() (*BucketAttrs, error) { // Note: This method is not safe for concurrent operations without explicit synchronization. func (it *BucketIterator) PageInfo() *iterator.PageInfo { return it.pageInfo } +// TODO: When the transport-agnostic client interface is integrated into the Veneer, +// this method should be removed, and the iterator should be initialized by the +// transport-specific client implementations. func (it *BucketIterator) fetch(pageSize int, pageToken string) (token string, err error) { req := it.client.raw.Buckets.List(it.projectID) setClientHeader(req.Header()) @@ -2000,7 +2086,7 @@ func (it *BucketIterator) fetch(pageSize int, pageToken string) (token string, e err = run(it.ctx, func() error { resp, err = req.Context(it.ctx).Do() return err - }, it.client.retry, true) + }, it.client.retry, true, setRetryHeaderHTTP(req)) if err != nil { return "", err } diff --git a/vendor/cloud.google.com/go/storage/client.go b/vendor/cloud.google.com/go/storage/client.go index 7155a91f7..87ee41927 100644 --- a/vendor/cloud.google.com/go/storage/client.go +++ b/vendor/cloud.google.com/go/storage/client.go @@ -43,16 +43,16 @@ type storageClient interface { GetServiceAccount(ctx context.Context, project string, opts ...storageOption) (string, error) CreateBucket(ctx context.Context, project string, attrs *BucketAttrs, opts ...storageOption) (*BucketAttrs, error) - ListBuckets(ctx context.Context, project string, opts ...storageOption) (*BucketIterator, error) + ListBuckets(ctx context.Context, project string, opts ...storageOption) *BucketIterator Close() error // Bucket methods. DeleteBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error GetBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) - UpdateBucket(ctx context.Context, uattrs *BucketAttrsToUpdate, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) + UpdateBucket(ctx context.Context, bucket string, uattrs *BucketAttrsToUpdate, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) LockBucketRetentionPolicy(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error - ListObjects(ctx context.Context, bucket string, q *Query, opts ...storageOption) (*ObjectIterator, error) + ListObjects(ctx context.Context, bucket string, q *Query, opts ...storageOption) *ObjectIterator // Object metadata methods. diff --git a/vendor/cloud.google.com/go/storage/copy.go b/vendor/cloud.google.com/go/storage/copy.go index f18075352..26865fa47 100644 --- a/vendor/cloud.google.com/go/storage/copy.go +++ b/vendor/cloud.google.com/go/storage/copy.go @@ -142,7 +142,7 @@ func (c *Copier) callRewrite(ctx context.Context, rawObj *raw.Object) (*raw.Rewr retryCall := func() error { res, err = call.Do(); return err } isIdempotent := c.dst.conds != nil && (c.dst.conds.GenerationMatch != 0 || c.dst.conds.DoesNotExist) - if err := run(ctx, retryCall, c.dst.retry, isIdempotent); err != nil { + if err := run(ctx, retryCall, c.dst.retry, isIdempotent, setRetryHeaderHTTP(call)); err != nil { return nil, err } c.RewriteToken = res.RewriteToken @@ -237,7 +237,7 @@ func (c *Composer) Run(ctx context.Context) (attrs *ObjectAttrs, err error) { retryCall := func() error { obj, err = call.Do(); return err } isIdempotent := c.dst.conds != nil && (c.dst.conds.GenerationMatch != 0 || c.dst.conds.DoesNotExist) - if err := run(ctx, retryCall, c.dst.retry, isIdempotent); err != nil { + if err := run(ctx, retryCall, c.dst.retry, isIdempotent, setRetryHeaderHTTP(call)); err != nil { return nil, err } return newObject(obj), nil diff --git a/vendor/cloud.google.com/go/storage/grpc_client.go b/vendor/cloud.google.com/go/storage/grpc_client.go index 2cd3c613b..db914d61f 100644 --- a/vendor/cloud.google.com/go/storage/grpc_client.go +++ b/vendor/cloud.google.com/go/storage/grpc_client.go @@ -19,12 +19,15 @@ import ( "os" gapic "cloud.google.com/go/storage/internal/apiv2" + "google.golang.org/api/iterator" "google.golang.org/api/option" iampb "google.golang.org/genproto/googleapis/iam/v1" storagepb "google.golang.org/genproto/googleapis/storage/v2" "google.golang.org/grpc" "google.golang.org/grpc/codes" + "google.golang.org/grpc/metadata" "google.golang.org/grpc/status" + fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" ) const ( @@ -110,8 +113,22 @@ func (c *grpcStorageClient) Close() error { // Top-level methods. func (c *grpcStorageClient) GetServiceAccount(ctx context.Context, project string, opts ...storageOption) (string, error) { - return "", errMethodNotSupported + s := callSettings(c.settings, opts...) + req := &storagepb.GetServiceAccountRequest{ + Project: toProjectResource(project), + } + var resp *storagepb.ServiceAccount + err := run(ctx, func() error { + var err error + resp, err = c.raw.GetServiceAccount(ctx, req, s.gax...) + return err + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) + if err != nil { + return "", err + } + return resp.EmailAddress, err } + func (c *grpcStorageClient) CreateBucket(ctx context.Context, project string, attrs *BucketAttrs, opts ...storageOption) (*BucketAttrs, error) { s := callSettings(c.settings, opts...) b := attrs.toProtoBucket() @@ -123,13 +140,11 @@ func (c *grpcStorageClient) CreateBucket(ctx context.Context, project string, at } req := &storagepb.CreateBucketRequest{ - Parent: toProjectResource(project), - Bucket: b, - BucketId: b.GetName(), - // TODO(noahdietz): This will be switched to a string. - // - // PredefinedAcl: attrs.PredefinedACL, - // PredefinedDefaultObjectAcl: attrs.PredefinedDefaultObjectACL, + Parent: toProjectResource(project), + Bucket: b, + BucketId: b.GetName(), + PredefinedAcl: attrs.PredefinedACL, + PredefinedDefaultObjectAcl: attrs.PredefinedDefaultObjectACL, } var battrs *BucketAttrs @@ -139,13 +154,57 @@ func (c *grpcStorageClient) CreateBucket(ctx context.Context, project string, at battrs = newBucketFromProto(res) return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) return battrs, err } -func (c *grpcStorageClient) ListBuckets(ctx context.Context, project string, opts ...storageOption) (*BucketIterator, error) { - return nil, errMethodNotSupported +func (c *grpcStorageClient) ListBuckets(ctx context.Context, project string, opts ...storageOption) *BucketIterator { + s := callSettings(c.settings, opts...) + it := &BucketIterator{ + ctx: ctx, + projectID: project, + } + + var gitr *gapic.BucketIterator + fetch := func(pageSize int, pageToken string) (token string, err error) { + // Initialize GAPIC-based iterator when pageToken is empty, which + // indicates that this fetch call is attempting to get the first page. + // + // Note: Initializing the GAPIC-based iterator lazily is necessary to + // capture the BucketIterator.Prefix set by the user *after* the + // BucketIterator is returned to them from the veneer. + if pageToken == "" { + req := &storagepb.ListBucketsRequest{ + Parent: toProjectResource(it.projectID), + Prefix: it.Prefix, + } + gitr = c.raw.ListBuckets(it.ctx, req, s.gax...) + } + + var buckets []*storagepb.Bucket + var next string + err = run(it.ctx, func() error { + buckets, next, err = gitr.InternalFetch(pageSize, pageToken) + return err + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) + if err != nil { + return "", err + } + + for _, bkt := range buckets { + b := newBucketFromProto(bkt) + it.buckets = append(it.buckets, b) + } + + return next, nil + } + it.pageInfo, it.nextFunc = iterator.NewPageInfo( + fetch, + func() int { return len(it.buckets) }, + func() interface{} { b := it.buckets; it.buckets = nil; return b }) + + return it } // Bucket methods. @@ -159,14 +218,12 @@ func (c *grpcStorageClient) DeleteBucket(ctx context.Context, bucket string, con return err } if s.userProject != "" { - req.CommonRequestParams = &storagepb.CommonRequestParams{ - UserProject: toProjectResource(s.userProject), - } + ctx = setUserProjectMetadata(ctx, s.userProject) } return run(ctx, func() error { return c.raw.DeleteBucket(ctx, req, s.gax...) - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) } func (c *grpcStorageClient) GetBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) { @@ -178,9 +235,7 @@ func (c *grpcStorageClient) GetBucket(ctx context.Context, bucket string, conds return nil, err } if s.userProject != "" { - req.CommonRequestParams = &storagepb.CommonRequestParams{ - UserProject: toProjectResource(s.userProject), - } + ctx = setUserProjectMetadata(ctx, s.userProject) } var battrs *BucketAttrs @@ -190,7 +245,7 @@ func (c *grpcStorageClient) GetBucket(ctx context.Context, bucket string, conds battrs = newBucketFromProto(res) return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) if s, ok := status.FromError(err); ok && s.Code() == codes.NotFound { return nil, ErrBucketNotExist @@ -198,14 +253,153 @@ func (c *grpcStorageClient) GetBucket(ctx context.Context, bucket string, conds return battrs, err } -func (c *grpcStorageClient) UpdateBucket(ctx context.Context, uattrs *BucketAttrsToUpdate, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) { - return nil, errMethodNotSupported +func (c *grpcStorageClient) UpdateBucket(ctx context.Context, bucket string, uattrs *BucketAttrsToUpdate, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) { + s := callSettings(c.settings, opts...) + b := uattrs.toProtoBucket() + b.Name = bucketResourceName(globalProjectAlias, bucket) + req := &storagepb.UpdateBucketRequest{ + Bucket: b, + PredefinedAcl: uattrs.PredefinedACL, + PredefinedDefaultObjectAcl: uattrs.PredefinedDefaultObjectACL, + } + if err := applyBucketCondsProto("grpcStorageClient.UpdateBucket", conds, req); err != nil { + return nil, err + } + if s.userProject != "" { + ctx = setUserProjectMetadata(ctx, s.userProject) + } + + var paths []string + fieldMask := &fieldmaskpb.FieldMask{ + Paths: paths, + } + if uattrs.CORS != nil { + fieldMask.Paths = append(fieldMask.Paths, "cors") + } + if uattrs.DefaultEventBasedHold != nil { + fieldMask.Paths = append(fieldMask.Paths, "default_event_based_hold") + } + if uattrs.RetentionPolicy != nil { + fieldMask.Paths = append(fieldMask.Paths, "retention_policy") + } + if uattrs.VersioningEnabled != nil { + fieldMask.Paths = append(fieldMask.Paths, "versioning") + } + if uattrs.RequesterPays != nil { + fieldMask.Paths = append(fieldMask.Paths, "billing") + } + if uattrs.BucketPolicyOnly != nil || uattrs.UniformBucketLevelAccess != nil || uattrs.PublicAccessPrevention != PublicAccessPreventionUnknown { + fieldMask.Paths = append(fieldMask.Paths, "iam_config") + } + if uattrs.Encryption != nil { + fieldMask.Paths = append(fieldMask.Paths, "encryption") + } + if uattrs.Lifecycle != nil { + fieldMask.Paths = append(fieldMask.Paths, "lifecycle") + } + if uattrs.Logging != nil { + fieldMask.Paths = append(fieldMask.Paths, "logging") + } + if uattrs.Website != nil { + fieldMask.Paths = append(fieldMask.Paths, "website") + } + if uattrs.PredefinedACL != "" { + // In cases where PredefinedACL is set, Acl is cleared. + fieldMask.Paths = append(fieldMask.Paths, "acl") + } + if uattrs.PredefinedDefaultObjectACL != "" { + // In cases where PredefinedDefaultObjectACL is set, DefaultObjectAcl is cleared. + fieldMask.Paths = append(fieldMask.Paths, "default_object_acl") + } + if uattrs.acl != nil { + // In cases where acl is set by UpdateBucketACL method. + fieldMask.Paths = append(fieldMask.Paths, "acl") + } + if uattrs.defaultObjectACL != nil { + // In cases where defaultObjectACL is set by UpdateBucketACL method. + fieldMask.Paths = append(fieldMask.Paths, "default_object_acl") + } + if uattrs.StorageClass != "" { + fieldMask.Paths = append(fieldMask.Paths, "storage_class") + } + if uattrs.RPO != RPOUnknown { + fieldMask.Paths = append(fieldMask.Paths, "rpo") + } + // TODO(cathyo): Handle labels. Pending b/230510191. + req.UpdateMask = fieldMask + + var battrs *BucketAttrs + err := run(ctx, func() error { + res, err := c.raw.UpdateBucket(ctx, req, s.gax...) + battrs = newBucketFromProto(res) + return err + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) + + return battrs, err } func (c *grpcStorageClient) LockBucketRetentionPolicy(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error { - return errMethodNotSupported + s := callSettings(c.settings, opts...) + req := &storagepb.LockBucketRetentionPolicyRequest{ + Bucket: bucketResourceName(globalProjectAlias, bucket), + } + if err := applyBucketCondsProto("grpcStorageClient.LockBucketRetentionPolicy", conds, req); err != nil { + return err + } + + return run(ctx, func() error { + _, err := c.raw.LockBucketRetentionPolicy(ctx, req, s.gax...) + return err + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) + } -func (c *grpcStorageClient) ListObjects(ctx context.Context, bucket string, q *Query, opts ...storageOption) (*ObjectIterator, error) { - return nil, errMethodNotSupported +func (c *grpcStorageClient) ListObjects(ctx context.Context, bucket string, q *Query, opts ...storageOption) *ObjectIterator { + s := callSettings(c.settings, opts...) + it := &ObjectIterator{ + ctx: ctx, + } + if q != nil { + it.query = *q + } + req := &storagepb.ListObjectsRequest{ + Parent: bucketResourceName(globalProjectAlias, bucket), + Prefix: it.query.Prefix, + Delimiter: it.query.Delimiter, + Versions: it.query.Versions, + LexicographicStart: it.query.StartOffset, + LexicographicEnd: it.query.EndOffset, + // TODO(noahietz): Convert a projection to a FieldMask. + // ReadMask: q.Projection, + } + if s.userProject != "" { + ctx = setUserProjectMetadata(ctx, s.userProject) + } + gitr := c.raw.ListObjects(it.ctx, req, s.gax...) + fetch := func(pageSize int, pageToken string) (token string, err error) { + var objects []*storagepb.Object + err = run(it.ctx, func() error { + objects, token, err = gitr.InternalFetch(pageSize, pageToken) + return err + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) + if err != nil { + if st, ok := status.FromError(err); ok && st.Code() == codes.NotFound { + err = ErrBucketNotExist + } + return "", err + } + + for _, obj := range objects { + b := newObjectFromProto(obj) + it.items = append(it.items, b) + } + + return token, nil + } + it.pageInfo, it.nextFunc = iterator.NewPageInfo( + fetch, + func() int { return len(it.items) }, + func() interface{} { b := it.items; it.items = nil; return b }) + + return it } // Object metadata methods. @@ -223,10 +417,32 @@ func (c *grpcStorageClient) UpdateObject(ctx context.Context, bucket, object str // Default Object ACL methods. func (c *grpcStorageClient) DeleteDefaultObjectACL(ctx context.Context, bucket string, entity ACLEntity, opts ...storageOption) error { - return errMethodNotSupported + // There is no separate API for PATCH in gRPC. + // Make a GET call first to retrieve BucketAttrs. + attrs, err := c.GetBucket(ctx, bucket, nil, opts...) + if err != nil { + return err + } + // Delete the entity and copy other remaining ACL entities. + var acl []ACLRule + for _, a := range attrs.DefaultObjectACL { + if a.Entity != entity { + acl = append(acl, a) + } + } + uattrs := &BucketAttrsToUpdate{defaultObjectACL: acl} + // Call UpdateBucket with a MetagenerationMatch precondition set. + if _, err = c.UpdateBucket(ctx, bucket, uattrs, &BucketConditions{MetagenerationMatch: attrs.MetaGeneration}, opts...); err != nil { + return err + } + return nil } func (c *grpcStorageClient) ListDefaultObjectACLs(ctx context.Context, bucket string, opts ...storageOption) ([]ACLRule, error) { - return nil, errMethodNotSupported + attrs, err := c.GetBucket(ctx, bucket, nil, opts...) + if err != nil { + return nil, err + } + return attrs.DefaultObjectACL, nil } func (c *grpcStorageClient) UpdateDefaultObjectACL(ctx context.Context, opts ...storageOption) (*ACLRule, error) { return nil, errMethodNotSupported @@ -235,13 +451,51 @@ func (c *grpcStorageClient) UpdateDefaultObjectACL(ctx context.Context, opts ... // Bucket ACL methods. func (c *grpcStorageClient) DeleteBucketACL(ctx context.Context, bucket string, entity ACLEntity, opts ...storageOption) error { - return errMethodNotSupported + // There is no separate API for PATCH in gRPC. + // Make a GET call first to retrieve BucketAttrs. + attrs, err := c.GetBucket(ctx, bucket, nil, opts...) + if err != nil { + return err + } + // Delete the entity and copy other remaining ACL entities. + var acl []ACLRule + for _, a := range attrs.ACL { + if a.Entity != entity { + acl = append(acl, a) + } + } + uattrs := &BucketAttrsToUpdate{acl: acl} + // Call UpdateBucket with a MetagenerationMatch precondition set. + if _, err = c.UpdateBucket(ctx, bucket, uattrs, &BucketConditions{MetagenerationMatch: attrs.MetaGeneration}, opts...); err != nil { + return err + } + return nil } func (c *grpcStorageClient) ListBucketACLs(ctx context.Context, bucket string, opts ...storageOption) ([]ACLRule, error) { - return nil, errMethodNotSupported + attrs, err := c.GetBucket(ctx, bucket, nil, opts...) + if err != nil { + return nil, err + } + return attrs.ACL, nil } + func (c *grpcStorageClient) UpdateBucketACL(ctx context.Context, bucket string, entity ACLEntity, role ACLRole, opts ...storageOption) (*ACLRule, error) { - return nil, errMethodNotSupported + // There is no separate API for PATCH in gRPC. + // Make a GET call first to retrieve BucketAttrs. + attrs, err := c.GetBucket(ctx, bucket, nil, opts...) + if err != nil { + return nil, err + } + var acl []ACLRule + aclRule := ACLRule{Entity: entity, Role: role} + acl = append(attrs.ACL, aclRule) + uattrs := &BucketAttrsToUpdate{acl: acl} + // Call UpdateBucket with a MetagenerationMatch precondition set. + _, err = c.UpdateBucket(ctx, bucket, uattrs, &BucketConditions{MetagenerationMatch: attrs.MetaGeneration}, opts...) + if err != nil { + return nil, err + } + return &aclRule, err } // Object ACL methods. @@ -288,7 +542,7 @@ func (c *grpcStorageClient) GetIamPolicy(ctx context.Context, resource string, v var err error rp, err = c.raw.GetIamPolicy(ctx, req, s.gax...) return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) return rp, err } @@ -305,7 +559,7 @@ func (c *grpcStorageClient) SetIamPolicy(ctx context.Context, resource string, p return run(ctx, func() error { _, err := c.raw.SetIamPolicy(ctx, req, s.gax...) return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) } func (c *grpcStorageClient) TestIamPermissions(ctx context.Context, resource string, permissions []string, opts ...storageOption) ([]string, error) { @@ -320,7 +574,7 @@ func (c *grpcStorageClient) TestIamPermissions(ctx context.Context, resource str var err error res, err = c.raw.TestIamPermissions(ctx, req, s.gax...) return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderGRPC(ctx)) if err != nil { return nil, err } @@ -344,3 +598,12 @@ func (c *grpcStorageClient) CreateHMACKey(ctx context.Context, desc *hmacKeyDesc func (c *grpcStorageClient) DeleteHMACKey(ctx context.Context, desc *hmacKeyDesc, opts ...storageOption) error { return errMethodNotSupported } + +// setUserProjectMetadata appends a project ID to the outgoing Context metadata +// via the x-goog-user-project system parameter defined at +// https://cloud.google.com/apis/docs/system-parameters. This is only for +// billing purposes, and is generally optional, except for requester-pays +// buckets. +func setUserProjectMetadata(ctx context.Context, project string) context.Context { + return metadata.AppendToOutgoingContext(ctx, "x-goog-user-project", project) +} diff --git a/vendor/cloud.google.com/go/storage/hmac.go b/vendor/cloud.google.com/go/storage/hmac.go index 6f834d4e9..2de721e81 100644 --- a/vendor/cloud.google.com/go/storage/hmac.go +++ b/vendor/cloud.google.com/go/storage/hmac.go @@ -130,7 +130,7 @@ func (hkh *HMACKeyHandle) Get(ctx context.Context, opts ...HMACKeyOption) (*HMAC err = run(ctx, func() error { metadata, err = call.Context(ctx).Do() return err - }, hkh.retry, true) + }, hkh.retry, true, setRetryHeaderHTTP(call)) if err != nil { return nil, err } @@ -159,7 +159,7 @@ func (hkh *HMACKeyHandle) Delete(ctx context.Context, opts ...HMACKeyOption) err return run(ctx, func() error { return delCall.Context(ctx).Do() - }, hkh.retry, true) + }, hkh.retry, true, setRetryHeaderHTTP(delCall)) } func pbHmacKeyToHMACKey(pb *raw.HmacKey, updatedTimeCanBeNil bool) (*HMACKey, error) { @@ -221,7 +221,7 @@ func (c *Client) CreateHMACKey(ctx context.Context, projectID, serviceAccountEma h, err := call.Context(ctx).Do() hkPb = h return err - }, c.retry, false); err != nil { + }, c.retry, false, setRetryHeaderHTTP(call)); err != nil { return nil, err } @@ -267,7 +267,7 @@ func (h *HMACKeyHandle) Update(ctx context.Context, au HMACKeyAttrsToUpdate, opt err = run(ctx, func() error { metadata, err = call.Context(ctx).Do() return err - }, h.retry, isIdempotent) + }, h.retry, isIdempotent, setRetryHeaderHTTP(call)) if err != nil { return nil, err @@ -373,7 +373,7 @@ func (it *HMACKeysIterator) fetch(pageSize int, pageToken string) (token string, err = run(it.ctx, func() error { resp, err = call.Context(ctx).Do() return err - }, it.retry, true) + }, it.retry, true, setRetryHeaderHTTP(call)) if err != nil { return "", err } diff --git a/vendor/cloud.google.com/go/storage/http_client.go b/vendor/cloud.google.com/go/storage/http_client.go index 8069db9ee..1ec55150f 100644 --- a/vendor/cloud.google.com/go/storage/http_client.go +++ b/vendor/cloud.google.com/go/storage/http_client.go @@ -21,10 +21,12 @@ import ( "net/http" "net/url" "os" + "reflect" "strings" "golang.org/x/oauth2/google" "google.golang.org/api/googleapi" + "google.golang.org/api/iterator" "google.golang.org/api/option" "google.golang.org/api/option/internaloption" raw "google.golang.org/api/storage/v1" @@ -136,7 +138,18 @@ func (c *httpStorageClient) Close() error { // Top-level methods. func (c *httpStorageClient) GetServiceAccount(ctx context.Context, project string, opts ...storageOption) (string, error) { - return "", errMethodNotSupported + s := callSettings(c.settings, opts...) + call := c.raw.Projects.ServiceAccount.Get(project) + var res *raw.ServiceAccount + err := run(ctx, func() error { + var err error + res, err = call.Context(ctx).Do() + return err + }, s.retry, s.idempotent, setRetryHeaderHTTP(call)) + if err != nil { + return "", err + } + return res.EmailAddress, nil } func (c *httpStorageClient) CreateBucket(ctx context.Context, project string, attrs *BucketAttrs, opts ...storageOption) (*BucketAttrs, error) { @@ -169,12 +182,50 @@ func (c *httpStorageClient) CreateBucket(ctx context.Context, project string, at } battrs, err = newBucket(b) return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) return battrs, err } -func (c *httpStorageClient) ListBuckets(ctx context.Context, project string, opts ...storageOption) (*BucketIterator, error) { - return nil, errMethodNotSupported +func (c *httpStorageClient) ListBuckets(ctx context.Context, project string, opts ...storageOption) *BucketIterator { + s := callSettings(c.settings, opts...) + it := &BucketIterator{ + ctx: ctx, + projectID: project, + } + + fetch := func(pageSize int, pageToken string) (token string, err error) { + req := c.raw.Buckets.List(it.projectID) + setClientHeader(req.Header()) + req.Projection("full") + req.Prefix(it.Prefix) + req.PageToken(pageToken) + if pageSize > 0 { + req.MaxResults(int64(pageSize)) + } + var resp *raw.Buckets + err = run(it.ctx, func() error { + resp, err = req.Context(it.ctx).Do() + return err + }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) + if err != nil { + return "", err + } + for _, item := range resp.Items { + b, err := newBucket(item) + if err != nil { + return "", err + } + it.buckets = append(it.buckets, b) + } + return resp.NextPageToken, nil + } + + it.pageInfo, it.nextFunc = iterator.NewPageInfo( + fetch, + func() int { return len(it.buckets) }, + func() interface{} { b := it.buckets; it.buckets = nil; return b }) + + return it } // Bucket methods. @@ -190,7 +241,7 @@ func (c *httpStorageClient) DeleteBucket(ctx context.Context, bucket string, con req.UserProject(s.userProject) } - return run(ctx, func() error { return req.Context(ctx).Do() }, s.retry, s.idempotent) + return run(ctx, func() error { return req.Context(ctx).Do() }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) } func (c *httpStorageClient) GetBucket(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) { @@ -209,7 +260,7 @@ func (c *httpStorageClient) GetBucket(ctx context.Context, bucket string, conds err = run(ctx, func() error { resp, err = req.Context(ctx).Do() return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) var e *googleapi.Error if ok := errors.As(err, &e); ok && e.Code == http.StatusNotFound { @@ -220,14 +271,109 @@ func (c *httpStorageClient) GetBucket(ctx context.Context, bucket string, conds } return newBucket(resp) } -func (c *httpStorageClient) UpdateBucket(ctx context.Context, uattrs *BucketAttrsToUpdate, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) { - return nil, errMethodNotSupported +func (c *httpStorageClient) UpdateBucket(ctx context.Context, bucket string, uattrs *BucketAttrsToUpdate, conds *BucketConditions, opts ...storageOption) (*BucketAttrs, error) { + s := callSettings(c.settings, opts...) + rb := uattrs.toRawBucket() + req := c.raw.Buckets.Patch(bucket, rb).Projection("full") + setClientHeader(req.Header()) + err := applyBucketConds("httpStorageClient.UpdateBucket", conds, req) + if err != nil { + return nil, err + } + if s.userProject != "" { + req.UserProject(s.userProject) + } + if uattrs != nil && uattrs.PredefinedACL != "" { + req.PredefinedAcl(uattrs.PredefinedACL) + } + if uattrs != nil && uattrs.PredefinedDefaultObjectACL != "" { + req.PredefinedDefaultObjectAcl(uattrs.PredefinedDefaultObjectACL) + } + + var rawBucket *raw.Bucket + err = run(ctx, func() error { + rawBucket, err = req.Context(ctx).Do() + return err + }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) + if err != nil { + return nil, err + } + return newBucket(rawBucket) } + func (c *httpStorageClient) LockBucketRetentionPolicy(ctx context.Context, bucket string, conds *BucketConditions, opts ...storageOption) error { - return errMethodNotSupported + s := callSettings(c.settings, opts...) + + var metageneration int64 + if conds != nil { + metageneration = conds.MetagenerationMatch + } + req := c.raw.Buckets.LockRetentionPolicy(bucket, metageneration) + + return run(ctx, func() error { + _, err := req.Context(ctx).Do() + return err + }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) } -func (c *httpStorageClient) ListObjects(ctx context.Context, bucket string, q *Query, opts ...storageOption) (*ObjectIterator, error) { - return nil, errMethodNotSupported +func (c *httpStorageClient) ListObjects(ctx context.Context, bucket string, q *Query, opts ...storageOption) *ObjectIterator { + s := callSettings(c.settings, opts...) + it := &ObjectIterator{ + ctx: ctx, + } + if q != nil { + it.query = *q + } + fetch := func(pageSize int, pageToken string) (string, error) { + req := c.raw.Objects.List(bucket) + setClientHeader(req.Header()) + projection := it.query.Projection + if projection == ProjectionDefault { + projection = ProjectionFull + } + req.Projection(projection.String()) + req.Delimiter(it.query.Delimiter) + req.Prefix(it.query.Prefix) + req.StartOffset(it.query.StartOffset) + req.EndOffset(it.query.EndOffset) + req.Versions(it.query.Versions) + req.IncludeTrailingDelimiter(it.query.IncludeTrailingDelimiter) + if len(it.query.fieldSelection) > 0 { + req.Fields("nextPageToken", googleapi.Field(it.query.fieldSelection)) + } + req.PageToken(pageToken) + if s.userProject != "" { + req.UserProject(s.userProject) + } + if pageSize > 0 { + req.MaxResults(int64(pageSize)) + } + var resp *raw.Objects + var err error + err = run(it.ctx, func() error { + resp, err = req.Context(it.ctx).Do() + return err + }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) + if err != nil { + var e *googleapi.Error + if ok := errors.As(err, &e); ok && e.Code == http.StatusNotFound { + err = ErrBucketNotExist + } + return "", err + } + for _, item := range resp.Items { + it.items = append(it.items, newObject(item)) + } + for _, prefix := range resp.Prefixes { + it.items = append(it.items, &ObjectAttrs{Prefix: prefix}) + } + return resp.NextPageToken, nil + } + it.pageInfo, it.nextFunc = iterator.NewPageInfo( + fetch, + func() int { return len(it.items) }, + func() interface{} { b := it.items; it.items = nil; return b }) + + return it } // Object metadata methods. @@ -245,10 +391,26 @@ func (c *httpStorageClient) UpdateObject(ctx context.Context, bucket, object str // Default Object ACL methods. func (c *httpStorageClient) DeleteDefaultObjectACL(ctx context.Context, bucket string, entity ACLEntity, opts ...storageOption) error { - return errMethodNotSupported + s := callSettings(c.settings, opts...) + req := c.raw.DefaultObjectAccessControls.Delete(bucket, string(entity)) + configureACLCall(ctx, s.userProject, req) + return run(ctx, func() error { return req.Context(ctx).Do() }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) } + func (c *httpStorageClient) ListDefaultObjectACLs(ctx context.Context, bucket string, opts ...storageOption) ([]ACLRule, error) { - return nil, errMethodNotSupported + s := callSettings(c.settings, opts...) + var acls *raw.ObjectAccessControls + var err error + req := c.raw.DefaultObjectAccessControls.List(bucket) + configureACLCall(ctx, s.userProject, req) + err = run(ctx, func() error { + acls, err = req.Do() + return err + }, s.retry, true, setRetryHeaderHTTP(req)) + if err != nil { + return nil, err + } + return toObjectACLRules(acls.Items), nil } func (c *httpStorageClient) UpdateDefaultObjectACL(ctx context.Context, opts ...storageOption) (*ACLRule, error) { return nil, errMethodNotSupported @@ -257,13 +419,59 @@ func (c *httpStorageClient) UpdateDefaultObjectACL(ctx context.Context, opts ... // Bucket ACL methods. func (c *httpStorageClient) DeleteBucketACL(ctx context.Context, bucket string, entity ACLEntity, opts ...storageOption) error { - return errMethodNotSupported + s := callSettings(c.settings, opts...) + req := c.raw.BucketAccessControls.Delete(bucket, string(entity)) + configureACLCall(ctx, s.userProject, req) + return run(ctx, func() error { return req.Context(ctx).Do() }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) } + func (c *httpStorageClient) ListBucketACLs(ctx context.Context, bucket string, opts ...storageOption) ([]ACLRule, error) { - return nil, errMethodNotSupported + s := callSettings(c.settings, opts...) + var acls *raw.BucketAccessControls + var err error + req := c.raw.BucketAccessControls.List(bucket) + configureACLCall(ctx, s.userProject, req) + err = run(ctx, func() error { + acls, err = req.Do() + return err + }, s.retry, true, setRetryHeaderHTTP(req)) + if err != nil { + return nil, err + } + return toBucketACLRules(acls.Items), nil } + func (c *httpStorageClient) UpdateBucketACL(ctx context.Context, bucket string, entity ACLEntity, role ACLRole, opts ...storageOption) (*ACLRule, error) { - return nil, errMethodNotSupported + s := callSettings(c.settings, opts...) + acl := &raw.BucketAccessControl{ + Bucket: bucket, + Entity: string(entity), + Role: string(role), + } + req := c.raw.BucketAccessControls.Update(bucket, string(entity), acl) + configureACLCall(ctx, s.userProject, req) + var aclRule ACLRule + var err error + err = run(ctx, func() error { + acl, err = req.Do() + aclRule = toBucketACLRule(acl) + return err + }, s.retry, s.idempotent, setRetryHeaderHTTP(req)) + if err != nil { + return nil, err + } + return &aclRule, nil +} + +// configureACLCall sets the context, user project and headers on the apiary library call. +// This will panic if the call does not have the correct methods. +func configureACLCall(ctx context.Context, userProject string, call interface{ Header() http.Header }) { + vc := reflect.ValueOf(call) + vc.MethodByName("Context").Call([]reflect.Value{reflect.ValueOf(ctx)}) + if userProject != "" { + vc.MethodByName("UserProject").Call([]reflect.Value{reflect.ValueOf(userProject)}) + } + setClientHeader(call.Header()) } // Object ACL methods. @@ -308,7 +516,7 @@ func (c *httpStorageClient) GetIamPolicy(ctx context.Context, resource string, v var err error rp, err = call.Context(ctx).Do() return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderHTTP(call)) if err != nil { return nil, err } @@ -328,7 +536,7 @@ func (c *httpStorageClient) SetIamPolicy(ctx context.Context, resource string, p return run(ctx, func() error { _, err := call.Context(ctx).Do() return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderHTTP(call)) } func (c *httpStorageClient) TestIamPermissions(ctx context.Context, resource string, permissions []string, opts ...storageOption) ([]string, error) { @@ -343,7 +551,7 @@ func (c *httpStorageClient) TestIamPermissions(ctx context.Context, resource str var err error res, err = call.Context(ctx).Do() return err - }, s.retry, s.idempotent) + }, s.retry, s.idempotent, setRetryHeaderHTTP(call)) if err != nil { return nil, err } diff --git a/vendor/cloud.google.com/go/storage/iam.go b/vendor/cloud.google.com/go/storage/iam.go index a870ab8ee..cf9f899a4 100644 --- a/vendor/cloud.google.com/go/storage/iam.go +++ b/vendor/cloud.google.com/go/storage/iam.go @@ -57,7 +57,7 @@ func (c *iamClient) GetWithVersion(ctx context.Context, resource string, request err = run(ctx, func() error { rp, err = call.Context(ctx).Do() return err - }, c.retry, true) + }, c.retry, true, setRetryHeaderHTTP(call)) if err != nil { return nil, err } @@ -78,7 +78,7 @@ func (c *iamClient) Set(ctx context.Context, resource string, p *iampb.Policy) ( return run(ctx, func() error { _, err := call.Context(ctx).Do() return err - }, c.retry, isIdempotent) + }, c.retry, isIdempotent, setRetryHeaderHTTP(call)) } func (c *iamClient) Test(ctx context.Context, resource string, perms []string) (permissions []string, err error) { @@ -94,7 +94,7 @@ func (c *iamClient) Test(ctx context.Context, resource string, perms []string) ( err = run(ctx, func() error { res, err = call.Context(ctx).Do() return err - }, c.retry, true) + }, c.retry, true, setRetryHeaderHTTP(call)) if err != nil { return nil, err } diff --git a/vendor/cloud.google.com/go/storage/internal/version.go b/vendor/cloud.google.com/go/storage/internal/version.go index eddfee04b..08bddba74 100644 --- a/vendor/cloud.google.com/go/storage/internal/version.go +++ b/vendor/cloud.google.com/go/storage/internal/version.go @@ -15,4 +15,4 @@ package internal // Version is the current tagged release of the library. -const Version = "1.22.0" +const Version = "1.22.1" diff --git a/vendor/cloud.google.com/go/storage/invoke.go b/vendor/cloud.google.com/go/storage/invoke.go index aab893d08..d0f0dd8d1 100644 --- a/vendor/cloud.google.com/go/storage/invoke.go +++ b/vendor/cloud.google.com/go/storage/invoke.go @@ -16,29 +16,39 @@ package storage import ( "context" + "errors" + "fmt" "io" "net" + "net/http" "net/url" "strings" "cloud.google.com/go/internal" + "cloud.google.com/go/internal/version" + sinternal "cloud.google.com/go/storage/internal" + "github.com/google/uuid" gax "github.com/googleapis/gax-go/v2" - "golang.org/x/xerrors" "google.golang.org/api/googleapi" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" ) var defaultRetry *retryConfig = &retryConfig{} +var xGoogDefaultHeader = fmt.Sprintf("gl-go/%s gccl/%s", version.Go(), sinternal.Version) // run determines whether a retry is necessary based on the config and // idempotency information. It then calls the function with or without retries // as appropriate, using the configured settings. -func run(ctx context.Context, call func() error, retry *retryConfig, isIdempotent bool) error { +func run(ctx context.Context, call func() error, retry *retryConfig, isIdempotent bool, setHeader func(string, int)) error { + attempts := 1 + invocationID := uuid.New().String() + if retry == nil { retry = defaultRetry } if (retry.policy == RetryIdempotent && !isIdempotent) || retry.policy == RetryNever { + setHeader(invocationID, attempts) return call() } bo := gax.Backoff{} @@ -51,17 +61,39 @@ func run(ctx context.Context, call func() error, retry *retryConfig, isIdempoten if retry.shouldRetry != nil { errorFunc = retry.shouldRetry } + return internal.Retry(ctx, bo, func() (stop bool, err error) { + setHeader(invocationID, attempts) err = call() + attempts++ return !errorFunc(err), err }) } +func setRetryHeaderHTTP(req interface{ Header() http.Header }) func(string, int) { + return func(invocationID string, attempts int) { + if req == nil { + return + } + header := req.Header() + invocationHeader := fmt.Sprintf("gccl-invocation-id/%v gccl-attempt-count/%v", invocationID, attempts) + xGoogHeader := strings.Join([]string{invocationHeader, xGoogDefaultHeader}, " ") + header.Set("x-goog-api-client", xGoogHeader) + } +} + +// TODO: Implement method setting header via context for gRPC +func setRetryHeaderGRPC(_ context.Context) func(string, int) { + return func(_ string, _ int) { + return + } +} + func shouldRetry(err error) bool { if err == nil { return false } - if xerrors.Is(err, io.ErrUnexpectedEOF) { + if errors.Is(err, io.ErrUnexpectedEOF) { return true } diff --git a/vendor/cloud.google.com/go/storage/notifications.go b/vendor/cloud.google.com/go/storage/notifications.go index 333664f92..dd43822b6 100644 --- a/vendor/cloud.google.com/go/storage/notifications.go +++ b/vendor/cloud.google.com/go/storage/notifications.go @@ -142,7 +142,7 @@ func (b *BucketHandle) AddNotification(ctx context.Context, n *Notification) (re err = run(ctx, func() error { rn, err = call.Context(ctx).Do() return err - }, b.retry, false) + }, b.retry, false, setRetryHeaderHTTP(call)) if err != nil { return nil, err } @@ -164,7 +164,7 @@ func (b *BucketHandle) Notifications(ctx context.Context) (n map[string]*Notific err = run(ctx, func() error { res, err = call.Context(ctx).Do() return err - }, b.retry, true) + }, b.retry, true, setRetryHeaderHTTP(call)) if err != nil { return nil, err } @@ -191,5 +191,5 @@ func (b *BucketHandle) DeleteNotification(ctx context.Context, id string) (err e } return run(ctx, func() error { return call.Context(ctx).Do() - }, b.retry, true) + }, b.retry, true, setRetryHeaderHTTP(call)) } diff --git a/vendor/cloud.google.com/go/storage/reader.go b/vendor/cloud.google.com/go/storage/reader.go index 86153256c..ab108b039 100644 --- a/vendor/cloud.google.com/go/storage/reader.go +++ b/vendor/cloud.google.com/go/storage/reader.go @@ -210,7 +210,7 @@ func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64) gen = gen64 } return nil - }, o.retry, true) + }, o.retry, true, setRetryHeaderHTTP(&readerRequestWrapper{req})) if err != nil { return nil, err } @@ -356,6 +356,16 @@ func setConditionsHeaders(headers http.Header, conds *Conditions) error { return nil } +// Wrap a request to look similar to an apiary library request, in order to +// be used by run(). +type readerRequestWrapper struct { + req *http.Request +} + +func (w *readerRequestWrapper) Header() http.Header { + return w.req.Header +} + var emptyBody = ioutil.NopCloser(strings.NewReader("")) // Reader reads a Cloud Storage object. @@ -492,7 +502,7 @@ func (o *ObjectHandle) newRangeReaderWithGRPC(ctx context.Context, offset, lengt msg, err = stream.Recv() return err - }, o.retry, true) + }, o.retry, true, setRetryHeaderGRPC(ctx)) if err != nil { // Close the stream context we just created to ensure we don't leak // resources. diff --git a/vendor/cloud.google.com/go/storage/storage.go b/vendor/cloud.google.com/go/storage/storage.go index 2a5eaaa5a..719f39723 100644 --- a/vendor/cloud.google.com/go/storage/storage.go +++ b/vendor/cloud.google.com/go/storage/storage.go @@ -39,12 +39,10 @@ import ( "cloud.google.com/go/internal/optional" "cloud.google.com/go/internal/trace" - "cloud.google.com/go/internal/version" "cloud.google.com/go/storage/internal" gapic "cloud.google.com/go/storage/internal/apiv2" "github.com/googleapis/gax-go/v2" "golang.org/x/oauth2/google" - "golang.org/x/xerrors" "google.golang.org/api/googleapi" "google.golang.org/api/option" "google.golang.org/api/option/internaloption" @@ -88,10 +86,9 @@ const ( ScopeReadWrite = raw.DevstorageReadWriteScope ) -var xGoogHeader = fmt.Sprintf("gl-go/%s gccl/%s", version.Go(), internal.Version) - +// TODO: remove this once header with invocation ID is applied to all methods. func setClientHeader(headers http.Header) { - headers.Set("x-goog-api-client", xGoogHeader) + headers.Set("x-goog-api-client", xGoogDefaultHeader) } // Client is a client for interacting with Google Cloud Storage. @@ -122,6 +119,13 @@ type Client struct { // Clients should be reused instead of created as needed. The methods of Client // are safe for concurrent use by multiple goroutines. func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + + // Use the experimental gRPC client if the env var is set. + // This is an experimental API and not intended for public use. + if withGRPC := os.Getenv("STORAGE_USE_GRPC"); withGRPC != "" { + return newGRPCClient(ctx, opts...) + } + var creds *google.Credentials // In general, it is recommended to use raw.NewService instead of htransport.NewClient @@ -195,34 +199,18 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error }, nil } -// hybridClientOptions carries the set of client options for HTTP and gRPC clients. -type hybridClientOptions struct { - HTTPOpts []option.ClientOption - GRPCOpts []option.ClientOption -} - -// newHybridClient creates a new Storage client that initializes a gRPC-based client -// for media upload and download operations. +// newGRPCClient creates a new Storage client that initializes a gRPC-based +// client. Calls that have not been implemented in gRPC will panic. // // This is an experimental API and not intended for public use. -func newHybridClient(ctx context.Context, opts *hybridClientOptions) (*Client, error) { - if opts == nil { - opts = &hybridClientOptions{} - } - opts.GRPCOpts = append(defaultGRPCOptions(), opts.GRPCOpts...) - - c, err := NewClient(ctx, opts.HTTPOpts...) +func newGRPCClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) { + opts = append(defaultGRPCOptions(), opts...) + g, err := gapic.NewClient(ctx, opts...) if err != nil { return nil, err } - g, err := gapic.NewClient(ctx, opts.GRPCOpts...) - if err != nil { - return nil, err - } - c.gc = g - - return c, nil + return &Client{gc: g}, nil } // Close closes the Client. @@ -926,9 +914,9 @@ func (o *ObjectHandle) Attrs(ctx context.Context) (attrs *ObjectAttrs, err error } var obj *raw.Object setClientHeader(call.Header()) - err = run(ctx, func() error { obj, err = call.Do(); return err }, o.retry, true) + err = run(ctx, func() error { obj, err = call.Do(); return err }, o.retry, true, setRetryHeaderHTTP(call)) var e *googleapi.Error - if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound { + if errors.As(err, &e) && e.Code == http.StatusNotFound { return nil, ErrObjectNotExist } if err != nil { @@ -1031,9 +1019,9 @@ func (o *ObjectHandle) Update(ctx context.Context, uattrs ObjectAttrsToUpdate) ( if o.conds != nil && o.conds.MetagenerationMatch != 0 { isIdempotent = true } - err = run(ctx, func() error { obj, err = call.Do(); return err }, o.retry, isIdempotent) + err = run(ctx, func() error { obj, err = call.Do(); return err }, o.retry, isIdempotent, setRetryHeaderHTTP(call)) var e *googleapi.Error - if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound { + if errors.As(err, &e) && e.Code == http.StatusNotFound { return nil, ErrObjectNotExist } if err != nil { @@ -1101,9 +1089,9 @@ func (o *ObjectHandle) Delete(ctx context.Context) error { if (o.conds != nil && o.conds.GenerationMatch != 0) || o.gen >= 0 { isIdempotent = true } - err := run(ctx, func() error { return call.Do() }, o.retry, isIdempotent) + err := run(ctx, func() error { return call.Do() }, o.retry, isIdempotent, setRetryHeaderHTTP(call)) var e *googleapi.Error - if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound { + if errors.As(err, &e) && e.Code == http.StatusNotFound { return ErrObjectNotExist } return err @@ -1129,6 +1117,9 @@ func (o *ObjectHandle) ReadCompressed(compressed bool) *ObjectHandle { // attribute is specified, the content type will be automatically sniffed // using net/http.DetectContentType. // +// Note that each Writer allocates an internal buffer of size Writer.ChunkSize. +// See the ChunkSize docs for more information. +// // It is the caller's responsibility to call Close when writing is done. To // stop writing without saving the data, cancel the context. func (o *ObjectHandle) NewWriter(ctx context.Context) *Writer { @@ -2016,7 +2007,7 @@ func (c *Client) ServiceAccount(ctx context.Context, projectID string) (string, err = run(ctx, func() error { res, err = r.Context(ctx).Do() return err - }, c.retry, true) + }, c.retry, true, setRetryHeaderHTTP(r)) if err != nil { return "", err } diff --git a/vendor/cloud.google.com/go/storage/writer.go b/vendor/cloud.google.com/go/storage/writer.go index 66959efd0..c616603e4 100644 --- a/vendor/cloud.google.com/go/storage/writer.go +++ b/vendor/cloud.google.com/go/storage/writer.go @@ -25,7 +25,6 @@ import ( "unicode/utf8" "github.com/golang/protobuf/proto" - "golang.org/x/xerrors" "google.golang.org/api/googleapi" raw "google.golang.org/api/storage/v1" storagepb "google.golang.org/genproto/googleapis/storage/v2" @@ -62,21 +61,26 @@ type Writer struct { // ChunkSize controls the maximum number of bytes of the object that the // Writer will attempt to send to the server in a single request. Objects // smaller than the size will be sent in a single request, while larger - // objects will be split over multiple requests. The size will be rounded up - // to the nearest multiple of 256K. + // objects will be split over multiple requests. The value will be rounded up + // to the nearest multiple of 256K. The default ChunkSize is 16MiB. // - // ChunkSize will default to a reasonable value. If you perform many - // concurrent writes of small objects (under ~8MB), you may wish set ChunkSize - // to a value that matches your objects' sizes to avoid consuming large - // amounts of memory. See + // Each Writer will internally allocate a buffer of size ChunkSize. This is + // used to buffer input data and allow for the input to be sent again if a + // request must be retried. + // + // If you upload small objects (< 16MiB), you should set ChunkSize + // to a value slightly larger than the objects' sizes to avoid memory bloat. + // This is especially important if you are uploading many small objects + // concurrently. See // https://cloud.google.com/storage/docs/json_api/v1/how-tos/upload#size // for more information about performance trade-offs related to ChunkSize. // // If ChunkSize is set to zero, chunking will be disabled and the object will // be uploaded in a single request without the use of a buffer. This will // further reduce memory used during uploads, but will also prevent the writer - // from retrying in case of a transient error from the server, since a buffer - // is required in order to retry the failed request. + // from retrying in case of a transient error from the server or resuming an + // upload that fails midway through, since the buffer is required in order to + // retry the failed request. // // ChunkSize must be set before the first Write call. ChunkSize int @@ -261,7 +265,7 @@ func (w *Writer) Write(p []byte) (n int, err error) { // Preserve existing functionality that when context is canceled, Write will return // context.Canceled instead of "io: read/write on closed pipe". This hides the // pipe implementation detail from users and makes Write seem as though it's an RPC. - if xerrors.Is(werr, context.Canceled) || xerrors.Is(werr, context.DeadlineExceeded) { + if errors.Is(werr, context.Canceled) || errors.Is(werr, context.DeadlineExceeded) { return n, werr } } @@ -452,17 +456,12 @@ func (w *Writer) openGRPC() error { // // This is an experimental API and not intended for public use. func (w *Writer) startResumableUpload() error { - var common *storagepb.CommonRequestParams - if w.o.userProject != "" { - common = &storagepb.CommonRequestParams{UserProject: w.o.userProject} - } spec, err := w.writeObjectSpec() if err != nil { return err } upres, err := w.o.c.gc.StartResumableWrite(w.ctx, &storagepb.StartResumableWriteRequest{ - WriteObjectSpec: spec, - CommonRequestParams: common, + WriteObjectSpec: spec, }) w.upid = upres.GetUploadId() diff --git a/vendor/github.com/antzucaro/matchr/COPYING.txt b/vendor/github.com/antzucaro/matchr/COPYING.txt new file mode 100644 index 000000000..169aa50db --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/COPYING.txt @@ -0,0 +1,19 @@ +Matchr: an approximate string matching library for the Go programming language + +Copyright (C) 2013-2014 Ant Zucaro + +This program is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program; if not, write to the Free Software +Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +You can contact Ant Zucaro at azucaro at gmail dot com. diff --git a/vendor/github.com/antzucaro/matchr/README.md b/vendor/github.com/antzucaro/matchr/README.md new file mode 100644 index 000000000..5aabfb1a8 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/README.md @@ -0,0 +1,12 @@ +# matchr + +An approximate string matching library for the [Go programming language](http://www.golang.org). + +## Rationale + +Data used in record linkage can often be of dubious quality. Typographical +errors or changing data elements (to name a few things) make establishing similarity between two sets of data +difficult. Rather than use exact string comparison in such situations, it is +vital to have a means to identify how similar two strings are. Similarity functions can cater +to certain data sets in order to make better matching decisions. The matchr library provides +several of these similarity functions. diff --git a/vendor/github.com/antzucaro/matchr/damerau_levenshtein.go b/vendor/github.com/antzucaro/matchr/damerau_levenshtein.go new file mode 100644 index 000000000..23c76cecb --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/damerau_levenshtein.go @@ -0,0 +1,112 @@ +package matchr + +// DamerauLevenshtein computes the Damerau-Levenshtein distance between two +// strings. The returned value - distance - is the number of insertions, +// deletions, substitutions, and transpositions it takes to transform one +// string (s1) into another (s2). Each step in the transformation "costs" +// one distance point. It is similar to the Optimal String Alignment, +// algorithm, but is more complex because it allows multiple edits on +// substrings. +// +// This implementation is based off of the one found on Wikipedia at +// http://en.wikipedia.org/wiki/Damerau%E2%80%93Levenshtein_distance#Distance_with_adjacent_transpositions +// as well as KevinStern's Java implementation found at +// https://github.com/KevinStern/software-and-algorithms. +func DamerauLevenshtein(s1 string, s2 string) (distance int) { + // index by code point, not byte + r1 := []rune(s1) + r2 := []rune(s2) + + // the maximum possible distance + inf := len(r1) + len(r2) + + // if one string is blank, we needs insertions + // for all characters in the other one + if len(r1) == 0 { + return len(r2) + } + + if len(r2) == 0 { + return len(r1) + } + + // construct the edit-tracking matrix + matrix := make([][]int, len(r1)) + for i := range matrix { + matrix[i] = make([]int, len(r2)) + } + + // seen characters + seenRunes := make(map[rune]int) + + if r1[0] != r2[0] { + matrix[0][0] = 1 + } + + seenRunes[r1[0]] = 0 + for i := 1; i < len(r1); i++ { + deleteDist := matrix[i-1][0] + 1 + insertDist := (i+1)*1 + 1 + var matchDist int + if r1[i] == r2[0] { + matchDist = i + } else { + matchDist = i + 1 + } + matrix[i][0] = min(min(deleteDist, insertDist), matchDist) + } + + for j := 1; j < len(r2); j++ { + deleteDist := (j + 1) * 2 + insertDist := matrix[0][j-1] + 1 + var matchDist int + if r1[0] == r2[j] { + matchDist = j + } else { + matchDist = j + 1 + } + + matrix[0][j] = min(min(deleteDist, insertDist), matchDist) + } + + for i := 1; i < len(r1); i++ { + var maxSrcMatchIndex int + if r1[i] == r2[0] { + maxSrcMatchIndex = 0 + } else { + maxSrcMatchIndex = -1 + } + + for j := 1; j < len(r2); j++ { + swapIndex, ok := seenRunes[r2[j]] + jSwap := maxSrcMatchIndex + deleteDist := matrix[i-1][j] + 1 + insertDist := matrix[i][j-1] + 1 + matchDist := matrix[i-1][j-1] + if r1[i] != r2[j] { + matchDist += 1 + } else { + maxSrcMatchIndex = j + } + + // for transpositions + var swapDist int + if ok && jSwap != -1 { + iSwap := swapIndex + var preSwapCost int + if iSwap == 0 && jSwap == 0 { + preSwapCost = 0 + } else { + preSwapCost = matrix[maxI(0, iSwap-1)][maxI(0, jSwap-1)] + } + swapDist = i + j + preSwapCost - iSwap - jSwap - 1 + } else { + swapDist = inf + } + matrix[i][j] = min(min(min(deleteDist, insertDist), matchDist), swapDist) + } + seenRunes[r1[i]] = i + } + + return matrix[len(r1)-1][len(r2)-1] +} diff --git a/vendor/github.com/antzucaro/matchr/double_metaphone_corpus.txt.gz b/vendor/github.com/antzucaro/matchr/double_metaphone_corpus.txt.gz new file mode 100644 index 0000000000000000000000000000000000000000..7902feabf70ea88801ce9cdd9cb920e4c1c17f8c GIT binary patch literal 553365 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�!*rHb$ti-75grbshCETF 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

ob-w_bVIZSxi*!fdJ2QKL}$P3?(o8m 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

#qV9Fi+-BDR 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

U3FUbL|g%43Vic1*Em` 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 z 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 z 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%0D7I}Bc-Mc-B*mRgZ@4d2pMv<1op5=(&Aji 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%0Dw z;hVIiUu!z-(BG~^kXkR=W>ej4>7zNhMnbIkY1XwDl}`_vUwb-EvJ0D~G}utYIZ9BJ z=AuFqVIFGO{A%b(8RZQ3+c&wz;g-@YF-2b2;k+!@kM6A zF+YusR-F<#c&ou8&t~OE4;jO4gwghh2es(UkL~mo#GXVUzc!WSESO6|1xxtkUkgSJuii)*?M~nU(8Gj^p_^RzJ)7 zswn-Bp})8w3yHA-N;(OX7U<89j?Kk&Cht7LHp*eh_u6A>7%T3ZX9KfvLjarm5nqNj zs~w$)q!KciF!Tt=sr}6k60KtITZ(6~l|@16^m5Up{eIz*_jMZPv|S0SlJ+8M`9^C| z8ex)F)F2Dz3dOydoO~~=8h8JnytVsHg_3?jYObauBn6osF?qa7&!{pIUVAmqK5FP! zLV=|{OG16$BE!~aor6597cTJDStzB(LP{B3mE}*Kls~TvEPT9hwjdUU=1D1`4vrUX z#L#xvBd^|uj@(PRTT|Aku55i?$`g5N%AxO5ODcuwxi_XN8p-i8mljI(hp574%k1)M zxL%TUJu}cHRCj?j{io}n{9|2?lGvC-I^izO+dt=vlF!UNk#0S*OA_ZI;okp`=Kono z&v)B(9GZxi`9I(me5ncf-%V1C|DAav5C}A<_gE z-ucJPH5%G_6^O(ROseFSr@p2`zLR7iXG1nPbT#Zv#hqon4T9%BujWjQ6%*N`utCc` zChC%8U7hnC^P%0z5da{qAS=MVRDgFl%c=T18S zd#)8IT*PpOzAd3uWBoAED!Ow$uh=TmUiKPv{=-6z7nK~I8GHV0V_9l$2MN+Nlgcc*CRNrR4S{ar-HT=Ls_S);N z_$D7K4)$C+aT!w)N3uv9S!QS)x}4xeR?ad_xX`3kDw2cYk`lgG!gnvh=5Gu5jdlX* zi-hp{CLUUUJBd3}s|A^vl`wAxf! z!TUyPhalXpw`*Q;=N6sfc0(r+?q-)mUJZds6Ui!)W$bgp67+=@(GyV+;{_K51JzKj zCV7^LO|k1@+@t}^m6a?<5s3d4YB^@%%vdwtWY)$?PM?0^h%fg z+G5|-Ud|jhZW}tG)piLQU3W7iQbV^0>EvXB!E5(MNe}7ee2S8zECCZH%oWmSf0Q}+ z<^67e>6_q)3p!*kbf@m~)ZUV}!y+XL)k|K$*@&CITXsW<&wl)rRPerX=ciizamLF_ z%n1FMx!|)&d;K2Ojr*>jev=`*@_gbe&j97cXNfsJDlngdOWK(#urkZUmDVDqG4Z?P zMH+W79%>O56kwSW7LmrKN3K_~z!-rWgVA@PV)A3tH)1J8FB{}V5W zX?*F^JIp&8W7=vzFvF;=Np`=&14L6vJr z6N1O*UMY9pD)FX1rF=+I<|B6Q*IukUO;aW+$jDtaQ*=%8;7`4dniKCoWNR?x9aHZ$ z^GPTHzhUl_YR(8$Ine$~R&gXbsL~k90A0G@z7^>9BquaSfR(b8SYjl;Aq^Z7UmCV} zWVLLSUu-5yjq$s%DLqLVGU5upsSA4st1H#-7aT6rR@&>bweCOt@^`%-ZwWI0B^S7) zDzkiiw`E?7tO6u5|3uD~tY4CX;9}m4WL{k~m$ck;pcB2$!{Y6eYV14h>5KM5l#?or zqtfCU;53(92b?LzgLa|>An{NBc=n|dgcWEkrN)A!AW7+x*X3KR3E921y)3?e;<0?_ zOCT}GYI%51bo7airO`*f7B0QFDhFxwEI9Kj*&%BvLvr;G{!n`D*WRqs(mMNRdgH3cC42b`wv`04t3HO`*%- z2fuAsD#18?nWDZ#es&_je@TJeE2g1^6bSU15|hGH(H7+q+a|;H9%Ym^Ytv# z8#Q(hLOv5N^4 zHX5;|n-BevY+!=ExlahLv?E%J!75WSfpR%;#2T~WTk7RjSeP>T+=aVBEC|IV-!!Nq zy!aIObz0*;I?0fHK$1gu^G_3S9q)BWg$nh!{(?-{He->AWXRCaWqR0)rARuW6ir=G z3a%|)+TXvG82hM;th6YYR8*k2+28}*KC!ni*diF>r=m91aH;C5Y>wrz2fl8N3&h`c zmhk{HH9&PGcqTb2M3Wv6uLn7iA**=*@xSp4J3Q4a0eB;* zy?8d!emCk*yy%q^pkw0&Nxv)|#vok#_<`i&ojQ3Qzb;iA20mhz26d_KkWv63G%16X)mwAgUPbF+$wPc{M4k_-1lZMaA( ztg5=mCY2FN?Di8gIhgotxRH!7nUTt=q?5x=!B7lLr=}CKDlOV)mXSMb`~B2#3=p1N zJM0`@vg2$CRwmVuSI)(M*%eEgtLWQhT9IQm{au)|*p)w*MyQp6Kq8evKc!Vt$+KRS zi2y=9!AV#pI3|~>h}fd3C~D%n^$Ymo(z@?Pw0=kC}6^*N-Kk<&n?WoEd1jqg|RuL*XnnAu?Cbh zYB%DRo_dnSZ_I{#0=RI-2q8XsesY4ZNDd2;5TBe{VD$mqiyq6gDiOk(){ zfKnAhm%KbNFF{O-KL`do8?hxvA-;#2;gpzg5;r~a9U)#5?XV_r`W{eL{`_3;XP)A@ zwXV^ee(;?Zj}|J95n?#HEUYJ6dwJz`X|mhJRl_APi5CZ=uub4?GOwxVrL@F``YjCF zuA;^qh0Pp(-+rE4^&PN@>f4RKS6sK$dj2(DA+rMKZ&aLXf=?@M_vsor#lF*@xW*yGX6jPS z{I@8|9S4@*TJCL-ut%P$I*R_s12$5KafURhL8%+v?^c;4AEqAA$PWD8bbfo`*Mtfo zN+~7>mzPm13npv;J5wKaTHI|TlDHX67>tp9;!0MTk|}g5TOLDkz^0}L*(6n%M9*mf z<-^hg-a;OB`-MsLoF));Cldw-d^Eax+KZXo&h3Ef_VBch2<>-)t}rq&A*qy)D$U%) zRT?nA9ZxvP=djua|@|xH^EvlmaYBsS!(NM5%@v!kN ziW4Upl8KWDxiR;08sq^h9_P37)rCSrc2DAtB;JeugB|SwUFnJo3H|MtH)iD~Dzkkwnd4!UnP<_C_|T7M22(yAVdl z2ab*}{?OF}W-|^=9m-MCR?JVR=S(ACWKnD-Z}10M8g^({QoiUfG8uBfQ|h7FD=5(m zoKjq3-=o~U(|*j+-lYB>zHp~mwy%l3S!5!aQw@D-;wFFKP5-c67%!$s$6J4m4}If} zhxR=4af6--U7RB!F!v+wvpjbYum+#QIKt~diYxRt&+IMlvJye+S$b6gx&KN<&r4S< zuw<@|pXFNlx}^`9C;+|)TaMZeOa>Vlz3}bYawzo88xfu#2^RmKZ$GP_)x$CTuN|fz zcSCjeQ};Xk{PV5(|9%Nxe*gKV@i%0j`0M7Q4gCKx{(l^nsN*$2AMwxs`|+m+ z8QPIQ+@l*L>bF+Ra8Fl}_&Dy@Erf+1y_f0R0Ahw_WqiFDKS$%`@$(?z!xBCQ3&t`0 zh%v_Rkh1^3v%CJOADUq?z&%SG{`hfyo_PAihl)S^;cEVXNxAwB)B59db}9dXorg1n~j2CN(XA82q2O1Kp<^;NCNE2aB z9h;&E)pR0E8HY(rJdBWnk4;a7qK|qR{`USR6fZ`r4mET_W6oGVz4R9(+0YSH*jxSp zq5#Wf*KFy8h?0#Mm25V&(bmQr7of#ZqPvDEH!M8N+Z}cXTrj~;We0x^Ilp@-I6TRn z39qH&@9Xd17${)U$^G#rhgqoLclWU%?1H}3&s)?n^uP7*BsM+|h+!(uHQG?a9u>#c zK#arRI;d}d$Dn?Zb5*VMx!*$)a*J_>ugHh5R^cR-F){i}N9Ptx2Mkc)NI2#|4o@}y z0&o@d)ZkAdDZgmUwYVEHrUnlCr!}33PP{!A^p?WuYtWHVJuT0L#B84XV?CD0RTeY} zkbIw%*VWOf&;3-e7Y!cCw5KCGItfNIGy_tOlvw~z>nA!36Ad{{A=FBduD5hzNl7nR z6kzBlRe);`r|G70=aCyx77R;|3wWyxC~LbcESB8~$W*a{6MJJ7=aT=8YA7Wsay1=~ zQX+MpMkLc>OJha98Ey1e;)!jep%Y?j6vf0CPuWf7mq}ZYz7!gM|8@^o&V#?;mzGZ? zWu3-yozNF10YfZwJgEc<$4n`d_I4kYdu&jVtm%YAgvDf9*_SQJ_SG>w1}$+Hn5c~S zVnViM3-dD_E9j2)jG_|ULzMF#mZ~CSJ1JQE9WMBSdZ?Ui#E$Td9!vWLnglNZb`?ocNTX+~R~hN@sEOF0Z`Us@ zdpSJe-hT*w8jELDyu{*jVm|hI3sb3Y*Vg^}IsE#CKL}?e%0TI_Up1YDYIw9DCZJ@F z@fU96zc?-sM57AIbaH4hlthG>9eH&PegFJ}x3J>HquvU0BF`MOAK!ltt^`){8=(kX z$?UTV>)(ew@D@W~mtQWqXZ&=9af~$n1btWdU2{B7FTR`dj7yZ)S7n9^`}Y-dzdm$4 zs-H_b_#{RB*72`OEcv};>H7X2QgCfD%DCUJ>gOwq=b38h5B9q&SjUg1fGbnx(mQ1S z+oEN9M=i2e-BmFxHVsM0z}33GzNuwY_K(LjMI1~J!gN`n)o}flYcrU&U2!`0UC;^> zq$|#lx(sBD)zHd81Dd+V!v$E*yQQ-*wDgi@@c2GrDrWVBzX%u=BbSv7I|(&w@bcw- z{F+&m22C`~z;Ce?_V4Z{9MklEKF+Q1Jm;JMGdo;Sa!YiqTEe0w6w3I?QN^DQeG~*%Fl~1^(WEY1@Yc5Db{F%*gtg%AHQFR z$w@rp8E>@@NwDi(VRFYgKADvH++?*OIpWO8k|%*FL$=DAEb0-cGFXa`$*M$}gsf*` zl6}Bf00GWPq4X#K+?18Uo~5~PZTE!L56;`riR_jz=C)JF=S-to5LQuHQ1asOpDfag zg%Y`Fp-tz+qVfA**AIUFad_VB=xEAv3!LTgAz9xvbRv_clT$IFpeF1R=(=HfBl3*5 zdMn=%N-7w{thV7sogiMRXWW6%h&e)a{yzF8d`!aM@wO@Y$1;_%AlFjp`udt8)^>rs z)U!f5eO}&q9Qoh`r65JYTV0L{yB&JHYR!hx%>3`3Wxsu*6DZzpOQm4K%{eg*_CA>o zub4@(RA0|%(iuQ&*kY1Pu?#`kC*D@BwmUisvN37wYIeFQ3j^b%M?s}$SSTA0pA%MM zK&@buYJi`NCT#0~-@Hq}=B$|w{ z2=mdH$C~mQkUhbie@`daA<=6(fu%^yt1PIQH#-*_+1BGD$?=_wOr38-XJJgBpebx$ zCroOr@bt9WZ^HwTT*nKfm0l^spYvfN%NYfd3{YoUlZT^ zd%O5~Q?4?9;(bj+l`cNpR;fSDi#*m=B`Qdg2EXJ)1C&-sl7fCnjdp(R9sGx*`q_7o zuSPSJsvV2g?pc9!YH~22@_!#&yiYxInDH7h?@rwl~A zA4|Cv=u-g{MA!F`NS|_PmB^Ur{L}d_>>cTUk}g53yk<6Bd4xvr^O8>edH8#;ZDwO) zHdj8Ia`mKS%#>a;zq=&)K4FDd2hNFz)t$qXIfJ_K8|@Gi=qs807d9&xN}H^vvlMV; zQVm1NS1Dv^TTG)+Xq5$vl)wAD3Hbf6bQ;%puHRi@Fz4qgu`Gjw94wDrahMaRj08$9 zH@(2UR$)jIhm#suB^iI8^l!{AVnv6n zJUPkAp!MRvdEr0bPUFvN?f&s+?|&aL$E8(VF=^wCa3vj$n0b<*`i&LC@Nwanid3f= zcitwyXg0;>uKs;~J*Y_$2o>zpe@aKV&9h83Mkq{+!Qa@Y$`&A1KI%vspUujSJ zTNNN9^*60zNIbpvDY{^Ol4Y8X@X?y${#5JCs*L-*mkU1%FL8a<3|Fm9hLl!dXljf_12z_kM zR9Nw=JA5`3C(=|cq^2W81Fuk{ShmtKvJ%hW)fBy2qPM_OYh-MeGPYFQQr9xvV4gF` zn*lo&T-Uw_3*9Q~mQ5)@CR}1o-Rt{ zo1)`OQlkc~QHY}T~ArW1^m-o1pCfnU>{J7z^UVvoVd$b2uE#aA?umP@QeeU8e) ztgUjZt#S)jQ?B#o3sbSaj2$kjq;m4V|e%D#^g59pmSzb%PTJ zc62lq>5^;wC$*E*bV9pg^TnK_Fcg<$xS`|C>Ix)pmP$DjrmW==m)H^KAWIug{A4lp z)2^B*%q7TWQPc6=qd^R*Tgiq#VaNL{MZG`URIBSxbGzh+e!L7z{I}FUWb!&#PSaV6 zqx91#?a#tb{+_o~t3OgcL%E((QSP6Wou^SM8|_K_$}6oav*IcXLR4{Hxf&z_&bO#E z{q11^b=eSza&i@+Ma}mq_a{m*_fq8~0sS&`S5GH>9uFi1Lm@I`#+e|A5tCLV^A9=j z&0dqCFGvnjJ4$~ho+pud$29toM#s!fBG21oR+B?<`I04sL((KASroN+U2&-%hd{<5 zA?dWe#A%^wRue<<;^#MuMVD|+yM=`3{R%q3q=WNJBj2x71?yXb-AXnXaZ|BSGA2yT z8~i76YrLdb^Cg9JASr84$G#iSHwAsS%%xUI8Hl8$UC3H}{e`Pmln$&;yz~=i4i_6D z%~hW|cFO=_D?ZFxysl&EShEcsNp-xGvQH478ToEGrN7n18{MMv0acqd!a@k~01f}Q^huZj>iO7?}e zp|en*dP;DO0R=>7^20Ct0o+VnBhrkGXPh)E}jjnsp*7nJ`waRMJ!sYxHYPIy`>Su2k9Bo#7E1dq~fw91saSafh6<2?x!Wu z1jT~C@Fjd%A>dU}%JTN7InarSQ*Sv8owb209pIlc)N9N@vhj_3USab4^?^=AGA7Jm z7!n$|(g7Hn-P)JoJmXyu);u~#QyRPQc5wZPyA^Oj;e@^gbNk-MF$X5`orBi;@w3{v zfBZSd-@`{ARSb-SC>wt5^l^ZLK>sZU-kf5IOo9PcG)Pqa5_SU#8U!0ou^X4r2WAB`1pI}^zRzQEn76bQ# z(rE3+3(djG)QxN$^}&ynHh9y!kq?(XUgUF}$o`ag^7=T&J(^TBvJbZ6qk&i&?(w-a zcFwK!b16CO6!IEB+Mz4c0kzTxH}EIMx&|ynxw%t;l9bShU&g8Zdo-bCRo^9|WQLd( zbv9yFc?tL26lQ}RMK(|Ch|q5oQ2LDwyGJsZ_*BzTP*iw~c6yy&(cJgXaJa0zmkp;6 z8@%S;$U5c^?3LjpuncA+Ur2rU?K4Wq%Or<6L%I|!Qf6s{v?HApgV3umE6BA^;J9HtLG5p1?}JnA*V-S&f>O@aD?m1t;- zn5C{%)ltx^f#l|uL>*K62Z_1C+m(&HmHIeidKDs+KtoDIP{6R#OTb$SWQaGPBx}6M zn?){1|cDJsFF2DBsxOR1^TQaOw%^kvPKhj(Kec>@TR zB36O4@)9P|rHBlqiLZ>r7GL&8Og?RuEVJ6TH*WK^=oHzDRM{fS+L7%Uasz~J@NLY7 z-^MJ$S=lWCMm~bPR`dbIJN&VfwQtOQ$?yYZy@VrIpW~SOvlx!a0+J2JnVa2eVRA3a zsfM`geTET>8l8NOrxP#WlrAHaQa0gC%ny2))Yc=>8PS+a`8?WDZK`s)z?8Woy3%4mwTPkfQJkuS24P%E)(Iw4aU`FvFd)5xd6BEpAT&XFfdMudGR^#Cs~0+sHP(%1#bK{W4u@6&u7BOS3wesoqzH2sWu7bLu?ANaP7N& z$QV;B;)qR2)1P{i;seOMi?4RRYwk^o7EjETmf&-8Qix zR``JozS!S$5#>MtKfTUqSO7H2<>ZcOwozM_{l}aN1JiaBgRapP-)$cL>zH&!)jLf``Edrme zI|rBMqJ*A)@#uhr5Bj$bNMfAvoks9oU*FEkm;6?dzR&u1640xJZaU}|ZNo-hi-Nw7 zQVie(AH1^3{`s~@YQbp2ycBz_ih5Q>&EL?v_iBeUmEjyyfoJ(W_H0~eTk_DQRQfUA z5~eI#3T{C4)bV%pVCCd_e7WJP5^QkboQ3g%3=|g0ZbDlOxVF1(M35_>W@y}tjYs&P z=UI7C444Yp^84uF{2s;8h`DD{^j{NYS0zi|uqcyxl{0!^FM+1^`o?Q0l$ZhDGh=1L zr7iYl+R8@;0&f=V<-zYxKxG9DCmhCohZ`|QZgRbSegb?_P-F|Nsk;N6U;phJ4KwM> zG<@I?sl=B#*X{EfaIK)ERbYeq@+hE`pT<5dv>VwZ<^1j~^(a(VN*mXv|HbQ%QJ=TI zCHR_HMSTHQDQ?e4ycAcBhD4-NmLtEsS~cF*udU7yi=YOs<${oCid^4ip;Uy-e@W7K zygDj_rRbU^$g(Jj2H{#sq(TME;Sv$_UI@Jxx@9b(SSzc@xA@9;%P(;I^J{mdM+oyv znLtAN31oTB*g1cT&pMqW=qO#Fu+_rESWRcyW=6*eM9$X>#&ClHNd_LelMj+_0G_y8I2D z1j`M<2XKTV*<(YHsmODIu70=0{g%TDKUP4s;PMMM|IFWK{xS6{FYlsBl5=SVZiN|Q zzWVd~s4SatZ$A&OVoi)2APcp`v!zvv%IghGJ`^DHpMCq%Bn5aH$VefQ34G@Qcp@lC22z1ruH%+v zuJ02GJ|^V;TLvb-Bw{J#K1*iEln%Z&x0tfn?gJ`F8s|LZ;Ff94yxMn7d^g{PBz}oa zRLkQ9<`_aI249I9D6ez@xSQ5%I)R+V$$*@jG^o#FDP387obF(QT9O+5xkUc*!+?81 z_Y&n~_nm+;j@-NW%vQ^Qb>=-#lVj-XGbrP}EUv{gVw3nh$u4ADY&zo{Z>Choo=!l% zE>h?#Vu8Ff=$0d;l{BW~JygcKRT;bHF+<;8s`G50LYNHYoiz1FR73BP^?kg$`Tz%ZYsLFBrn4cHpcV& z;+?g6jFP)d!?n(5uN1up^VqbqGHA&L|2a^iQ#PpGVmb4+@l&$0+%qz^kyMOr z`I?})L_tat&EygoESW7+DwC$r70%S={RwXbfz*YJkM(-}yxhZ*wCZ8PI_tdKNugJf z#fC+4AIhvu4eU?G~PG91o6+7!YF!(v)2J@Di2=i#1o$QZmo%u2_{#9pYhDz_OoxV%J+GTo?eN$ z-#ol`?~nF%{&5NHgW#Wh`0zOSnMQYhjLnwNCDmcVQm}Bku=BA`5U>}bj~^bFM8+(U z@$)k|j(A*>nUU{!`f#g~oD(0z`ZQ3?*^50SgO*qd!xg^zIeoTDDwfThmCd~5Xl9NQ zkIr8E`NFqXyA_Xg4FFXg&qWSUGo~o-opwAOS&m2ke7O$t8R8D#g!qGyh02Mw1(sWl z#S4t1ZD9A74(r_S#W=^~(&2E!NWMr*CavOW=7KblgnTlQ zjo+WLH9#pRHJj6Ou0iq2)NRvJi9f1a=YSum$1V!p3{Dbhvu^7&ww*#K7Eff9pjnz2GKbx{&{<)qxRZrCWr~FnKEEE))|hIVhL=S7 zVSaok$APq;{z@xYl~OTAU{;WGS(5VhVM#i`YA%X6ONTkkO$soPjb%HR1zw=cqR6V* zss>3%RRn1civkJtla&(7oi_nIr|o3UaPmx*2F8Avhw7E2qM|kO@e{KkegIgbEl%Ul zGH@I|zbBptxWlUFoveBmCXJ=QGJeXb37MHdaTT@`_5*X?HJyct(wye7=TXaQK*-^( zw=+VKYhQbtN>UlOb=a~dw3uYyL#YXgThj@(kuaa9J|EP>v#u8=rR3y66FoWA zkbUp`F2jowR<>+P+ksWi&m%*nE1EVBZ+~)uM4DbTxGQiZidSztd7Z~5a>*O^kjhCT zEX43N-Fu?WGchKoDRlkvWpEyV;LiZR08)N=w8AXwPQKgkQ;8vqfdb?GuA$?v&qacl zU*gRoprxl10w5OZi>ZWEbDr?$MR{C4x)C=GyrbGRtB6>RIZWC3dEvh2JG`3NHS35Z zu7|$3iE28r#48KtEIg4eWlyG&FRSDZ5=yIteKC2$5=xAbfyg(896x>r>YIlis~e$6 zWSu%ta(i+2Mtte8JK)cEjNI!3WKV=Kdmoc;1Za+u>A!F7@`MpdHpm@5Z{^h3&6@AJ zWz${mQ4K>xbWUg^lgypEe|%qr(P9j`#oxUfqd-jL=vVQ?KWga^6>AcE{aXhN`nQ%! zLbMrEqImf|U;z2E+W*KgDKSa@4!NyW&iOl}g6in??~I8C%6v@hRI}UAiD*{L+mJonB8B#Rv{>?t z7paD#QkvOvGZ*FuZ5h2K<3cer8FdLtM_suLNdaE6F#v1rWth6s41IgVC4GD8hS_43 zrcq&q|RX=%!8gL+%9J!S|Es zl3H=~eVp(DuVkND1qPhvN{c6H>Hw495!Uvp3Qu&01}U(n6Jg5OP!qY(Ix}kpmduEo zllQ(5dhavB6EP!T4}ZjnZiVyhR&u@_O-PTtoBY9g5yhC;Lu!c}F<)yKTy`?K7a&_b z-3hGjD>OrFc@5F$56kgg9Qd8m^Wbhe7z4T_yidai&g@06Z2XTs{-d|g{LHR^I!%p3 zn^Wpn!KkHE?v=fL_jEi;tsU}%W&~+gmtwpL7H6(Z;Q*IX9h+fJ6Ifd?reo8&NIq<4 zSisBxRI8x+C+^-np7_a}luqp{JCo{jl3){*oRw7O6QoXO?g5C11#3$LMJR>sl z$rvutWoOE1{J{8s^CJg6J8vJom}-$zqvKAEE_}FtAe15tVs=xAqb9In&`LH8nz$Fx z9^3isxt|Y!>|Kx`zr|K2#{A~6WQLd#u~SHjK+Lb{_+l`SCZTX7#ro%m+(^ZOXN#55hf8nk#OgX5 zXY%bZ`R^E4bmU6sr;_-St9BV)pd}fAMJ;%iSiQm_!Ix=uIB>XdJ2479aD`_cq z+TfdLu)|Z{BMUYeFs+3}l+C2Xn*JH6DQYXQdW5QyJlYz2HDfjsLiLv~s*OM+-rqc|Z zO+zgKHXo-u5ymO!E;H$T7DPv$+_AjEp;-1>$IB&CPJs?GvsKc2(i*$Ea!ulr_Ni-oCBO5)&8x*hpd1GT|n%uwRg;<$5eXizpKo@c=G&j%LTx6uS-qXPy)wQ6Lw9+-5g;kn{$ns>JNAFVw=#Thh zTW{z2e{`q!!RB@1%B|M+T>!46`}(| zmz-VQ(k*9@ePPjo%Ep8X6N7uBw=jB;!GgDv73h|kEG<1V&Pk2)W&Fsa5+>2*#Vl`& zSdOu;{m~}{!?BVw62zv4fw}y43en_C0osBLCFxUin=hKk>&wI@uluDxl?lG!0Pj0k z@?QiPc>Mi4$+4$=Y$#Z7LL>U`Q7-+GS|)tPTb9M|8EtF2%WZ5Glu_2FQq=LU$)ZXJy-m80B#;OT%Is z9ZTe|M++Gj^0_qqmdJ$^d{17|B#Vk$8MG?gre{-aDJUD!7}+wZ0dJ-Pmy}Vcq^4m; zH`<>&>A_2CCfJQ1)@5w=U|CNPyLX!!HDQ&GS!6~#9jxxgLWZ1yj4H9NcB|@)wrgfW zuA&1SUu7waa;*h>3yx-VNxe{D5G~*9WvTO*ap^ZI3=q$4Cg6&q%1snoOl?sbcC4YO5pNo9*Sna`=yTAkmtk-hr)z5E{f#lj(t zJ?iMAia(C(chuDkttvyb#Fy*Dt?X;Ouc>$Y1XI=uNO?P7Ilic|`nr}gpok=X22)0z zvN?xNX`T%jL@l%Y{v3vmT-xJO$FarA*BX1t*Q=F+)KFrBo<^LkUSosmdbQS6ba;;I z_k_jw*fEncwyv)_WnR__7OT~q=>=lXTVvf;Eepq>g_^O*pKR?h3X;^c+^H9o?x`Jq2hUm_VdDcH&ZZ#;RXmXlJrM^pkN%eed1 zemzQtTut-sr6aT2HD-`&`Q-7KlhHt98L^$&#Np=y=gcQM z??*7c`AodHG%-x9o6vc5N<#Dpb$uz1sgx;*c(SBeBZ)S8+5caZ_hu>NQMGmRL?@zI zF>lFloavp%F0qzo^;q(E12nJQ#dm4n$FJdXMCXW49G#PL(d0v1ly;|xFMoeE zq!(~(ysDZnv7WP366hpdBF@9`@DnuojbY5R*qbjh_cxk!hDeQ zmd)Z{Qt4Gh_gh7D`R}?`D=Pf`1>akS*vdi|cTtNMI`Q{{$7z`q#N$Yp7=68jNb^#5 z_^GkVmb(_Z@mqXP49tBu6;b`3^z(cyj5#YsJZ3Cb^y+87L>VG?j~UevbKrb~%Fdt) ziatI2IVg2HPEv>TFL@Z1*<+`Ec1fJEQ~8zyL!;-Sf2(}EdrV?&;mf8@$22!u?=|_I zlqmx+yB=d4(RDcV>i}n!aw-lXm}}yCON?w} zi}LHGz5e^!M#TKcn(*cs4v=iWp(W(mbPu%GOv)yw8hRV#>&FI9pbfWqh3M#ybWatK z8j8s?e0jxjRSmxUZ20A;yRzHYkxj9LES!LSY#FcR)RMF!vw{?KW=>a`Y4t`fWiC2v zIMkF8eS-umLK|sw>Z-MCPL72OGI3LG3^s2+|7hb zKAdkwC&(Om4zoq2@{Isimcj2}wu8V?Q1UrmgSnDsz4gT)%NCY$Ky+_Gl#{4)!nmob zKPfO)N9_g)C+Px%WI%JKQI@ATZ%rpKjg}g(bRwbpRFW|tq zb5gs$QOsqPS7~Ij6tS@7GF%#zFn@*Qc($Ottnk$5uuF0{Tx2WF2J=(Rx(ViJR15lc z(J|b^4488gEIIN4c*NqmpF^|3A4j%WB5=SHo185$U`>tkPu+Mvx4b;myFL?M(sz<_ zRkIOdE~@d{{1s^E3ZiYmkdw#mdOt7nBm%~LCF(CZ8gdI|_?Ah94Q(`<_=K+Fjio9# zb}Hh1cid1tT7J!wlRNBr9A8_Tvi`ENV&|1vS6DN}WlI*;)HebqRMQFVpweuq_PMNN zx$KmvhnWT_9j_(J#8}}L(@5Guns8)QNnewq^ejcvW->WxHCZ`IyU8SRV<`*@FtbQn zSr&hiIhwS-iWl&nM(>P*)t47{<+$f%V zJ!|%SM3C8;3wQI0&oHjQC%J=SBaTM)$(%06DuPRZ4Zd$|7Qc?Xi0|X zyvCNKd=86c2$%4wi(Z9rkvG;kDkD#Fq)1t6a;Nm=7U^shrbyOwBGhb2$TYq)lE*D( z&xg}E0g$lSkn?4nvqH|#tk7&&SPRMhw+tvRrfd@5lrB^7IkR$GpfX|xF0xDLlGr7+ zzLH|ubLOTpSb=nYIiHin@+^ymX`aL$l0;L_V@*=OL?M#Z3u!rEjwsQ}WxUFp zg(hV%vNo1=DkK^B?us%YOVRbxC+S=-$_kDEtIWT6Wzs1NH$dvof)n4AuZ58pts3OD zk6}rovQJd@Nh#Bxc#9MV*GR4^i^GtVkN~Y>$SRg316hp3gt1L69NRQ_%-i;|gd+t!*e1@-V7vpPhrM5M~&y525;$_I?V58XfVV$ z&6%_5k}nrSy;w1X}KH2A0QtBOna6wEAS>n)LFxqajaW za$fs~F7aX_gWm`>oKg34<%ALaln)7sXGjG7sYl^Znem&G+peshg3qObdE_T~-r&rdljfw}Fny0) zLxcT-;6&JG&=R!dyhavV5j~@RfoVLBY)t$-8cuEQGH3F0CNKK*>C0XNQ(d+|7&ECz zDl)=A)5Fm`%TavbN_Nl=8_tH6vLLslN{jtszKicA1*YE^eCKOCzteSp<9D{qZ~V?y zfqrMJI>r=GH=n_N&qD!W4t?%&VBT{&PlOa8Joqgnm_VNoiKjed(51Q?X38fy33d z=h8dZCyXa7VOwwLM8vn>3-oa%9UoiLk!$dPZNXNXzsd}W=aFpj3#knW+eq10Aj9!kysER8-C#W=Yn(eiS2oQzrl~F+z~2L zCLDN(F0iKKFANYQQu_;|O2Bkfi{rVcWP$z+A6Mm431UU}UiTp+&Q629#!6PfU1T){ zdH}i0$qRq)4+1j7$}x;g9}A}G=mWx2tABbg*hO?wY2&R8cc=6!2=}LgW><&j?uk*v z(MhlN2^M)HpyaaAxd9CwezWsP=eJwDySs7Ct^ds?@`QsNp16^NXVsigH=5wSXs%3g z`P}r4F@#pjJue`A7rg0vz(3tsEwd368##{Zqa7k}S||G$MF)6e7H z{d+)0!mki(6ru4N{vSm~FX9ruI8}fAJT(ZH-;e$`RvJG3@w9f}X&sRp(3Ft3cpFzb zfa#IcF3DO1z5g-zwfE)cap(Tw*UK1wyIk|&%13M#4kse0DxhY6wc`s8IDN!XOK<`~ z%*dD;K#f0mtHh^0*UAm8AD>W~e~n+`8Hdb2K5ZL15h4Bp-NUTAuAB!T`YGcsKR93) zT+rwD5#T^aQ<3)khE)kakH6eM`Hj$DHU7lEc>n6%bNt|bHu&>iiX-V?O^~?2Lzy6S z5vjo1eD6cl5xMq1 zr&srTkNTtUJ$i21gOEP;p|vA%TwimkIKvR zpBJz8alOtWs}-RMXv@*QlXOWkAiHDd&DlV6*2Mc<^?RB}G<$6-{E1f=`t@~8WV5jO z)PBLUrW4W7n(%DX*~FEFO{ke%z3x8id<`953T{C2xPl*@*!%SoeXbU-6TJI|4r^`^ zhPuR?s&Zw^^THpot2P{G(~(~}yWlOIC?u5-#CjYc#dCZ`F+e&3I-R$QG_So|ly9mYTezn|c_ z2ATFdh~OTM5yyUwKj%FyAtx1Ee76wh?#hec7`6R%RllM|>L<0h4*COq{(7^glVD`l z3`qERawWQ6;m=hggx=4?ZzO}>bB*qEp;Q?-q6(<#5afO|yEU56nyu`F?%zGnx4FM^mj!xa33)HSW{N(nc*_E%z|jFaC!$#~ zCcq@o-L27^%BM{WaJF6M;hc*|T1<@BVb4vW7IZ67keUs#DuFBx_Cx4ZLT8g+hF%D_ zxL97EsbY|bvwOH(AMocI#>da2>n}F=#l8+b7dozM2>9!YPDNy{A0He9Z-UInEl9bs zEJlBuU-2)LGx^)F>lc+ZP`3EcrdC}QtI{rd`*$+xU?2W#~gG*9}rCw%5`~)F$ z1Q}$~{OqIW`nml29D42f?P_oLgg@`+aBufi(}}Eux1kf_v1RU_wsc^b3{;mH z(V-wX5IjzU_S!Ri_KEMaPyNbsl@q>|UwP#G;75#wca11gUhLohEfd<9>*lkmOm1JR z==tk94dLfFU0+&E1LMzoWx}|ogGr$N3s)r09fT7Ir6O}G)x0Bo=_E@#_4;-MGbw=Z znwBar;%hH9ls>gzC-~NM7AA6@{*x;j9_ybc4j|%h*IN1WkyqQB`aNkYxV4S)Epp4R z?@IlSKgX+%iRJ4dAeHG)zm>Tjef4vav-zV(VPUfnI3z<3dg&B0p%jgC&qINnub~r> z$OYKX?uvJL_#56vtVc%`)59SWll4!2v`<-vo!ked>i z@kO}uUJ?(syJ{JIAL0i{BNp6pfy^U5BZniT0E15;GHC1CTaiM?eUA*P;XiNf#i?uX zhUhQ6YJ0>;j{`mJ=_&KbUxWYoSAW5{KmJBv6+O2gKXiePU695l9Po`(aw<`LL-~lW z_8##;ohNMC8Pf=+<0HFAd{P9*rO{!Y9o}Xg!bOdim=Rpl5xvs~Licn?_$-0l4&eyt z3*!3_&73A-N|$3f`jBl%a(#a65-I8lhPa!{le@Qw7y7aM?5W{XhO0>udH42L`{qV6 zJ^hdL^PTA3A}H zl}y%cWGq20-~GoYwq24!+|Wt5FGC|liqHz^vVi%sKMt{`YC36vPsIw7WXzE6UWmVF z{!3t`wYI}Mw#+rsborm^#JPkNuX3@36TQ283^#8uL z@=9uj*G10p@kPpO5R?$cLkY$869G*n^9kgFl15G~XtAzjz93DUCgw7PdnRV~og;#x zF%U>doJg*mm3HIS6&{zI^U!i-=;L!(+R+~0&wO{{`?1w_O(zSWUOPyK^hcZ?D5bpJ z&{^1IK)=qU5S8=_Y*G_;1`LHAILl(zh4DI`z40|2cV~SKHyzBhIwzv3Wc)^8p`y-b zF;ytHtU?g8eNog~GaKgk1t7Ua7MzQ8q--*cosk=VXS8s8x*Nb5ODo8-ISc@liLX<8 z?xYqllY)i03-pcD4v+;8d61NU8N(E2*#zpYpE-6??SBRy!t3?b8#)d%)tW*zdM@|S z?+0B5^^r^IJ4!l*`~O_r9U$uV>sl7-br)Q8m$)-=xJd4VRJpS09J{|sGfs3%i_QoDm#WoVlWW}vP>d8QOi(rJ&Ec;CYGgmWVE4^0_m z`UUI^7;G?krPYjap-g*nV~`j31P_bWPdhrAP9~O@*OoY6eOm!{_#NDt*yr$G$epx9 z(@{b1z7Ez{o#~u_Bwrb%jXCQS>#sPzm-_Is3yXUKno1^V6oNFqpcb@Pr`f4LUZ(MM zlN|chMGN(rEO@dQsXbjkhBH6|5)RN`dU$$J})_!y%@MlaEpUy+lyDe0p4irwU+^+-r$|$?h)l} z;v(qnAAY?+K=NE;Vy+y>12jW!Z~(fikLN`zcTj2R@~YPL^%IvRToWdKXw;$6aj_pZ5?_-#CU zd%09>3-)?Kd?qYrULnkJcZttEG~;H zhXylHm!NZe6jjg-3|sdbT_k$QmZR`3Zme6}X%T+J?-d;nWR@vHMB`~X&bOxHkz}Y~ za{+xWb7-(mq3ijh|A>9-hIt5?@Jai82oo`nT+bYa8e2@}JI5D?m{Qa6G3O-WM~{#8 zL$U`c1lRZZ*~_@*&m+GcF@>zIoOLDhBLWjwnGPI88moAFpyT-G^=0YlmYdDz)E?b) zn9w~P&=&VMU(gD>E@ZxjqE_5h(lSg)^vsujiBQu)kLYfDAAvS>P!*q_ahgKmsr?F# zX#YefK&iHc4PR}+`s4T-XN6<;n*`j~HkEKyu_4^q z!nS>UwQgt$*Tc_}cU5(F0zyXbhE-andq#>c_qNT7&H}w%IToV|+NE@G z<2@-z{}?%(FZfh#nYh0b;#0L_&G&;k6~x8mA3hcJ_!-}=7F0Cnuu~Ap#kV?fW&1+C z-hzwf5_cw!^=F4vhBAF6-U%{oORmIwVTP6YmH6L+6MJ3%GWFWZs{{Bv>XalSVsj$b z_0x5EPz}62kDbqVO$Vc`OG-q>7eFGFGOuecmCdD8S4wH*F1jnu8H=@I@HF)##(Xc} zUK+6`?uAvUN*RyRfWw;3!!k&<;62&dq@6{Bjdp;cC{fcd-+Q#5qq`rEVHSRet#Nj! zn#j3!%)niOKRM-uw+47=@cDTf{*Bp$9llcE;qlTVNoApNnr(+?PA$omZF%(Bi0oB9 zXDVk4c1A*-);Ua{@@@JadD-vQ5y_gl3?__)z+`JWj-0Wl5~kC!whun$3WM6+R*G%% zWB(mSzRn4dW(C$K-?;Rj?t$ja7cx5xcbu~@CQwifU14B8;nTlA*x}Z`!`KYm&r6n2 zj4WkmlWM)rh;aMZq5F5vLwG5sOk5d>h08MX z>t{E$zpWDpX_c``)5jSP0Vr$# zxy&IV^$pG8;s3(u`mOz2e}@uT@*N7!tQ=qYSx}Bjxob`gP{g{*=R5)7YHMW*w_x&d zP$6kX?-a!0Ad~u(W26^83>~`O-+SV>B||r61TlD4&m#^Ag7e_V1WHJVJg+NVeY}fh z38YM7=W>0x*X70~2(PG)mNBMSmPUwdYU~W?FK3%qvtfT%+TWG7c4f>WDMrqzFZe>X zPX-}oKv}Y-yi%X=zU#3s13D@6UDwNpyT@I>(AhLtTj3l{rPz%CX58Sj!tt4+LFeI| zKqiG~5KT;o2E(N{^?2hFsg#BE68!-h%t+Oc>Po4ukP0=M3g%SFR%PNPZ?Bgzyjg7U zO`>xa=rf;V$wNUqO}qA!!;J>Bmd*);sb@?hSM_)YHMxw#spHO^^(MM>)mmQ-u#GsJhyHTK2io}N z#@)Xj-H_&ry#O2L!W7K=c^AOL=?5rcC_oY!&>7%CF8=t^#nt$)~Df&Danb_q{d#Tz$G=KLd%q zkRP!Z@&Z}+5ldX$3DG;%7*10XZS3|RNa72m)lSmnmtUy%)!tj7L4VUa~mRoCG`LmVmIB>JL}5 zs95jkcGiF3WTpluGbuWkxFV~;>cBL5X(#s&S=`~P9ypO9mnC)CG+?J;?_X2wo?KSo zL^S6N5uer#9Y@~UufdH^cE6tXbb!Y3tA_`F-cRMfp0;#iwDy!n^w14zON`GDOzH~E z;uo7*!ls6~%o9;fC!h|#hRy>v+dGA-S*__TQ0k_@telc|nzqOH&%Tq1h~3I{z;G4} z;Yj~yd>t>X`wf5aB7^ww5RS9_U;VeQ?q^i(Gpm*ms-97~&#YXTncS_>PS$KEB#fFv zM9tZ((W#wX!MF<^kI(;eJzslQ``b1CyccHT%`Th=zrN&Whi4WzflLLWJ%t#w70_S? z>J<7PHx_c`i7Vv+rxah_jfjf=eBUgJpPI8amVJ}WN3HNQt z2$5!F1$1`;WI*y?!m31NJNem+9d_A+;~5h`lW~p|79-a9gUHR#XYA1X!f^#~^-JB5 z@lYt&xX`Vn%v}LH1BP6gyh_xx^TiE9Xa=6W;4F}Klo*B>w6mx;*Z6;MeilIe!|NJbUrQ+-(0mVQzGTSA0nPWo=6hpH z#kJ1gsww{-UR>Cd3v_?tdl~UbqVw+PDCpv4_&3g&aNZ|64^Qn2KAnZ<8O}MDm-fqN$1&=DdsH60-d;QP8KcTaPF55N0~-aY(#fVgze1@GuQEDQHChLUu?EuDw3 zlFxY>I$r3~8wf@g&|tXVTd<5Tq^2Vz0n8|5maJlw`sB)eg`ZeQ_Vnze-5B?`3{|7I zb$3tqtHGc6m~-qY0LP)@MaG*?*kTt>WL`3(NUVgN0p()4!z)XTzm#;qD-Uve!p$F! zkOD~h%q5!Aad}bpv^s3*Xe>E10+>0AcQy}Mycbm6(HAos!>%W}z}BumgcAr~?3)z2 z7tVF3oHKL&J)Iz2$}#_oSYXv`(GsFGGGs)Z$B#aRA1?r#9UTv-E269PaZlLg6ApyV z=Lpwy0%X*{KHrAZILnIzN9rd!37%{&y3Gj8l^Jp`;2!T3M=l8({JGp*{o;}*Y_ST* zHR=y{&y=C~)5hIc;3!I)4UY6J+?m+7-g_ZcqHLT#{1t`GN8ylNUEiLec!d?Tw?tuF z0ljH9uPim;l3D`#51DOv!j~;@0+Q0pAd4<%oo3hA61VOa498v4p_{?5A5K7CE`>;= zU|q?4?oC`JI)oz=G zN#1kH=mqRFobamWhj(h+s3%MvNEKq14UU47MWx*t!fZ1Jx3Nt-i-wkJ2c*f4^DJ*M zo-l6&Co&pdP#99e&Vb$wn^%dNfi;PWL_PKx#`$*U5=G{w-qOiJBujRfBxeV8Du}7~I`yY34x~K4o}})#bTpMh_xyKz zqn!Kq@Fx2h{la7&91mb-&YTSj-LPX2a{3ET32-7~P+#l^H6S4N?wM` z73LsT6a0vU$22&BC1^Mvub)4^Ry+K8FEg;(ZRvOhMXOy+$D@)UJD4kj^YGTYaWlVD z`L%M-$Z!@$bp`xm}zh7*}Dd7DGG z4jG3TIsl@dGBuGa6WJ2~m%I77zlXOgKA!ls+2hXzeqiwBMl?s~cOzgpnnIPubNqT5 zUj}FNX0@jC@HT$nl{|B}dENqU7s$FTF&c$IJB#{Kx)V?(nviD>{9T^cbQX60FT6@Z z@F|952z;H5HS6n8O=_F&v1hM!!Hm{S~>5Ij!4~MH%m^ga+_C0 z2z$^IZgALU;m*XqW4aeo*~Pe%wf<8?Hgh~}KJrDsubJ?5x`r=i2dAyMP+;T2m&ubzK! zZuGT#m3fO5-j>2y*jzv;#T!&OP$Lmt3tnM^xYu?%y0)~!c4crpfVmmcM12Oh!Ut3< zY`o?nCMQ<-GAe^mS>TIeud?^`>e=OZCEnDBjJSNPT-o5$^&jknh>Z}Bf@QW*)4$?b13bM0Z0x&j|>(@nI(}|2lS5R14!p?wl-7ehQTFu&8 zVRN1VoM7t=e4-PPyML50_Sj9=G1}~>q-_X#llu%e%PY;X}|)G6Z6&3S(s?ZX#!mb z`47|rWsQPm9{-fHkBBMfdZmR>i$8Gg6Co&3mfNiP8O9Rz9Gz!tif$;(@xRjh%M=Q zSh}a0x?n+ouc>=MWr{jpo{SFrFX{Pa|6hZPTwTLs-o`yz!co*) zS#UA1#GQ$wS$0U3Df{TBuzmar6I;$XBwVbrLTHy6(A^0Lw%rY@w90>9`zuq&T^cv( z_Iw_~6UP>pz?M%2fr@O&VW)*V6MGx)g;a^M@%-hgJFd7{Z822ea;UCD#4Q;3>kyknMMDR&ew>J{kKhC(CS{N&<*X}N zFv-G|p(70RGuw)csUsp3M!WTrZF z0^(5G6HI>PoqcooDp8@NMWk{5iUqpGRqan4ZG^J`0qjJw6hL zolR`+i^Ym@S5AY2u9!|qxaua6{9c2Zqok0Ce<^hW1cEG}rLsT=jM#bAiI`X;gXyc!W7Mb?oL1`qY(B!U>A{BHx4=X+OCAN+{}Fj5dCbL~peoVFGEegG?<@A=5i@H#5p^YtsTo+*`ha8mIbWqBcesXjywrp- z?*&E1OW36_y!BY^nl+t=aiU$-Ht!JpBN=YJf%4Y z70j<)G^3Olf$;{uiFuu_eTIBYTMqMz1)LT0mM~LEx{{~Dyvn3yY~&sz5`4A8bQ2OH zYUbi``%8IFT+>;ge!a7j(;1_B7tf{1D8+Ru5O*)3WPi}ntgQHq- zQVV=nR4oQJ&T$dlSO5?3@UH1ZCI;n{<`l5A;?od=R+b963q?%3MX;vx@PDT3x&LlY zI;qGKm9Komy26kQlMK_1yV*&(W8MOvye?F-S#oC7z@3RhcJG8#sWN`d<2>l6u@KG^ zN@XlXgFn(?g@ZKVENn8MM_f3939RF^o zA2%*JU}!(j1J~KDYP_Izj%QGWm)dYdm9rKTVYMi5*{NLxyT;dqm0P6=;FQ%0j_x!Ol`EZPez8mbU9$Svl+39d<(>%k*`W*E@V?zJK^X z^htRDV#^+%~aH!JMbvD!rB9?2vE2XZzpvBZ*i#ZuNUkyPPT>k!zWB#WGrTjy+6b7r-mUj^9=JC>40XOO9T74R ztx_?C6$txqt+6ctoQJUYz4J75e7uBky8&8BGewb~Tv}seJva*#+X~#zChaUL?f70m zWoq(WoC*nhCph1hPRNQV2$>O9B3jna5hBrQIuCxsg&eeBKE*)Cm(kx}*VwTR&H_cY zz$~hgb_wNPQutmGpDUhvd1PB-$rT(S)Q`nlaDouBk%}?*8FB*$=d0;>)WOrx@#zzx zjPP-=AZkbMpO|~us!Eam)i)fx1BBy*js+4anxD&M(CeEGg$Zkq@24wvu`?ofM&z!P z^Q|%$EwGZV47>h&K*Ia$JNFG-yTOI~i-55=H65fk_$?sU&uAa`s3AfYSBX(L2JI~B zGk7PUGBnAi8YVXF@mp%xJh5r`w|ssIZ%t=mlL4i*l%g!b5}VY7oq}r)s+~=nJ^q3p zY2eKm92fE2`;S}Kn5Bo~puC#E>JKdb5I=3k!a+DeW`>VaF&Z?v8wnhbd`)57a5$P) zv*!LNlJ$Pu(0MrFBOmlp=qb0}%MK5wVTV;gDZ%x`C0uLlpaJJWmR;ffJ6^xXck2RNTYI3G&i)Rj;O}Kg9L*g||X>In;Tj#8{ib~2QXQ3Ln zGqEoQ74mwPBQG|Xe%`FyWfYiHc!6n1L19J-J4>yYVDlS)4)Z!8?3d3voKgw(gI3nxxvCyI0{lhi8bA{r&BwjjdCx?_MrQVGc+rEBOe5mCBR1f&~jX@+iw?i7aZl9mRM@ACfE z_wSvxX4akcJm>7Q_de$UP|a2;yKv~?1>huFVNn(02UxZ$D^eRC2;!V$hf7J+t4;U> z_Ey}Y0pakKkVla9A*`kQ>rG_opT*IY10x2Zvst~1S<4Y8A+>-hF+z1+jzXWjH=_hk zI3o~8*G?m3X`%VCaRQ9 z{c~2#RQqFIiln0Q)1@VQ_I+8$A@mB00@@ttAwhoe<^MFB3vvqE_DJ;)n-~risgGI! z)WvK&n&__8YipgzA*!KbML}#O#O6?d+WI2a+EO#q5F&@Y?DRZO$j>KIot!#*aH*UO z60azu5VT?^5dnaqR|TOVLWgFJMW5PstZ?_pmi~FAFBznkT^=?%{Pv=a8_@O-78*Hp zv{^8*Su)u&pA+kFuCfnsOj?l|NRlwK6Os?q~k#-{|%8!_ItQ)2IvJjbv8yv zK+=4lqONI#CQK00u(xP@I~0y&eo}4@GAG2(SaDA3{1w(K^&c7~<_okWnXjIl5-oP= zHQyG#qP&#-6a6OQV@iVpaefok<6HEovS@P8yF7zdf+dJgy~VQA*;DA0Uj5*4#8Cki zq$OBsRB~M3n3dDIfWZxk|(nQ!3bM^K}gFD9NFr@85;7ogUK~`&`>~L%Z zy(P|?W(#@#Dgyzvg@~C4oR0A~FLXPG!A7!|DdlO2eEWBa0236J_|%HP{IS6N^d|+fA0WGr(9n3>qOY{NT{=#)@6`l$#>nz#>w zTJ#ahP4@gsA*)-~atWZwBe0C?sV~j-|C`Yd0(tN?2v>5b_5+=|#ykaBWyIZm`BuhU zzhtw`tcfUah%#CF>1q(mO7;PQpPfMQB8h1Y0#1p>K5B=fTfS^KMlftf<(HTiE|}6L z4EyXgY8e9M)s*@t^O>c$_s2KEmu}Ej(t;VRV}U3d2}!07SPYHv$t1x){&Y;jzkknx zq=1=iSL=R@$uzOVtF|@+Y&js;yvVkwb>{#aCi$_FT4)S=@{HY%>-yakVU8!4P7Wbl z`?FaP|Fx6>WV?RXV*%SqKw|Gj6 zh?EKh@#%C*bJbMfA0zaI3K(Ndt)Ad-KLmFnvo(5p?L2nfBa_d@{K9GMzTpX36sGK- zuHlQdr;8hP3h)c_ulDGxkGs|eUk(&K&}A&i_42Om+>fqyTi%ByPRi(&H2JTCfI(%{ z5~gqTR;`{9MYwBn-H3Jl;TLzU^1;X^fR#N4JosGjF~PSXX`fmqX*7UaR0dxYqVH z(Jo6NX-G2Zq2m76mIulK83Ybk+dUE&&H($7LH#<$VlRO5mEd-F4?DHelX+F!NUI$mJ{pY6^^6e!=m_Pt7Q2>dlRRb!?j}zZij^HHG$KvGoCelf7(q zQZ(SW8GnSK6->DNoOuKpSjajM_M$3phPGAUKPMxfcvi1po1)%Jl zyqF3`z^0*}yM*xKHgFYN7!KGe!>0%fiIq@VjAk_3CM%d~flCS05geGnC-yjKWgF55 zZqgxAxO~&hPij_`S@%l2`(NyJW{e<{QvDg98Zi#=yr7~!U8SBmr?5M-v_3k9J&ht$ z7;~T=c{f)jUAL1KYAhd^S$ee(3#Cy!$8zWnc`~0u2%)+A47p+ijUczs)jmoEGz~XValCG_UvCKwAVrv~ z-{61$BwRuqgplw-j8-lj;LYhwB@U+h4orc*WHaQpc;7VP5rxcFS`sq~Y{fB>R!lw( z;WAh<8?mgr$M8y~ia0vHo=dI^6(v;u5Jf`Ms_P>QiUNOtnJKnr$+iOAxz{yH zf7lL4`d=C9WF8$q@{?at10XX? zUUxqd(inW;q ze>TZ(FpKX{n=-mNRkYUwsLUyRO2zQ1Kuu2{zKH7dnCd~1d_2!?c{axa(;Z9GVqA9n z%3SNy4=D+^rgr`@7D^vtGVB+Up#pTmx$(qUiGv!ULC-1xrMS3t97*G4i{BKcZIi*wTWOut0nS;n~sI{#bGUrM8`7_^Ozx+RaN_uuV@blNvt_ z$W^>aRecW+%|LX?-G=jX?OUs=|45$v;)?7|i!@>CKtfA6hQ%GJ=jko1zdx-*kK^tP zVtAW*H~R05xXghw))n}4F?@v5=wt-Xh=E{$KEt&1 z`_a;_VK6cB!zE?`4~RS%we&q`!_dsxudDUFO?-BnUs~>LY7Bs!-+IV@GTc6-%Mv-f zZI7=${3rr}sIHJxLYW_TRlRxD2`+x?d6LCbHa(9izlA##C=cBInfY|zpHq-)sT{xZ zRYQk%k17NZX=N~meQh{#Z3oV-yxhpD9gRj0Agwtom#%43(3XKavu~YvfWX+m%;N$d z8~Gtd26)xfzh^d1yzD*kOgMO*)|Q=9oqmk7p8hSVVH{Z~6zG_13!Tw{O!Igzq~~ zh^7S%Qw+TucRbh@apR5Z32Fu^;;hJAyrD{0Ibo%D-Vs4&8!WH>fh|1eYRa{)J}?f~ zot_Mfs~zqgpuq;LgDBpXT1b3iYA5?mJna^+T!R$#E#GC2W=SOPrvw6lvJ*~wPKv&z zyIaWm0R17PvG>nMsG*9AB=)9z3?lE+T`Ghm*=mS|g9Gp#9y#ry%66WZj7CK*G8Aiy z9`LYXyi@HFfD+d^S(+HBTt3(X>wVbYps*Z}*mSp@|9q)7e#0G{r_>HI{1=xyJ-r%W zT!R&Tl{D!hT?`F@G>$NA<+-2Eq5xPgS&1ATxSFCN!IuI}yLJ`E(y!d`4l+{kbFxG6 zQt|te1tjD8{}%X5&y1_o6- zU&Xdi*_3bwlSoB-jzIqKSdYfq36`vKPYr#QiA@zucRY48(QPMvX>`bM^|6yy+(smco6EqtlE|B#>X_QH7+$;q4raf_Bonv)ZKUhK>l8p95qBD-q6#_sy~-6B$=Yy6ZZmQQw8`S{oCBF&msj zBy_f)1Je;+;3bE6N930q22 zvjr~14IXmq{g16F(~vJbo&3Ksrsrgs-9Smf4@JAEf!Osk`4$H^S5g@~IvVkX!krC= zchEuXsHREpt0QY$>K;HoPSH@&)&O9Bs};!4{>ifwmS2{bX<75SQ zd!(e}zgAWJ$INr>3YRVFzR+kTkLD6ww;J2GR`)*)y)BZ!7*D>;77nC*X z)JyrRtqWDNVm2cVGsCuyX2~xU#Z#D>$vYUsDJDPMvR#FavD}59|5`DvA(neL@jX(2BX;c$;pV1!Z$rn?a%tQeQ&=tJt|mVffSt{d={GuEZ?) z(DjTf2!x3_?TTd(g(~Kmf5Jo%9V-x^J>e$%iHjZ*cc%9-vokPYolp3G>pYB)pGe=4h})&cN7mAh1J;cNfIOQOn5;P)-YJj57=_WeETx0g z7WELX7g*?J?c4-TpgNpFVa(EJV-umr?}{E1$}%`s^lcgWtLZ!?YMuOpX#xgSL}yqi z>xZPOfAoAV?vS1W>C7#l}Dtd|9KV!)yvleS5?bdMtRv?Q8e<+%zX!-eB(Z?Up!k z3F9E_P;cFhMH>71#txa5j?BxqtxHp``rjZ%Ya-x_P5&Hbh3*yZ0c3iZ*X#mb5wSTm zX$@Oaat2Rdw=L1-tJ2ShV@*5EFBRkOr(^@%C^0R8Q8j8q$(QR8a)7}$P~-e_tp1NBPAx<%AL zR^8WdtBpm82)K85Ely7t$-Up!$R=J`{0Y`~%z|a#-%%D^EZ!}Z@3>1Sp?wT6?FCaT z0)z%JU@*1Q*;p{H;Yq`k=fqVcU^pPYal4EDl|5WOoG^l3RM$0T3t+7Y_ajUV-AQxL zkD4O)kg~#rnhpZeU8D}}Fe}dxua%{$OC$la*$I^uDBtf-IjjMc%Kj%LWWztUgA@5|mIG zzQ6U7N$o;&dDcl7;3i}a&NLueHnz<3&5ylyb?KM|YBu>TK8H2dUmb}vsA$k_jGI3G z3$Gb59BOx8FkxjUw$55m?fK9AbyZlBXi2rdWFEyc3Y!6xzRc8)|FvzAY8v^Y-tEwV zF$MVg(=Ap8t>o86eR<*?c$wP6ACm~C{~=?hw(&#=(j^K7O>ttM+iQ;npWCH-mJ>IV zao*Vrc>HasrTS)Jef%2G19WT{f|DPp_xbL0U)D*`=o9OTi`rR$S`O!DC=hxG75I%L zYUTqy>r-DMG(BF2hf6aQNIyJh|L=JM-wVp-!oZwLl-c7k<_CwD#UkEMUazX78n$N9 zbnKelkLY)c_>Rh}k2h=ugVbs$_8?SqL=>%ZdG=J#6m(;Pe?DXQ4@NU`6h0}eX1tWT z7rJSjJJ@~54{d9>stqdtDQLJzWAU%cD-s02Eh52Hta)G;C-qB8 zSAE(e?;I7K1)KE^tRv^uT+dcApcK2eA1$3+2^O3W$rsK1OzK-4Z{JdoL(3jnzc)Iw zUUW(J(h!auPcpZ{Z0G*|Dcq=R8?k_0>4F#a?g!~Q&;AH#R$s!=i86JV!BUotj7LDL z5#L=VTIx4H%_uXe%1nqOu-Bq2aNWUuySV9n_F~R#-KxEAz>J*}sQ`t_1cW)m5&t^4F#u zWZKn}Q#$l{XoTVsa(0F72^5FSw)80_91CzizKvfXC?<|y-?sGmVt?(qyw5GtrGWR< za`?91+&I9i3Me{enRzl#6@bb`&j(Oe_^)v?+3ENFW>!jxsK2)4nfsz_jyX36|M3ze zv~`YapHZPrIX+YzA{x%&n$+?e8EI{alQK8Wxo1>1*8avz_mv zlSA9F;=-;sV>x)#qdBsJh!RAld(9}TYjMnL_*Fcv%+qVx_*y(I)S`Pq3DJFf#rAky z{AgAjTQ-Pc8WfV~6S&n3Ot+6df37Wfeh?BJOz5(;9KkWv-Au~;;W1Rl?#g>iv+J>zt%Cnqm=?cv$X9p)dHHM-{_Omc$2AbZ0EPCJMb&fc}XwVt(>0F zP)m0sV{=B>0X~G>hbebrfD`2d`&lLPe%f=}Pm-fK2D6z-7-+h(;vNGoA7kaW-24DR zBJYFZQvuiJIQp&edqclQ=bKXFNH*&YNXWnXg#4bb#Y-h*Znmc)5cMO{!Bh(^f_1@RBj$PWKynz|Ds+$O9h%8z1;0r_cwpmiiM zQTY5DXv`a1xpXxQH>|i?uMn*;N(Y+D>N&uqW_v~zB2u~#M94&|8z)JwQBh{LL`?!v zx#GF1o>0Tl(%Y8qFbh)o=jyDC% zzaT@JoznVFXwF;wGizP;NJx{K8do3pA;%SAhi*$iy7b(StZK$XQEVO37E9W%-~qPxFNb6y!&ttP1C)OzQks30J zTandv3MgJ2Ive+3es21YQ~M5x6*K6Sot&!BnCcr7}>^ zZsh}{aaN1v2i8mbEp0$ouSFZu*E)|j(O3s9{wx1iJl)J=c8u*e9F`okHhB+vOL|iM z1h9)w$gz{@rsNL3ow5!mBOio@?5E?RShj*o{tRsU8iJ$VjeXKi_!gnv8^2!Vxgd&0 zy=>HTa<^SESGvPKq+>sZ9$cPCRD2f&^DpWG#w=1z>rq!!qeuCVsTynfVeflmSo#@C zN8LVjALY>jfGn7Cd~(b=k9xV5<~ZdE%=c;JkTk#$Pb`)@9RqnOyA$7Ow(_&(hyIDX ztlv>$%eL%rpVrlh)A_EZ>?1#*;SupnA{A(OJe+7fJ2=N)&J^gld~qOJgF3kP4a0}x z{; r2Length { + minLength = r1Length + } else { + minLength = r2Length + } + + searchRange := minLength + searchRange = (searchRange / 2) - 1 + if searchRange < 0 { + searchRange = 0 + } + var lowLim, hiLim, transCount, commonChars int + var i, j, k int + + r1Flag := make([]bool, r1Length+1) + r2Flag := make([]bool, r2Length+1) + + // find the common chars within the acceptable range + commonChars = 0 + for i, _ = range r1 { + if i >= searchRange { + lowLim = i - searchRange + } else { + lowLim = 0 + } + + if (i + searchRange) <= (r2Length - 1) { + hiLim = i + searchRange + } else { + hiLim = r2Length - 1 + } + + for j := lowLim; j <= hiLim; j++ { + if !r2Flag[j] && r2[j] == r1[i] { + r2Flag[j] = true + r1Flag[i] = true + commonChars++ + + break + } + } + } + + // if we have nothing in common at this point, nothing else can be done + if commonChars == 0 { + return + } + + // otherwise we count the transpositions + k = 0 + transCount = 0 + for i, _ := range r1 { + if r1Flag[i] { + for j = k; j < r2Length; j++ { + if r2Flag[j] { + k = j + 1 + break + } + } + if r1[i] != r2[j] { + transCount++ + } + } + } + transCount /= 2 + + // adjust for similarities in nonmatched characters + distance = float64(commonChars)/float64(r1Length) + + float64(commonChars)/float64(r2Length) + + (float64(commonChars-transCount))/float64(commonChars) + distance /= 3.0 + + // give more weight to already-similar strings + if winklerize && distance > 0.7 { + + // the first 4 characters in common + if minLength >= 4 { + j = 4 + } else { + j = minLength + } + + for i = 0; i < j && len(r1) > i && len(r2) > i && r1[i] == r2[i] && nan(r1[i]); i++ { + } + + if i > 0 { + distance += float64(i) * 0.1 * (1.0 - distance) + } + + if longTolerance && (minLength > 4) && (commonChars > i+1) && + (2*commonChars >= minLength+i) { + if nan(r1[0]) { + distance += (1.0 - distance) * (float64(commonChars-i-1) / + (float64(r1Length) + float64(r2Length) - float64(i*2) + 2)) + } + } + } + + return +} + +// Jaro computes the Jaro edit distance between two strings. It represents +// this with a float64 between 0 and 1 inclusive, with 0 indicating the two +// strings are not at all similar and 1 indicating the two strings are exact +// matches. +// +// See http://en.wikipedia.org/wiki/Jaro%E2%80%93Winkler_distance for a +// full description. +func Jaro(r1 string, r2 string) (distance float64) { + return jaroWinklerBase(r1, r2, false, false) +} + +// JaroWinkler computes the Jaro-Winkler edit distance between two strings. +// This is a modification of the Jaro algorithm that gives additional weight +// to prefix matches. +func JaroWinkler(r1 string, r2 string, longTolerance bool) (distance float64) { + return jaroWinklerBase(r1, r2, longTolerance, true) +} diff --git a/vendor/github.com/antzucaro/matchr/levenshtein.go b/vendor/github.com/antzucaro/matchr/levenshtein.go new file mode 100644 index 000000000..5f3ad0f8b --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/levenshtein.go @@ -0,0 +1,48 @@ +package matchr + +// Levenshtein computes the Levenshtein distance between two +// strings. The returned value - distance - is the number of insertions, +// deletions, and substitutions it takes to transform one +// string (s1) into another (s2). Each step in the transformation "costs" +// one distance point. +func Levenshtein(s1 string, s2 string) (distance int) { + // index by code point, not byte + r1 := []rune(s1) + r2 := []rune(s2) + + rows := len(r1) + 1 + cols := len(r2) + 1 + + var d1 int + var d2 int + var d3 int + var i int + var j int + dist := make([]int, rows*cols) + + for i = 0; i < rows; i++ { + dist[i*cols] = i + } + + for j = 0; j < cols; j++ { + dist[j] = j + } + + for j = 1; j < cols; j++ { + for i = 1; i < rows; i++ { + if r1[i-1] == r2[j-1] { + dist[(i*cols)+j] = dist[((i-1)*cols)+(j-1)] + } else { + d1 = dist[((i-1)*cols)+j] + 1 + d2 = dist[(i*cols)+(j-1)] + 1 + d3 = dist[((i-1)*cols)+(j-1)] + 1 + + dist[(i*cols)+j] = min(d1, min(d2, d3)) + } + } + } + + distance = dist[(cols*rows)-1] + + return +} diff --git a/vendor/github.com/antzucaro/matchr/longestcommonsubsequence.go b/vendor/github.com/antzucaro/matchr/longestcommonsubsequence.go new file mode 100644 index 000000000..97c1224e1 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/longestcommonsubsequence.go @@ -0,0 +1,30 @@ +package matchr + +// LongestCommonSubsequence computes the longest substring +// between two strings. The returned value is the length +// of the substring, which contains letters from both +// strings, while maintaining the order of the letters. +func LongestCommonSubsequence(s1, s2 string) int { + r1 := []rune(s1) + r2 := []rune(s2) + table := make([][]int, len(s1)+1) + + // Construct 2D table + for i := range table { + table[i] = make([]int, len(s2)+1) + } + + var i int + var j int + + for i = len(r1) - 1; i >= 0; i-- { + for j = len(r2) - 1; j >= 0; j-- { + if r1[i] == r2[j] { + table[i][j] = 1 + table[i+1][j+1] + } else { + table[i][j] = maxI(table[i+1][j], table[i][j+1]) + } + } + } + return table[0][0] +} diff --git a/vendor/github.com/antzucaro/matchr/metaphone.go b/vendor/github.com/antzucaro/matchr/metaphone.go new file mode 100644 index 000000000..484d0f4d1 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/metaphone.go @@ -0,0 +1,721 @@ +package matchr + +import ( + "bytes" + "strings" +) + +type metaphoneresult struct { + // the maximum number of code values to calculate + maxLength int + + // whether to calculate an alternate + calcAlternate bool + + // no direct modifications - only through add() + primary bytes.Buffer + alternate bytes.Buffer + + // length of the private buffers + PrimaryLength int + AlternateLength int +} + +func newMetaphoneresult(maxLength int, calcAlternate bool) (r *metaphoneresult) { + r = &metaphoneresult{maxLength: maxLength, calcAlternate: calcAlternate} + return +} + +func (r *metaphoneresult) add(c1 string, c2 string) { + if c1 != "" { + r.primary.WriteString(c1) + r.PrimaryLength += len(c1) + } + + if c2 != "" && r.calcAlternate { + r.alternate.WriteString(c2) + r.AlternateLength += len(c2) + } +} + +func (r *metaphoneresult) isComplete() bool { + return r.PrimaryLength >= r.maxLength && r.AlternateLength >= r.maxLength +} + +func (r *metaphoneresult) result() (primary string, alternate string) { + primary = r.primary.String() + if len(primary) > r.maxLength { + primary = primary[0:r.maxLength] + } + alternate = r.alternate.String() + if len(alternate) > r.maxLength { + alternate = alternate[0:r.maxLength] + } + return +} + +// utility functions for checking things within a string +func isSlavoGermanic(value string) bool { + return strings.Contains(value, "W") || strings.Contains(value, "K") || + strings.Contains(value, "CZ") || strings.Contains(value, "WITZ") +} + +func isSilentStart(input runestring) bool { + SILENT_START := [...]string{"GN", "KN", "PN", "WR", "PS"} + + prefix := input.SafeSubstr(0, 2) + + for _, criteria := range SILENT_START { + if prefix == criteria { + return true + } + } + + return false +} + +func handleVowel(result *metaphoneresult, index int) int { + if index == 0 { + result.add("A", "A") + } + + return index + 1 +} + +/****************************************************************************** + * Entry handlers for letters. + *****************************************************************************/ +func handleC(input runestring, result *metaphoneresult, index int) int { + if conditionC0(input, index) { + result.add("K", "K") + index += 2 + } else if index == 0 && input.Contains(index, 6, "CAESAR") { + result.add("S", "S") + index += 2 + } else if input.Contains(index, 2, "CH") { + index = handleCH(input, result, index) + } else if input.Contains(index, 2, "CZ") && + !input.Contains(index-2, 4, "WICZ") { + result.add("S", "X") + index += 2 + } else if input.Contains(index+1, 3, "CIA") { + result.add("X", "X") + index += 3 + } else if input.Contains(index, 2, "CC") && + !(index == 1 && input.SafeAt(0) == 'M') { + return handleCC(input, result, index) + } else if input.Contains(index, 2, "CK") || + input.Contains(index, 2, "CG") || + input.Contains(index, 2, "CQ") { + result.add("K", "K") + index += 2 + } else if input.Contains(index, 2, "CI") || + input.Contains(index, 2, "CE") || + input.Contains(index, 2, "CY") { + if input.Contains(index, 3, "CIO") || + input.Contains(index, 3, "CIE") || + input.Contains(index, 3, "CIA") { + result.add("S", "X") + } else { + result.add("S", "S") + } + index += 2 + } else { + result.add("K", "K") + if input.Contains(index+1, 2, " C") || + input.Contains(index+1, 2, " Q") || + input.Contains(index+1, 2, " G") { + index += 3 + } else if (input.Contains(index+1, 1, "C") || + input.Contains(index+1, 1, "K") || + input.Contains(index+1, 1, "Q")) && + !(input.Contains(index+1, 2, "CE") || + input.Contains(index+1, 2, "CI")) { + index += 2 + } else { + index++ + } + } + + return index +} + +func handleCC(input runestring, result *metaphoneresult, index int) int { + if input.Contains(index+2, 1, "I", "E", "H") && + !input.Contains(index+2, 2, "HU") { + if (index == 1 && input.SafeAt(index-1) == 'A') || + (input.Contains(index-1, 5, "UCCEE", "UCCES")) { + result.add("KS", "KS") + } else { + result.add("X", "X") + } + index += 3 + } else { + result.add("K", "K") + index += 2 + } + return index +} + +func handleCH(input runestring, result *metaphoneresult, index int) int { + if index > 0 && input.Contains(index, 4, "CHAE") { + result.add("K", "X") + return index + 2 + } else if conditionCH0(input, index) { + result.add("K", "K") + return index + 2 + // TODO: combine this condition with the one above? + } else if conditionCH1(input, index) { + result.add("K", "K") + return index + 2 + } else { + if index > 0 { + if input.Contains(0, 2, "MC") { + result.add("K", "K") + } else { + result.add("X", "K") + } + } else { + result.add("X", "X") + } + return index + 2 + } +} + +func handleD(input runestring, result *metaphoneresult, index int) int { + if input.Contains(index, 2, "DG") { + if input.Contains(index+2, 1, "I", "E", "Y") { + result.add("J", "J") + index += 3 + } else { + result.add("TK", "TK") + index += 2 + } + } else if input.Contains(index, 2, "DT", "DD") { + result.add("T", "T") + index += 2 + } else { + result.add("T", "T") + index++ + } + return index +} + +func handleG(input runestring, result *metaphoneresult, index int, slavoGermanic bool) int { + if input.SafeAt(index+1) == 'H' { + index = handleGH(input, result, index) + } else if input.SafeAt(index+1) == 'N' { + if index == 1 && isVowel(input.SafeAt(0)) && !slavoGermanic { + result.add("KN", "N") + } else if !input.Contains(index+2, 2, "EY") && input.SafeAt(index+1) != 'Y' && !slavoGermanic { + result.add("N", "KN") + } else { + result.add("KN", "KN") + } + index += 2 + } else if input.Contains(index+1, 2, "LI") && !slavoGermanic { + result.add("KL", "L") + index += 2 + } else if index == 0 && (input.SafeAt(index+1) == 'Y' || + input.Contains(index+1, 2, "ES", "EP", "EB", "EL", "EY", "IB", "IL", "IN", "IE", "EI", "ER")) { + result.add("K", "J") + index += 2 + } else if (input.Contains(index+1, 2, "ER") || + input.SafeAt(index+1) == 'Y') && + !input.Contains(0, 6, "DANGER", "RANGER", "MANGER") && + !input.Contains(index-1, 1, "E", "I") && + !input.Contains(index-1, 3, "RGY", "OGY") { + result.add("K", "J") + index += 2 + } else if input.Contains(index+1, 1, "E", "I", "Y") || + input.Contains(index-1, 4, "AGGI", "OGGI") { + if input.Contains(0, 4, "VAN ", "VON ") || + input.Contains(0, 3, "SCH") || + input.Contains(index+1, 2, "ET") { + result.add("K", "K") + } else if input.Contains(index+1, 3, "IER") { + result.add("J", "J") + } else { + result.add("J", "K") + } + index += 2 + } else if input.SafeAt(index+1) == 'G' { + result.add("K", "K") + index += 2 + } else { + result.add("K", "K") + index++ + } + return index +} + +func handleGH(input runestring, result *metaphoneresult, index int) int { + if index > 0 && !isVowel(input.SafeAt(index-1)) { + result.add("K", "K") + index += 2 + } else if index == 0 { + if input.SafeAt(index+2) == 'I' { + result.add("J", "J") + } else { + result.add("K", "K") + } + index += 2 + } else if (index > 1 && input.Contains(index-2, 1, "B", "H", "D")) || + (index > 2 && input.Contains(index-3, 1, "B", "H", "D")) || + (index > 3 && input.Contains(index-4, 1, "B", "H")) { + index += 2 + } else { + if index > 2 && input.SafeAt(index-1) == 'U' && + input.Contains(index-3, 1, "C", "G", "L", "R", "T") { + result.add("F", "F") + } else if index > 0 && input.SafeAt(index-1) != 'I' { + result.add("K", "K") + } + index += 2 + } + return index +} + +func handleH(input runestring, result *metaphoneresult, index int) int { + if (index == 0 || isVowel(input.SafeAt(index-1))) && + isVowel(input.SafeAt(index+1)) { + result.add("H", "H") + index += 2 + } else { + index++ + } + return index +} + +func handleJ(input runestring, result *metaphoneresult, index int, slavoGermanic bool) int { + if input.Contains(index, 4, "JOSE") || input.Contains(0, 4, "SAN ") { + if (index == 0 && (input.SafeAt(index+4) == ' ') || + len(input) == 4) || input.Contains(0, 4, "SAN ") { + result.add("H", "H") + } else { + result.add("J", "H") + } + index++ + } else { + if index == 0 && !input.Contains(index, 4, "JOSE") { + result.add("J", "A") + } else if isVowel(input.SafeAt(index-1)) && !slavoGermanic && + (input.SafeAt(index+1) == 'A' || input.SafeAt(index+1) == 'O') { + result.add("J", "H") + } else if index == (len(input) - 1) { + result.add("J", " ") + } else if !input.Contains(index+1, 1, + "L", "T", "K", "S", "N", "M", "B", "Z") && + !input.Contains(index-1, 1, "S", "K", "L") { + result.add("J", "J") + } + + if input.SafeAt(index+1) == 'J' { + index += 2 + } else { + index++ + } + } + return index +} + +func handleL(input runestring, result *metaphoneresult, index int) int { + if input.SafeAt(index+1) == 'L' { + if conditionL0(input, index) { + result.add("L", "") + } else { + result.add("L", "L") + } + index += 2 + } else { + result.add("L", "L") + index++ + } + return index +} + +func handleP(input runestring, result *metaphoneresult, index int) int { + if input.SafeAt(index+1) == 'H' { + result.add("F", "F") + index += 2 + } else { + result.add("P", "P") + if input.Contains(index+1, 1, "P", "B") { + index += 2 + } else { + index++ + } + } + return index +} + +func handleR(input runestring, result *metaphoneresult, index int, slavoGermanic bool) int { + if index == (len(input)-1) && !slavoGermanic && + input.Contains(index-2, 2, "IE") && + !input.Contains(index-4, 2, "ME", "MA") { + result.add("", "R") + } else { + result.add("R", "R") + } + + if input.SafeAt(index+1) == 'R' { + index += 2 + } else { + index++ + } + return index +} + +func handleS(input runestring, result *metaphoneresult, index int, slavoGermanic bool) int { + if input.Contains(index-1, 3, "ISL", "YSL") { + index++ + } else if index == 0 && input.Contains(index, 5, "SUGAR") { + result.add("X", "S") + index++ + } else if input.Contains(index, 2, "SH") { + if input.Contains(index+1, 4, "HEIM", "HOEK", "HOLM", "HOLZ") { + result.add("S", "S") + } else { + result.add("X", "X") + } + index += 2 + } else if input.Contains(index, 3, "SIO", "SIA") || + input.Contains(index, 4, "SIAN") { + if slavoGermanic { + result.add("S", "S") + } else { + result.add("S", "X") + } + index += 3 + } else if (index == 0 && input.Contains(index+1, 1, "M", "N", "L", "W")) || + input.Contains(index+1, 1, "Z") { + result.add("S", "X") + if input.Contains(index+1, 1, "Z") { + index += 2 + } else { + index++ + } + } else if input.Contains(index, 2, "SC") { + index = handleSC(input, result, index) + } else { + if index == len(input)-1 && + input.Contains(index-2, 2, "AI", "OI") { + result.add("", "S") + } else { + result.add("S", "S") + } + + if input.Contains(index+1, 1, "S", "Z") { + index += 2 + } else { + index++ + } + } + return index +} + +func handleSC(input runestring, result *metaphoneresult, index int) int { + if input.SafeAt(index+2) == 'H' { + if input.Contains(index+3, 2, "OO", "ER", "EN", "UY", "ED", "EM") { + if input.Contains(index+3, 2, "ER", "EN") { + result.add("X", "SK") + } else { + result.add("SK", "SK") + } + } else { + if index == 0 && !isVowel(input.SafeAt(3)) && input.SafeAt(3) != 'W' { + result.add("X", "S") + } else { + result.add("X", "X") + } + } + } else if input.Contains(index+2, 1, "I", "E", "Y") { + result.add("S", "S") + } else { + result.add("SK", "SK") + } + index += 3 + + return index +} + +func handleT(input runestring, result *metaphoneresult, index int) int { + if input.Contains(index, 4, "TION") { + result.add("X", "X") + index += 3 + } else if input.Contains(index, 3, "TIA", "TCH") { + result.add("X", "X") + index += 3 + } else if input.Contains(index, 2, "TH") || input.Contains(index, 3, "TTH") { + if input.Contains(index+2, 2, "OM", "AM") || + input.Contains(0, 4, "VAN ", "VON ") || + input.Contains(0, 3, "SCH") { + result.add("T", "T") + } else { + result.add("0", "T") + } + index += 2 + } else { + result.add("T", "T") + if input.Contains(index+1, 1, "T", "D") { + index += 2 + } else { + index++ + } + } + return index +} + +func handleW(input runestring, result *metaphoneresult, index int) int { + if input.Contains(index, 2, "WR") { + result.add("R", "R") + index += 2 + } else { + if index == 0 && (isVowel(input.SafeAt(index+1)) || + input.Contains(index, 2, "WH")) { + if isVowel(input.SafeAt(index + 1)) { + result.add("A", "F") + } else { + result.add("A", "A") + } + index++ + } else if (index == len(input)-1 && isVowel(input.SafeAt(index-1))) || + input.Contains(index-1, 5, "EWSKI", "EWSKY", "OWSKI", "OWSKY") || + input.Contains(0, 3, "SCH") { + result.add("", "F") + index++ + } else if input.Contains(index, 4, "WICZ", "WITZ") { + result.add("TS", "FX") + index += 4 + } else { + index++ + } + } + return index +} + +func handleX(input runestring, result *metaphoneresult, index int) int { + if index == 0 { + result.add("S", "S") + index++ + } else { + if !((index == len(input)-1) && + (input.Contains(index-3, 3, "IAU", "EAU") || + input.Contains(index-2, 2, "AU", "OU"))) { + result.add("KS", "KS") + } + + if input.Contains(index+1, 1, "C", "X") { + index += 2 + } else { + index++ + } + } + return index +} + +func handleZ(input runestring, result *metaphoneresult, index int, slavoGermanic bool) int { + if input.SafeAt(index+1) == 'H' { + result.add("J", "J") + } else { + if input.Contains(index+1, 2, "ZO", "ZI", "ZA") || + (slavoGermanic && (index > 0 && input.SafeAt(index-1) != 'T')) { + result.add("S", "TS") + } else { + result.add("S", "S") + } + } + + if input.SafeAt(index+1) == 'Z' { + index += 2 + } else { + index++ + } + return index +} + +/****************************************************************************** + * Complex conditional handlers for letters + *****************************************************************************/ +func conditionC0(input runestring, index int) bool { + if input.Contains(index, 4, "CHIA") { + return true + } else if index <= 1 { + return false + } else if isVowel(input.SafeAt(index - 2)) { + return false + } else if !input.Contains(index-1, 3, "ACH") { + return false + } else { + c := input.SafeAt(index + 2) + return (c != 'I' && c != 'E') || + (input.Contains(index-2, 6, "BACHER") || + input.Contains(index-2, 6, "MACHER")) + } +} + +func conditionCH0(input runestring, index int) bool { + if index != 0 { + return false + } else if !input.Contains(index+1, 5, "HARAC", "HARIS") && + !input.Contains(index+1, 3, "HOR", "HYM", "HIA", "HEM") { + return false + } else if input.Contains(0, 5, "CHORE") { + return false + } else { + return true + } +} + +func conditionCH1(input runestring, index int) bool { + // good god this is ugly + return (input.Contains(0, 4, "VAN ", "VON ") || input.Contains(0, 3, "SCH")) || + input.Contains(index-2, 6, "ORCHES", "ARCHIT", "ORCHID") || + input.Contains(index+2, 1, "T", "S") || + ((input.Contains(index-1, 1, "A", "O", "U", "E") || index == 0) && + (input.Contains(index+2, 1, "L", "R", "N", "M", "B", "H", "F", "V", "W", " ") || + index+1 == len(input)-1)) +} + +func conditionL0(input runestring, index int) bool { + if index == (len(input)-3) && + input.Contains(index-1, 4, "ILLO", "ILLA", "ALLE") { + return true + } else if (input.Contains(len(input)-2, 2, "AS", "OS") || + input.Contains(len(input)-1, 1, "A", "O")) && + (input.Contains(index-1, 4, "ALLE")) { + return true + } else { + return false + } +} + +func conditionM0(input runestring, index int) bool { + if input.SafeAt(index+1) == 'M' { + return true + } + + return input.Contains(index-1, 3, "UMB") && + ((index+1) == (len(input)-1) || + input.Contains(index+2, 2, "ER")) +} + +// DoubleMetaphone computes the Double-Metaphone value of the input string. +// This value is a phonetic representation of how the string sounds, with +// affordances for many different language dialects. It was originally +// developed by Lawrence Phillips in the 1990s. +// +// More information about this algorithm can be found on Wikipedia at +// http://en.wikipedia.org/wiki/Metaphone. +func DoubleMetaphone(s1 string) (string, string) { + // trim, upper space + s1 = cleanInput(s1) + + // structure to traverse the string by code point, not byte + input := runestring(s1) + + slavoGermanic := isSlavoGermanic(s1) + + // where we are in the string + index := 0 + + if isSilentStart(input) { + index += 1 + } + + result := newMetaphoneresult(4, true) + + for !result.isComplete() && index <= len(input)-1 { + c := rune(input.SafeAt(index)) + switch c { + case 'A', 'E', 'I', 'O', 'U', 'Y': + index = handleVowel(result, index) + case 'B': + result.add("P", "P") + if input.SafeAt(index+1) == 'B' { + index += 2 + } else { + index++ + } + case 'Ç': + result.add("S", "S") + index++ + case 'C': + index = handleC(input, result, index) + case 'D': + index = handleD(input, result, index) + case 'F': + result.add("F", "F") + if input.SafeAt(index+1) == 'F' { + index += 2 + } else { + index++ + } + case 'G': + index = handleG(input, result, index, slavoGermanic) + case 'H': + index = handleH(input, result, index) + case 'J': + index = handleJ(input, result, index, slavoGermanic) + case 'K': + result.add("K", "K") + if input.SafeAt(index+1) == 'K' { + index += 2 + } else { + index++ + } + case 'L': + index = handleL(input, result, index) + case 'M': + result.add("M", "M") + if conditionM0(input, index) { + index += 2 + } else { + index++ + } + case 'N': + result.add("N", "N") + if input.SafeAt(index+1) == 'N' { + index += 2 + } else { + index++ + } + case 'Ñ': + result.add("N", "N") + index++ + case 'P': + index = handleP(input, result, index) + case 'Q': + result.add("K", "K") + if input.SafeAt(index+1) == 'Q' { + index += 2 + } else { + index++ + } + case 'R': + index = handleR(input, result, index, slavoGermanic) + case 'S': + index = handleS(input, result, index, slavoGermanic) + case 'T': + index = handleT(input, result, index) + case 'V': + result.add("F", "F") + if input.SafeAt(index+1) == 'V' { + index += 2 + } else { + index++ + } + case 'W': + index = handleW(input, result, index) + case 'X': + index = handleX(input, result, index) + case 'Z': + index = handleZ(input, result, index, slavoGermanic) + default: + index++ + } + + } + + return result.result() +} diff --git a/vendor/github.com/antzucaro/matchr/nysiis.go b/vendor/github.com/antzucaro/matchr/nysiis.go new file mode 100644 index 000000000..bbf699d57 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/nysiis.go @@ -0,0 +1,156 @@ +package matchr + +// NYSIIS computes the NYSIIS phonetic encoding of the input string. It is a +// modification of the traditional Soundex algorithm. +func NYSIIS(s1 string) string { + cleans1 := runestring(cleanInput(s1)) + input := runestring(make([]rune, 0, len(s1))) + + // The output can't be larger than the string itself + output := runestring(make([]rune, 0, len(s1))) + + // 0. Remove all non-ASCII characters + for _, v := range cleans1 { + if v >= 65 && v <= 90 { + input = append(input, v) + } + } + + if len(input) == 0 { + return "" + } + + // 1. Transcoding first characters + switch input[0] { + case 'M': + if input.SafeSubstr(0, 3) == "MAC" { + // MAC -> MCC + input[1] = 'C' + } + case 'K': + if input.SafeSubstr(0, 2) == "KN" { + // KN -> NN + input[0] = 'N' + } else { + // K -> C + input[0] = 'C' + } + case 'P': + next := input.SafeAt(1) + if next == 'H' { + // PH -> FF + input[0] = 'F' + input[1] = 'F' + } else if next == 'F' { + // PF -> FF + input[0] = 'F' + } + case 'S': + if input.SafeSubstr(0, 3) == "SCH" { + input[1] = 'S' + input[2] = 'S' + } + } + + // 2. Transcoding last characters + switch input.SafeSubstr(len(input)-2, 2) { + case "EE", "IE": + // EE, IE -> Y + input.Del(len(input) - 2) + input[len(input)-1] = 'Y' + case "DT", "RT", "RD", "NT", "ND": + // DT, RT, RD, NT, ND -> D + input.Del(len(input) - 2) + input[len(input)-1] = 'D' + } + + // 3. First character of key = first character of name + output = append(output, input[0]) + last := input[0] + + for i := 1; i < len(input); i++ { + c := input[i] + switch c { + case 'A', 'I', 'O', 'U': + // A, E, I, O, U -> A (E is separate) + input[i] = 'A' + case 'E': + // EV -> AF, else A + if input.SafeAt(i+1) == 'V' { + input[i+1] = 'F' + } + input[i] = 'A' + case 'Q': + // Q -> G + input[i] = 'G' + case 'Z': + // Z -> S + input[i] = 'S' + case 'M': + // M -> N + input[i] = 'N' + case 'K': + // KN -> N, else K -> C + if input.SafeAt(i+1) == 'N' { + input.Del(i) + } else { + input[i] = 'C' + } + case 'S': + // SCH -> SSS + if input.SafeSubstr(i, 3) == "SCH" { + input[i+1] = 'S' + input[i+2] = 'S' + } + case 'P': + // PH -> FF + if input.SafeAt(i+1) == 'H' { + input[i] = 'F' + input[i+1] = 'F' + } + case 'H': + // H -> $(previous character) if previous character or + // next character is a non-vowel + prev := input.SafeAt(i - 1) + next := input.SafeAt(i + 1) + if !isVowelNoY(prev) || !isVowelNoY(next) { + input[i] = prev + } + case 'W': + prev := input.SafeAt(i - 1) + if isVowelNoY(prev) { + input[i] = prev + } + } + + if input[i] != last && input[i] != 0 { + output = append(output, input[i]) + } + last = input[i] + } + + // have to be careful here because we've already added the first + // key value + if len(output) > 1 { + // remove trailing s + if output.SafeAt(len(output)-1) == 'S' { + output.Del(len(output) - 1) + } + + // trailing AY -> Y + if len(output) > 2 && output.SafeSubstr(len(output)-2, 2) == "AY" { + output.Del(len(output) - 2) + } + + // trailing A -> remove it + if output.SafeAt(len(output)-1) == 'A' { + output.Del(len(output) - 1) + } + } + + if len(output) > 6 { + return string(output[0:6]) + } else { + return string(output) + } +} diff --git a/vendor/github.com/antzucaro/matchr/osa.go b/vendor/github.com/antzucaro/matchr/osa.go new file mode 100644 index 000000000..8e5de2ee7 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/osa.go @@ -0,0 +1,56 @@ +package matchr + +// OSA computes the Optimal String Alignment distance between two +// strings. The returned value - distance - is the number of insertions, +// deletions, substitutions, and transpositions it takes to transform one +// string (s1) into another (s2). Each step in the transformation "costs" +// one distance point. It is similar to Damerau-Levenshtein, but is simpler +// because it does not allow multiple edits on any substring. +func OSA(s1 string, s2 string) (distance int) { + // index by code point, not byte + r1 := []rune(s1) + r2 := []rune(s2) + + rows := len(r1) + 1 + cols := len(r2) + 1 + + var i, j, d1, d2, d3, d_now, cost int + + dist := make([]int, rows*cols) + + for i = 0; i < rows; i++ { + dist[i*cols] = i + } + + for j = 0; j < cols; j++ { + dist[j] = j + } + + for i = 1; i < rows; i++ { + for j = 1; j < cols; j++ { + if r1[i-1] == r2[j-1] { + cost = 0 + } else { + cost = 1 + } + + d1 = dist[((i-1)*cols)+j] + 1 + d2 = dist[(i*cols)+(j-1)] + 1 + d3 = dist[((i-1)*cols)+(j-1)] + cost + + d_now = min(d1, min(d2, d3)) + + if i > 2 && j > 2 && r1[i-1] == r2[j-2] && + r1[i-2] == r2[j-1] { + d1 = dist[((i-2)*cols)+(j-2)] + cost + d_now = min(d_now, d1) + } + + dist[(i*cols)+j] = d_now + } + } + + distance = dist[(cols*rows)-1] + + return +} diff --git a/vendor/github.com/antzucaro/matchr/phonex.go b/vendor/github.com/antzucaro/matchr/phonex.go new file mode 100644 index 000000000..78f4982a4 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/phonex.go @@ -0,0 +1,128 @@ +package matchr + +func preProcess(input []rune) []rune { + output := runestring(make([]rune, 0, len(input))) + + // 0. Remove all non-ASCII characters + for _, v := range input { + if v >= 65 && v <= 90 { + output = append(output, v) + } + } + + // 1. Remove all trailing 'S' characters at the end of the name + for i := len(output) - 1; i >= 0 && output[i] == 'S'; i-- { + output.Del(i) + } + + // 2. Convert leading letter pairs as follows + // KN -> N, PH -> F, WR -> R + switch output.SafeSubstr(0, 2) { + case "KN": + output = output[1:] + case "PH": + output[0] = 'F' // H will be ignored anyway + case "WR": + output = output[1:] + } + + // 3a. Convert leading single letters as follows: + // H -> Remove + if output.SafeAt(0) == 'H' { + output = output[1:] + } + + // 3a. Convert leading single letters as follows: + // E,I,O,U,Y -> A + // P -> B + // V -> F + // K,Q -> C + // J -> G + // Z -> S + switch output.SafeAt(0) { + case 'E', 'I', 'O', 'U', 'Y': + output[0] = 'A' + case 'P': + output[0] = 'B' + case 'V': + output[0] = 'F' + case 'K', 'Q': + output[0] = 'C' + case 'J': + output[0] = 'G' + case 'Z': + output[0] = 'S' + } + + return output +} + +// Phonex computes the Phonex phonetic encoding of the input string. Phonex is +// a modification of the venerable Soundex algorithm. It accounts for a few +// more letter combinations to improve accuracy on some data sets. +// +// This implementation is based off of the original C implementation by the +// creator - A. J. Lait - as found in his research paper entitled "An +// Assessment of Name Matching Algorithms." +func Phonex(s1 string) string { + + // preprocess + s1 = cleanInput(s1) + + input := runestring(preProcess([]rune(s1))) + + result := make([]rune, 0, len(input)) + + last := rune(0) + code := rune(0) + for i := 0; i < len(input) && + input[i] != ' ' && + input[i] != ',' && + len(result) < 4; i++ { + switch input[i] { + case 'B', 'P', 'F', 'V': + code = '1' + case 'C', 'S', 'K', 'G', 'J', 'Q', 'X', 'Z': + code = '2' + case 'D', 'T': + if input.SafeAt(i+1) != 'C' { + code = '3' + } + case 'L': + if isVowel(input.SafeAt(i+1)) || i == len(input)-1 { + code = '4' + } + case 'M', 'N': + nextChar := input.SafeAt(i + 1) + if nextChar == 'D' || nextChar == 'G' { + // ignore next character + i++ + } + code = '5' + case 'R': + if isVowel(input.SafeAt(i+1)) || i == len(input)-1 { + code = '6' + } + default: + code = 0 + } + + if last != code && code != 0 && i != 0 { + result = append(result, code) + } + + // special case for 1st character: we use the actual character + if i == 0 { + result = append(result, input[i]) + last = code + } else { + last = result[len(result)-1] + } + } + + for len(result) < 4 { + result = append(result, '0') + } + + return string(result) +} diff --git a/vendor/github.com/antzucaro/matchr/runestring.go b/vendor/github.com/antzucaro/matchr/runestring.go new file mode 100644 index 000000000..41af3da32 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/runestring.go @@ -0,0 +1,44 @@ +package matchr + +type runestring []rune + +// A safe way to index a runestring. It will return a null rune if you try +// to index outside of the bounds of the runestring. +func (r *runestring) SafeAt(pos int) rune { + if pos < 0 || pos >= len(*r) { + return 0 + } else { + return (*r)[pos] + } +} + +// A safe way to obtain a substring of a runestring. It will return a null +// string ("") if you index somewhere outside its bounds. +func (r *runestring) SafeSubstr(pos int, length int) string { + if pos < 0 || pos > len(*r) || (pos+length) > len(*r) { + return "" + } else { + return string((*r)[pos : pos+length]) + } +} + +// Delete characters at positions pos. It will do nothing if you provide +// an index outside the bounds of the runestring. +func (r *runestring) Del(pos ...int) { + for _, i := range pos { + if i >= 0 && i <= len(*r) { + *r = append((*r)[:i], (*r)[i+1:]...) + } + } +} + +// A helper to determine if any substrings exist within the given runestring. +func (r *runestring) Contains(start int, length int, criteria ...string) bool { + substring := r.SafeSubstr(start, length) + for _, c := range criteria { + if substring == c { + return true + } + } + return false +} diff --git a/vendor/github.com/antzucaro/matchr/smithwaterman.go b/vendor/github.com/antzucaro/matchr/smithwaterman.go new file mode 100644 index 000000000..161d86b59 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/smithwaterman.go @@ -0,0 +1,87 @@ +package matchr + +const GAP_COST = float64(0.5) + +func getCost(r1 []rune, r1Index int, r2 []rune, r2Index int) float64 { + if r1[r1Index] == r2[r2Index] { + return 1.0 + } else { + return -2.0 + } +} + +// SmithWaterman computes the Smith-Waterman local sequence alignment for the +// two input strings. This was originally designed to find similar regions in +// strings representing DNA or protein sequences. +func SmithWaterman(s1 string, s2 string) float64 { + var cost float64 + + // index by code point, not byte + r1 := []rune(s1) + r2 := []rune(s2) + + r1Len := len(r1) + r2Len := len(r2) + + if r1Len == 0 { + return float64(r2Len) + } + + if r2Len == 0 { + return float64(r1Len) + } + + d := make([][]float64, r1Len) + for i := range d { + d[i] = make([]float64, r2Len) + } + + var maxSoFar float64 + for i := 0; i < r1Len; i++ { + // substitution cost + cost = getCost(r1, i, r2, 0) + if i == 0 { + d[0][0] = max(0.0, max(-GAP_COST, cost)) + } else { + d[i][0] = max(0.0, max(d[i-1][0]-GAP_COST, cost)) + } + + // save if it is the biggest thus far + if d[i][0] > maxSoFar { + maxSoFar = d[i][0] + } + } + + for j := 0; j < r2Len; j++ { + // substitution cost + cost = getCost(r1, 0, r2, j) + if j == 0 { + d[0][0] = max(0, max(-GAP_COST, cost)) + } else { + d[0][j] = max(0, max(d[0][j-1]-GAP_COST, cost)) + } + + // save if it is the biggest thus far + if d[0][j] > maxSoFar { + maxSoFar = d[0][j] + } + } + + for i := 1; i < r1Len; i++ { + for j := 1; j < r2Len; j++ { + cost = getCost(r1, i, r2, j) + + // find the lowest cost + d[i][j] = max( + max(0, d[i-1][j]-GAP_COST), + max(d[i][j-1]-GAP_COST, d[i-1][j-1]+cost)) + + // save if it is the biggest thus far + if d[i][j] > maxSoFar { + maxSoFar = d[i][j] + } + } + } + + return maxSoFar +} diff --git a/vendor/github.com/antzucaro/matchr/soundex.go b/vendor/github.com/antzucaro/matchr/soundex.go new file mode 100644 index 000000000..919eda8ae --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/soundex.go @@ -0,0 +1,72 @@ +package matchr + +import "strings" + +// Soundex computes the Soundex phonetic representation of the input string. It +// attempts to encode homophones with the same characters. More information can +// be found at http://en.wikipedia.org/wiki/Soundex. +func Soundex(s1 string) string { + if len(s1) == 0 { + return "" + } + + // we should work with all uppercase + s1 = strings.ToUpper(s1) + + input := NewString(s1) + + // the encoded value + enc := input.Slice(0, 1) + + c := "" + prev := "" + hw := false + + for i := 0; i < input.RuneCount(); i++ { + switch rune(input.At(i)) { + case 'B', 'F', 'P', 'V': + c = "1" + case 'C', 'G', 'J', 'K', 'Q', 'S', 'X', 'Z': + c = "2" + case 'D', 'T': + c = "3" + case 'L': + c = "4" + case 'M', 'N': + c = "5" + case 'R': + c = "6" + case 'H', 'W': + hw = true + default: + c = "" + } + + // don't encode the first position, but we need its code value + // to prevent repeats + if c != "" && c != prev && i > 0 { + // if the next encoded digit is different, we can add it right away + // if it is the same, though, it must not have been preceded + // by an 'H' or a 'W' + if enc[len(enc)-1:len(enc)] != c || !hw { + enc = enc + c + } + + // we're done when we reach four encoded characters + if len(enc) == 4 { + break + } + } + + prev = c + hw = false + } + + // if we've fallen short of 4 "real" encoded characters, + // it gets padded with zeros + for len(enc) < 4 { + enc = enc + "0" + } + + return enc +} diff --git a/vendor/github.com/antzucaro/matchr/utf8.go b/vendor/github.com/antzucaro/matchr/utf8.go new file mode 100644 index 000000000..d8c409502 --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/utf8.go @@ -0,0 +1,215 @@ +// Copyright 2009 The Go Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package matchr + +import ( + "errors" + "unicode/utf8" +) + +// String wraps a regular string with a small structure that provides more +// efficient indexing by code point index, as opposed to byte index. +// Scanning incrementally forwards or backwards is O(1) per index operation +// (although not as fast a range clause going forwards). Random access is +// O(N) in the length of the string, but the overhead is less than always +// scanning from the beginning. +// If the string is ASCII, random access is O(1). +// Unlike the built-in string type, String has internal mutable state and +// is not thread-safe. +type String struct { + str string + numRunes int + // If width > 0, the rune at runePos starts at bytePos and has the specified width. + width int + bytePos int + runePos int + nonASCII int // byte index of the first non-ASCII rune. +} + +// NewString returns a new UTF-8 string with the provided contents. +func NewString(contents string) *String { + return new(String).Init(contents) +} + +// Init initializes an existing String to hold the provided contents. +// It returns a pointer to the initialized String. +func (s *String) Init(contents string) *String { + s.str = contents + s.bytePos = 0 + s.runePos = 0 + for i := 0; i < len(contents); i++ { + if contents[i] >= utf8.RuneSelf { + // Not ASCII. + s.numRunes = utf8.RuneCountInString(contents) + _, s.width = utf8.DecodeRuneInString(contents) + s.nonASCII = i + return s + } + } + // ASCII is simple. Also, the empty string is ASCII. + s.numRunes = len(contents) + s.width = 0 + s.nonASCII = len(contents) + return s +} + +// String returns the contents of the String. This method also means the +// String is directly printable by fmt.Print. +func (s *String) String() string { + return s.str +} + +// RuneCount returns the number of runes (Unicode code points) in the String. +func (s *String) RuneCount() int { + return s.numRunes +} + +// IsASCII returns a boolean indicating whether the String contains only ASCII bytes. +func (s *String) IsASCII() bool { + return s.width == 0 +} + +// Slice returns the string sliced at rune positions [i:j]. +func (s *String) Slice(i, j int) string { + // ASCII is easy. Let the compiler catch the indexing error if there is one. + if j < s.nonASCII { + return s.str[i:j] + } + if i < 0 || j > s.numRunes || i > j { + panic(errors.New("utf8.String: slice index out of range")) + } + if i == j { + return "" + } + // For non-ASCII, after At(i), bytePos is always the position of the indexed character. + var low, high int + switch { + case i < s.nonASCII: + low = i + case i == s.numRunes: + low = len(s.str) + default: + s.At(i) + low = s.bytePos + } + switch { + case j == s.numRunes: + high = len(s.str) + default: + s.At(j) + high = s.bytePos + } + return s.str[low:high] +} + +// At returns the rune with index i in the String. The sequence of runes is the same +// as iterating over the contents with a "for range" clause. +func (s *String) At(i int) int { + // ASCII is easy. Let the compiler catch the indexing error if there is one. + if i < s.nonASCII { + return int(s.str[i]) + } + + // Now we do need to know the index is valid. + if i < 0 || i >= s.numRunes { + panic(errors.New("utf8.String: index out of range")) + } + + var r rune + + // Five easy common cases: within 1 spot of bytePos/runePos, or the beginning, or the end. + // With these cases, all scans from beginning or end work in O(1) time per rune. + switch { + + case i == s.runePos-1: // backing up one rune + r, s.width = utf8.DecodeLastRuneInString(s.str[0:s.bytePos]) + s.runePos = i + s.bytePos -= s.width + return int(r) + case i == s.runePos+1: // moving ahead one rune + s.runePos = i + s.bytePos += s.width + fallthrough + case i == s.runePos: + r, s.width = utf8.DecodeRuneInString(s.str[s.bytePos:]) + return int(r) + case i == 0: // start of string + r, s.width = utf8.DecodeRuneInString(s.str) + s.runePos = 0 + s.bytePos = 0 + return int(r) + + case i == s.numRunes-1: // last rune in string + r, s.width = utf8.DecodeLastRuneInString(s.str) + s.runePos = i + s.bytePos = len(s.str) - s.width + return int(r) + } + + // We need to do a linear scan. There are three places to start from: + // 1) The beginning + // 2) bytePos/runePos. + // 3) The end + // Choose the closest in rune count, scanning backwards if necessary. + forward := true + if i < s.runePos { + // Between beginning and pos. Which is closer? + // Since both i and runePos are guaranteed >= nonASCII, that's the + // lowest location we need to start from. + if i < (s.runePos-s.nonASCII)/2 { + // Scan forward from beginning + s.bytePos, s.runePos = s.nonASCII, s.nonASCII + } else { + // Scan backwards from where we are + forward = false + } + } else { + // Between pos and end. Which is closer? + if i-s.runePos < (s.numRunes-s.runePos)/2 { + // Scan forward from pos + } else { + // Scan backwards from end + s.bytePos, s.runePos = len(s.str), s.numRunes + forward = false + } + } + if forward { + // TODO: Is it much faster to use a range loop for this scan? + for { + r, s.width = utf8.DecodeRuneInString(s.str[s.bytePos:]) + if s.runePos == i { + break + } + s.runePos++ + s.bytePos += s.width + } + } else { + for { + r, s.width = utf8.DecodeLastRuneInString(s.str[0:s.bytePos]) + s.runePos-- + s.bytePos -= s.width + if s.runePos == i { + break + } + } + } + return int(r) +} + +// We want the panic in At(i) to satisfy os.Error, because that's what +// runtime panics satisfy, but we can't import os. This is our solution. + +// error is the type of the error returned if a user calls String.At(i) with i out of range. +// It satisfies os.Error and runtime.Error. +// type error string + +/* +func (err error) String() string { + return string(err) +} + +func (err error) RunTimeError() { +} +*/ diff --git a/vendor/github.com/antzucaro/matchr/util.go b/vendor/github.com/antzucaro/matchr/util.go new file mode 100644 index 000000000..520e587bd --- /dev/null +++ b/vendor/github.com/antzucaro/matchr/util.go @@ -0,0 +1,119 @@ +package matchr + +import ( + "math" + "strings" +) + +// min of two integers +func min(a int, b int) (res int) { + if a < b { + res = a + } else { + res = b + } + + return +} + +// max of two integers +func maxI(a int, b int) (res int) { + if a < b { + res = b + } else { + res = a + } + + return +} + +// max of two float64s +func max(a float64, b float64) (res float64) { + if a < b { + res = b + } else { + res = a + } + + return +} + +// is this string index outside of the ASCII numeric code points? +func nan(c rune) bool { + return ((c > 57) || (c < 48)) +} + +// Round a float64 to the given precision +// +// http://play.golang.org/p/S654PxAe_N +// +// (via Rory McGuire at +// https://groups.google.com/forum/#!topic/golang-nuts/ITZV08gAugI) +func round(x float64, prec int) float64 { + if math.IsNaN(x) || math.IsInf(x, 0) { + return x + } + + sign := 1.0 + if x < 0 { + sign = -1 + x *= -1 + } + + var rounder float64 + pow := math.Pow(10, float64(prec)) + intermed := x * pow + _, frac := math.Modf(intermed) + + if frac >= 0.5 { + rounder = math.Ceil(intermed) + } else { + rounder = math.Floor(intermed) + } + + return rounder / pow * sign +} + +// A helper to determine if any substrings exist within the given string +func contains(value *String, start int, length int, criteria ...string) bool { + substring := substring(value, start, length) + for _, c := range criteria { + if substring == c { + return true + } + } + return false +} + +// A fault-tolerant version of Slice. It will return nothing ("") if the index +// is out of bounds. This allows substring-ing without having to bound check +// every time. +func substring(value *String, start int, length int) string { + if start >= 0 && start+length <= value.RuneCount() { + return value.Slice(start, start+length) + } else { + return "" + } +} + +func isVowel(c rune) bool { + switch c { + case 'A', 'E', 'I', 'O', 'U', 'Y': + return true + default: + return false + } +} + +func isVowelNoY(c rune) bool { + switch c { + case 'A', 'E', 'I', 'O', 'U': + return true + default: + return false + } +} + +func cleanInput(input string) string { + return strings.ToUpper(strings.TrimSpace(input)) +} diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go index 3acb1ffa9..0609da3ee 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go @@ -8857,6 +8857,9 @@ var awsPartition = partition{ endpointKey{ Region: "ap-southeast-2", }: endpoint{}, + endpointKey{ + Region: "ap-southeast-3", + }: endpoint{}, endpointKey{ Region: "ca-central-1", }: endpoint{}, @@ -10472,6 +10475,14 @@ var awsPartition = partition{ }, }, "health": service{ + PartitionEndpoint: "aws-global", + IsRegionalized: boxedFalse, + Defaults: endpointDefaults{ + defaultKey{}: endpoint{ + SSLCommonName: "health.us-east-1.amazonaws.com", + Protocols: []string{"https"}, + }, + }, Endpoints: serviceEndpoints{ endpointKey{ Region: "fips-us-east-2", @@ -16611,6 +16622,70 @@ var awsPartition = partition{ }, }, }, + "resiliencehub": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "af-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-east-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-northeast-2", + }: endpoint{}, + endpointKey{ + Region: "ap-south-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-1", + }: endpoint{}, + endpointKey{ + Region: "ap-southeast-2", + }: endpoint{}, + endpointKey{ + Region: "ca-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-central-1", + }: endpoint{}, + endpointKey{ + Region: "eu-north-1", + }: endpoint{}, + endpointKey{ + Region: "eu-south-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-1", + }: endpoint{}, + endpointKey{ + Region: "eu-west-2", + }: endpoint{}, + endpointKey{ + Region: "eu-west-3", + }: endpoint{}, + endpointKey{ + Region: "me-south-1", + }: endpoint{}, + endpointKey{ + Region: "sa-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-1", + }: endpoint{}, + endpointKey{ + Region: "us-east-2", + }: endpoint{}, + endpointKey{ + Region: "us-west-1", + }: endpoint{}, + endpointKey{ + Region: "us-west-2", + }: endpoint{}, + }, + }, "resource-groups": service{ Endpoints: serviceEndpoints{ endpointKey{ @@ -29236,6 +29311,13 @@ var awsisoPartition = partition{ }: endpoint{}, }, }, + "appconfigdata": service{ + Endpoints: serviceEndpoints{ + endpointKey{ + Region: "us-iso-west-1", + }: endpoint{}, + }, + }, "application-autoscaling": service{ Defaults: endpointDefaults{ defaultKey{}: endpoint{ diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index 0f5a41d58..d7f4047bb 100644 --- a/vendor/github.com/aws/aws-sdk-go/aws/version.go +++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go @@ -5,4 +5,4 @@ package aws const SDKName = "aws-sdk-go" // SDKVersion is the version of this SDK -const SDKVersion = "1.44.9" +const SDKVersion = "1.44.18" diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go index 718409b54..f1a7bfdd4 100644 --- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go +++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go @@ -1279,6 +1279,12 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request. // and Comparing the Amazon Web Services STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison) // in the IAM User Guide. // +// No permissions are required for users to perform this operation. The purpose +// of the sts:GetSessionToken operation is to authenticate the user using MFA. +// You cannot use policies to control authentication operations. For more information, +// see Permissions for GetSessionToken (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_control-access_getsessiontoken.html) +// in the IAM User Guide. +// // Session Duration // // The GetSessionToken operation must be called by using the long-term Amazon diff --git a/vendor/github.com/go-kit/log/README.md b/vendor/github.com/go-kit/log/README.md index a0931951d..806779465 100644 --- a/vendor/github.com/go-kit/log/README.md +++ b/vendor/github.com/go-kit/log/README.md @@ -1,5 +1,10 @@ # package log +[![Go Reference](https://pkg.go.dev/badge/github.com/go-kit/log.svg)](https://pkg.go.dev/github.com/go-kit/log) +[![Go Report Card](https://goreportcard.com/badge/go-kit/log)](https://goreportcard.com/report/go-kit/log) +[![GitHub Actions](https://github.com/go-kit/log/actions/workflows/test.yml/badge.svg)](https://github.com/go-kit/log/actions/workflows/test.yml) +[![Coverage Status](https://coveralls.io/repos/github/go-kit/log/badge.svg?branch=main)](https://coveralls.io/github/go-kit/log?branch=main) + `package log` provides a minimal interface for structured logging in services. It may be wrapped to encode conventions, enforce type-safety, provide leveled logging, and so on. It can be used for both typical application log events, diff --git a/vendor/github.com/go-kit/log/json_logger.go b/vendor/github.com/go-kit/log/json_logger.go index 0cedbf824..d0faed4f0 100644 --- a/vendor/github.com/go-kit/log/json_logger.go +++ b/vendor/github.com/go-kit/log/json_logger.go @@ -68,7 +68,7 @@ func safeString(str fmt.Stringer) (s string) { if v := reflect.ValueOf(str); v.Kind() == reflect.Ptr && v.IsNil() { s = "NULL" } else { - panic(panicVal) + s = fmt.Sprintf("PANIC in String method: %v", panicVal) } } }() @@ -82,7 +82,7 @@ func safeError(err error) (s interface{}) { if v := reflect.ValueOf(err); v.Kind() == reflect.Ptr && v.IsNil() { s = nil } else { - panic(panicVal) + s = fmt.Sprintf("PANIC in Error method: %v", panicVal) } } }() diff --git a/vendor/github.com/go-kit/log/level/doc.go b/vendor/github.com/go-kit/log/level/doc.go index 505d307b1..fd681dcf9 100644 --- a/vendor/github.com/go-kit/log/level/doc.go +++ b/vendor/github.com/go-kit/log/level/doc.go @@ -7,6 +7,17 @@ // logger = level.NewFilter(logger, level.AllowInfo()) // <-- // logger = log.With(logger, "ts", log.DefaultTimestampUTC) // +// It's also possible to configure log level from a string. For instance from +// a flag, environment variable or configuration file. +// +// fs := flag.NewFlagSet("myprogram") +// lvl := fs.String("log", "info", "debug, info, warn, error") +// +// var logger log.Logger +// logger = log.NewLogfmtLogger(os.Stderr) +// logger = level.NewFilter(logger, level.Allow(level.ParseDefault(*lvl, level.InfoValue()))) // <-- +// logger = log.With(logger, "ts", log.DefaultTimestampUTC) +// // Then, at the callsites, use one of the level.Debug, Info, Warn, or Error // helper methods to emit leveled log events. // diff --git a/vendor/github.com/go-kit/log/level/level.go b/vendor/github.com/go-kit/log/level/level.go index c94756c6b..c641d9855 100644 --- a/vendor/github.com/go-kit/log/level/level.go +++ b/vendor/github.com/go-kit/log/level/level.go @@ -1,6 +1,14 @@ package level -import "github.com/go-kit/log" +import ( + "errors" + "strings" + + "github.com/go-kit/log" +) + +// ErrInvalidLevelString is returned whenever an invalid string is passed to Parse. +var ErrInvalidLevelString = errors.New("invalid level string") // Error returns a logger that includes a Key/ErrorValue pair. func Error(logger log.Logger) log.Logger { @@ -66,6 +74,22 @@ func (l *logger) Log(keyvals ...interface{}) error { // Option sets a parameter for the leveled logger. type Option func(*logger) +// Allow the provided log level to pass. +func Allow(v Value) Option { + switch v { + case debugValue: + return AllowDebug() + case infoValue: + return AllowInfo() + case warnValue: + return AllowWarn() + case errorValue: + return AllowError() + default: + return AllowNone() + } +} + // AllowAll is an alias for AllowDebug. func AllowAll() Option { return AllowDebug() @@ -100,6 +124,33 @@ func allowed(allowed level) Option { return func(l *logger) { l.allowed = allowed } } +// Parse a string to its corresponding level value. Valid strings are "debug", +// "info", "warn", and "error". Strings are normalized via strings.TrimSpace and +// strings.ToLower. +func Parse(level string) (Value, error) { + switch strings.TrimSpace(strings.ToLower(level)) { + case debugValue.name: + return debugValue, nil + case infoValue.name: + return infoValue, nil + case warnValue.name: + return warnValue, nil + case errorValue.name: + return errorValue, nil + default: + return nil, ErrInvalidLevelString + } +} + +// ParseDefault calls Parse and returns the default Value on error. +func ParseDefault(level string, def Value) Value { + v, err := Parse(level) + if err != nil { + return def + } + return v +} + // ErrNotAllowed sets the error to return from Log when it squelches a log // event disallowed by the configured Allow[Level] option. By default, // ErrNotAllowed is nil; in this case the log event is squelched with no diff --git a/vendor/github.com/go-kit/log/staticcheck.conf b/vendor/github.com/go-kit/log/staticcheck.conf new file mode 100644 index 000000000..528438b97 --- /dev/null +++ b/vendor/github.com/go-kit/log/staticcheck.conf @@ -0,0 +1 @@ +checks = ["all"] diff --git a/vendor/github.com/google/uuid/.travis.yml b/vendor/github.com/google/uuid/.travis.yml new file mode 100644 index 000000000..d8156a60b --- /dev/null +++ b/vendor/github.com/google/uuid/.travis.yml @@ -0,0 +1,9 @@ +language: go + +go: + - 1.4.3 + - 1.5.3 + - tip + +script: + - go test -v ./... diff --git a/vendor/github.com/google/uuid/CONTRIBUTING.md b/vendor/github.com/google/uuid/CONTRIBUTING.md new file mode 100644 index 000000000..04fdf09f1 --- /dev/null +++ b/vendor/github.com/google/uuid/CONTRIBUTING.md @@ -0,0 +1,10 @@ +# How to contribute + +We definitely welcome patches and contribution to this project! + +### Legal requirements + +In order to protect both you and ourselves, you will need to sign the +[Contributor License Agreement](https://cla.developers.google.com/clas). + +You may have already signed it for other Google projects. diff --git a/vendor/github.com/google/uuid/CONTRIBUTORS b/vendor/github.com/google/uuid/CONTRIBUTORS new file mode 100644 index 000000000..b4bb97f6b --- /dev/null +++ b/vendor/github.com/google/uuid/CONTRIBUTORS @@ -0,0 +1,9 @@ +Paul Borman +bmatsuo +shawnps +theory +jboverfelt +dsymonds +cd1 +wallclockbuilder +dansouza diff --git a/vendor/github.com/google/uuid/LICENSE b/vendor/github.com/google/uuid/LICENSE new file mode 100644 index 000000000..5dc68268d --- /dev/null +++ b/vendor/github.com/google/uuid/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2009,2014 Google Inc. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/google/uuid/README.md b/vendor/github.com/google/uuid/README.md new file mode 100644 index 000000000..f765a46f9 --- /dev/null +++ b/vendor/github.com/google/uuid/README.md @@ -0,0 +1,19 @@ +# uuid ![build status](https://travis-ci.org/google/uuid.svg?branch=master) +The uuid package generates and inspects UUIDs based on +[RFC 4122](http://tools.ietf.org/html/rfc4122) +and DCE 1.1: Authentication and Security Services. + +This package is based on the github.com/pborman/uuid package (previously named +code.google.com/p/go-uuid). It differs from these earlier packages in that +a UUID is a 16 byte array rather than a byte slice. One loss due to this +change is the ability to represent an invalid UUID (vs a NIL UUID). + +###### Install +`go get github.com/google/uuid` + +###### Documentation +[![GoDoc](https://godoc.org/github.com/google/uuid?status.svg)](http://godoc.org/github.com/google/uuid) + +Full `go doc` style documentation for the package can be viewed online without +installing this package by using the GoDoc site here: +http://pkg.go.dev/github.com/google/uuid diff --git a/vendor/github.com/google/uuid/dce.go b/vendor/github.com/google/uuid/dce.go new file mode 100644 index 000000000..fa820b9d3 --- /dev/null +++ b/vendor/github.com/google/uuid/dce.go @@ -0,0 +1,80 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" + "fmt" + "os" +) + +// A Domain represents a Version 2 domain +type Domain byte + +// Domain constants for DCE Security (Version 2) UUIDs. +const ( + Person = Domain(0) + Group = Domain(1) + Org = Domain(2) +) + +// NewDCESecurity returns a DCE Security (Version 2) UUID. +// +// The domain should be one of Person, Group or Org. +// On a POSIX system the id should be the users UID for the Person +// domain and the users GID for the Group. The meaning of id for +// the domain Org or on non-POSIX systems is site defined. +// +// For a given domain/id pair the same token may be returned for up to +// 7 minutes and 10 seconds. +func NewDCESecurity(domain Domain, id uint32) (UUID, error) { + uuid, err := NewUUID() + if err == nil { + uuid[6] = (uuid[6] & 0x0f) | 0x20 // Version 2 + uuid[9] = byte(domain) + binary.BigEndian.PutUint32(uuid[0:], id) + } + return uuid, err +} + +// NewDCEPerson returns a DCE Security (Version 2) UUID in the person +// domain with the id returned by os.Getuid. +// +// NewDCESecurity(Person, uint32(os.Getuid())) +func NewDCEPerson() (UUID, error) { + return NewDCESecurity(Person, uint32(os.Getuid())) +} + +// NewDCEGroup returns a DCE Security (Version 2) UUID in the group +// domain with the id returned by os.Getgid. +// +// NewDCESecurity(Group, uint32(os.Getgid())) +func NewDCEGroup() (UUID, error) { + return NewDCESecurity(Group, uint32(os.Getgid())) +} + +// Domain returns the domain for a Version 2 UUID. Domains are only defined +// for Version 2 UUIDs. +func (uuid UUID) Domain() Domain { + return Domain(uuid[9]) +} + +// ID returns the id for a Version 2 UUID. IDs are only defined for Version 2 +// UUIDs. +func (uuid UUID) ID() uint32 { + return binary.BigEndian.Uint32(uuid[0:4]) +} + +func (d Domain) String() string { + switch d { + case Person: + return "Person" + case Group: + return "Group" + case Org: + return "Org" + } + return fmt.Sprintf("Domain%d", int(d)) +} diff --git a/vendor/github.com/google/uuid/doc.go b/vendor/github.com/google/uuid/doc.go new file mode 100644 index 000000000..5b8a4b9af --- /dev/null +++ b/vendor/github.com/google/uuid/doc.go @@ -0,0 +1,12 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// Package uuid generates and inspects UUIDs. +// +// UUIDs are based on RFC 4122 and DCE 1.1: Authentication and Security +// Services. +// +// A UUID is a 16 byte (128 bit) array. UUIDs may be used as keys to +// maps or compared directly. +package uuid diff --git a/vendor/github.com/google/uuid/hash.go b/vendor/github.com/google/uuid/hash.go new file mode 100644 index 000000000..b404f4bec --- /dev/null +++ b/vendor/github.com/google/uuid/hash.go @@ -0,0 +1,53 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "crypto/md5" + "crypto/sha1" + "hash" +) + +// Well known namespace IDs and UUIDs +var ( + NameSpaceDNS = Must(Parse("6ba7b810-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceURL = Must(Parse("6ba7b811-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceOID = Must(Parse("6ba7b812-9dad-11d1-80b4-00c04fd430c8")) + NameSpaceX500 = Must(Parse("6ba7b814-9dad-11d1-80b4-00c04fd430c8")) + Nil UUID // empty UUID, all zeros +) + +// NewHash returns a new UUID derived from the hash of space concatenated with +// data generated by h. The hash should be at least 16 byte in length. The +// first 16 bytes of the hash are used to form the UUID. The version of the +// UUID will be the lower 4 bits of version. NewHash is used to implement +// NewMD5 and NewSHA1. +func NewHash(h hash.Hash, space UUID, data []byte, version int) UUID { + h.Reset() + h.Write(space[:]) //nolint:errcheck + h.Write(data) //nolint:errcheck + s := h.Sum(nil) + var uuid UUID + copy(uuid[:], s) + uuid[6] = (uuid[6] & 0x0f) | uint8((version&0xf)<<4) + uuid[8] = (uuid[8] & 0x3f) | 0x80 // RFC 4122 variant + return uuid +} + +// NewMD5 returns a new MD5 (Version 3) UUID based on the +// supplied name space and data. It is the same as calling: +// +// NewHash(md5.New(), space, data, 3) +func NewMD5(space UUID, data []byte) UUID { + return NewHash(md5.New(), space, data, 3) +} + +// NewSHA1 returns a new SHA1 (Version 5) UUID based on the +// supplied name space and data. It is the same as calling: +// +// NewHash(sha1.New(), space, data, 5) +func NewSHA1(space UUID, data []byte) UUID { + return NewHash(sha1.New(), space, data, 5) +} diff --git a/vendor/github.com/google/uuid/marshal.go b/vendor/github.com/google/uuid/marshal.go new file mode 100644 index 000000000..14bd34072 --- /dev/null +++ b/vendor/github.com/google/uuid/marshal.go @@ -0,0 +1,38 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import "fmt" + +// MarshalText implements encoding.TextMarshaler. +func (uuid UUID) MarshalText() ([]byte, error) { + var js [36]byte + encodeHex(js[:], uuid) + return js[:], nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (uuid *UUID) UnmarshalText(data []byte) error { + id, err := ParseBytes(data) + if err != nil { + return err + } + *uuid = id + return nil +} + +// MarshalBinary implements encoding.BinaryMarshaler. +func (uuid UUID) MarshalBinary() ([]byte, error) { + return uuid[:], nil +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler. +func (uuid *UUID) UnmarshalBinary(data []byte) error { + if len(data) != 16 { + return fmt.Errorf("invalid UUID (got %d bytes)", len(data)) + } + copy(uuid[:], data) + return nil +} diff --git a/vendor/github.com/google/uuid/node.go b/vendor/github.com/google/uuid/node.go new file mode 100644 index 000000000..d651a2b06 --- /dev/null +++ b/vendor/github.com/google/uuid/node.go @@ -0,0 +1,90 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "sync" +) + +var ( + nodeMu sync.Mutex + ifname string // name of interface being used + nodeID [6]byte // hardware for version 1 UUIDs + zeroID [6]byte // nodeID with only 0's +) + +// NodeInterface returns the name of the interface from which the NodeID was +// derived. The interface "user" is returned if the NodeID was set by +// SetNodeID. +func NodeInterface() string { + defer nodeMu.Unlock() + nodeMu.Lock() + return ifname +} + +// SetNodeInterface selects the hardware address to be used for Version 1 UUIDs. +// If name is "" then the first usable interface found will be used or a random +// Node ID will be generated. If a named interface cannot be found then false +// is returned. +// +// SetNodeInterface never fails when name is "". +func SetNodeInterface(name string) bool { + defer nodeMu.Unlock() + nodeMu.Lock() + return setNodeInterface(name) +} + +func setNodeInterface(name string) bool { + iname, addr := getHardwareInterface(name) // null implementation for js + if iname != "" && addr != nil { + ifname = iname + copy(nodeID[:], addr) + return true + } + + // We found no interfaces with a valid hardware address. If name + // does not specify a specific interface generate a random Node ID + // (section 4.1.6) + if name == "" { + ifname = "random" + randomBits(nodeID[:]) + return true + } + return false +} + +// NodeID returns a slice of a copy of the current Node ID, setting the Node ID +// if not already set. +func NodeID() []byte { + defer nodeMu.Unlock() + nodeMu.Lock() + if nodeID == zeroID { + setNodeInterface("") + } + nid := nodeID + return nid[:] +} + +// SetNodeID sets the Node ID to be used for Version 1 UUIDs. The first 6 bytes +// of id are used. If id is less than 6 bytes then false is returned and the +// Node ID is not set. +func SetNodeID(id []byte) bool { + if len(id) < 6 { + return false + } + defer nodeMu.Unlock() + nodeMu.Lock() + copy(nodeID[:], id) + ifname = "user" + return true +} + +// NodeID returns the 6 byte node id encoded in uuid. It returns nil if uuid is +// not valid. The NodeID is only well defined for version 1 and 2 UUIDs. +func (uuid UUID) NodeID() []byte { + var node [6]byte + copy(node[:], uuid[10:]) + return node[:] +} diff --git a/vendor/github.com/google/uuid/node_js.go b/vendor/github.com/google/uuid/node_js.go new file mode 100644 index 000000000..24b78edc9 --- /dev/null +++ b/vendor/github.com/google/uuid/node_js.go @@ -0,0 +1,12 @@ +// Copyright 2017 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build js + +package uuid + +// getHardwareInterface returns nil values for the JS version of the code. +// This remvoves the "net" dependency, because it is not used in the browser. +// Using the "net" library inflates the size of the transpiled JS code by 673k bytes. +func getHardwareInterface(name string) (string, []byte) { return "", nil } diff --git a/vendor/github.com/google/uuid/node_net.go b/vendor/github.com/google/uuid/node_net.go new file mode 100644 index 000000000..0cbbcddbd --- /dev/null +++ b/vendor/github.com/google/uuid/node_net.go @@ -0,0 +1,33 @@ +// Copyright 2017 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !js + +package uuid + +import "net" + +var interfaces []net.Interface // cached list of interfaces + +// getHardwareInterface returns the name and hardware address of interface name. +// If name is "" then the name and hardware address of one of the system's +// interfaces is returned. If no interfaces are found (name does not exist or +// there are no interfaces) then "", nil is returned. +// +// Only addresses of at least 6 bytes are returned. +func getHardwareInterface(name string) (string, []byte) { + if interfaces == nil { + var err error + interfaces, err = net.Interfaces() + if err != nil { + return "", nil + } + } + for _, ifs := range interfaces { + if len(ifs.HardwareAddr) >= 6 && (name == "" || name == ifs.Name) { + return ifs.Name, ifs.HardwareAddr + } + } + return "", nil +} diff --git a/vendor/github.com/google/uuid/null.go b/vendor/github.com/google/uuid/null.go new file mode 100644 index 000000000..d7fcbf286 --- /dev/null +++ b/vendor/github.com/google/uuid/null.go @@ -0,0 +1,118 @@ +// Copyright 2021 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "bytes" + "database/sql/driver" + "encoding/json" + "fmt" +) + +var jsonNull = []byte("null") + +// NullUUID represents a UUID that may be null. +// NullUUID implements the SQL driver.Scanner interface so +// it can be used as a scan destination: +// +// var u uuid.NullUUID +// err := db.QueryRow("SELECT name FROM foo WHERE id=?", id).Scan(&u) +// ... +// if u.Valid { +// // use u.UUID +// } else { +// // NULL value +// } +// +type NullUUID struct { + UUID UUID + Valid bool // Valid is true if UUID is not NULL +} + +// Scan implements the SQL driver.Scanner interface. +func (nu *NullUUID) Scan(value interface{}) error { + if value == nil { + nu.UUID, nu.Valid = Nil, false + return nil + } + + err := nu.UUID.Scan(value) + if err != nil { + nu.Valid = false + return err + } + + nu.Valid = true + return nil +} + +// Value implements the driver Valuer interface. +func (nu NullUUID) Value() (driver.Value, error) { + if !nu.Valid { + return nil, nil + } + // Delegate to UUID Value function + return nu.UUID.Value() +} + +// MarshalBinary implements encoding.BinaryMarshaler. +func (nu NullUUID) MarshalBinary() ([]byte, error) { + if nu.Valid { + return nu.UUID[:], nil + } + + return []byte(nil), nil +} + +// UnmarshalBinary implements encoding.BinaryUnmarshaler. +func (nu *NullUUID) UnmarshalBinary(data []byte) error { + if len(data) != 16 { + return fmt.Errorf("invalid UUID (got %d bytes)", len(data)) + } + copy(nu.UUID[:], data) + nu.Valid = true + return nil +} + +// MarshalText implements encoding.TextMarshaler. +func (nu NullUUID) MarshalText() ([]byte, error) { + if nu.Valid { + return nu.UUID.MarshalText() + } + + return jsonNull, nil +} + +// UnmarshalText implements encoding.TextUnmarshaler. +func (nu *NullUUID) UnmarshalText(data []byte) error { + id, err := ParseBytes(data) + if err != nil { + nu.Valid = false + return err + } + nu.UUID = id + nu.Valid = true + return nil +} + +// MarshalJSON implements json.Marshaler. +func (nu NullUUID) MarshalJSON() ([]byte, error) { + if nu.Valid { + return json.Marshal(nu.UUID) + } + + return jsonNull, nil +} + +// UnmarshalJSON implements json.Unmarshaler. +func (nu *NullUUID) UnmarshalJSON(data []byte) error { + if bytes.Equal(data, jsonNull) { + *nu = NullUUID{} + return nil // valid null UUID + } + err := json.Unmarshal(data, &nu.UUID) + nu.Valid = err == nil + return err +} diff --git a/vendor/github.com/google/uuid/sql.go b/vendor/github.com/google/uuid/sql.go new file mode 100644 index 000000000..2e02ec06c --- /dev/null +++ b/vendor/github.com/google/uuid/sql.go @@ -0,0 +1,59 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "database/sql/driver" + "fmt" +) + +// Scan implements sql.Scanner so UUIDs can be read from databases transparently. +// Currently, database types that map to string and []byte are supported. Please +// consult database-specific driver documentation for matching types. +func (uuid *UUID) Scan(src interface{}) error { + switch src := src.(type) { + case nil: + return nil + + case string: + // if an empty UUID comes from a table, we return a null UUID + if src == "" { + return nil + } + + // see Parse for required string format + u, err := Parse(src) + if err != nil { + return fmt.Errorf("Scan: %v", err) + } + + *uuid = u + + case []byte: + // if an empty UUID comes from a table, we return a null UUID + if len(src) == 0 { + return nil + } + + // assumes a simple slice of bytes if 16 bytes + // otherwise attempts to parse + if len(src) != 16 { + return uuid.Scan(string(src)) + } + copy((*uuid)[:], src) + + default: + return fmt.Errorf("Scan: unable to scan type %T into UUID", src) + } + + return nil +} + +// Value implements sql.Valuer so that UUIDs can be written to databases +// transparently. Currently, UUIDs map to strings. Please consult +// database-specific driver documentation for matching types. +func (uuid UUID) Value() (driver.Value, error) { + return uuid.String(), nil +} diff --git a/vendor/github.com/google/uuid/time.go b/vendor/github.com/google/uuid/time.go new file mode 100644 index 000000000..e6ef06cdc --- /dev/null +++ b/vendor/github.com/google/uuid/time.go @@ -0,0 +1,123 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" + "sync" + "time" +) + +// A Time represents a time as the number of 100's of nanoseconds since 15 Oct +// 1582. +type Time int64 + +const ( + lillian = 2299160 // Julian day of 15 Oct 1582 + unix = 2440587 // Julian day of 1 Jan 1970 + epoch = unix - lillian // Days between epochs + g1582 = epoch * 86400 // seconds between epochs + g1582ns100 = g1582 * 10000000 // 100s of a nanoseconds between epochs +) + +var ( + timeMu sync.Mutex + lasttime uint64 // last time we returned + clockSeq uint16 // clock sequence for this run + + timeNow = time.Now // for testing +) + +// UnixTime converts t the number of seconds and nanoseconds using the Unix +// epoch of 1 Jan 1970. +func (t Time) UnixTime() (sec, nsec int64) { + sec = int64(t - g1582ns100) + nsec = (sec % 10000000) * 100 + sec /= 10000000 + return sec, nsec +} + +// GetTime returns the current Time (100s of nanoseconds since 15 Oct 1582) and +// clock sequence as well as adjusting the clock sequence as needed. An error +// is returned if the current time cannot be determined. +func GetTime() (Time, uint16, error) { + defer timeMu.Unlock() + timeMu.Lock() + return getTime() +} + +func getTime() (Time, uint16, error) { + t := timeNow() + + // If we don't have a clock sequence already, set one. + if clockSeq == 0 { + setClockSequence(-1) + } + now := uint64(t.UnixNano()/100) + g1582ns100 + + // If time has gone backwards with this clock sequence then we + // increment the clock sequence + if now <= lasttime { + clockSeq = ((clockSeq + 1) & 0x3fff) | 0x8000 + } + lasttime = now + return Time(now), clockSeq, nil +} + +// ClockSequence returns the current clock sequence, generating one if not +// already set. The clock sequence is only used for Version 1 UUIDs. +// +// The uuid package does not use global static storage for the clock sequence or +// the last time a UUID was generated. Unless SetClockSequence is used, a new +// random clock sequence is generated the first time a clock sequence is +// requested by ClockSequence, GetTime, or NewUUID. (section 4.2.1.1) +func ClockSequence() int { + defer timeMu.Unlock() + timeMu.Lock() + return clockSequence() +} + +func clockSequence() int { + if clockSeq == 0 { + setClockSequence(-1) + } + return int(clockSeq & 0x3fff) +} + +// SetClockSequence sets the clock sequence to the lower 14 bits of seq. Setting to +// -1 causes a new sequence to be generated. +func SetClockSequence(seq int) { + defer timeMu.Unlock() + timeMu.Lock() + setClockSequence(seq) +} + +func setClockSequence(seq int) { + if seq == -1 { + var b [2]byte + randomBits(b[:]) // clock sequence + seq = int(b[0])<<8 | int(b[1]) + } + oldSeq := clockSeq + clockSeq = uint16(seq&0x3fff) | 0x8000 // Set our variant + if oldSeq != clockSeq { + lasttime = 0 + } +} + +// Time returns the time in 100s of nanoseconds since 15 Oct 1582 encoded in +// uuid. The time is only defined for version 1 and 2 UUIDs. +func (uuid UUID) Time() Time { + time := int64(binary.BigEndian.Uint32(uuid[0:4])) + time |= int64(binary.BigEndian.Uint16(uuid[4:6])) << 32 + time |= int64(binary.BigEndian.Uint16(uuid[6:8])&0xfff) << 48 + return Time(time) +} + +// ClockSequence returns the clock sequence encoded in uuid. +// The clock sequence is only well defined for version 1 and 2 UUIDs. +func (uuid UUID) ClockSequence() int { + return int(binary.BigEndian.Uint16(uuid[8:10])) & 0x3fff +} diff --git a/vendor/github.com/google/uuid/util.go b/vendor/github.com/google/uuid/util.go new file mode 100644 index 000000000..5ea6c7378 --- /dev/null +++ b/vendor/github.com/google/uuid/util.go @@ -0,0 +1,43 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "io" +) + +// randomBits completely fills slice b with random data. +func randomBits(b []byte) { + if _, err := io.ReadFull(rander, b); err != nil { + panic(err.Error()) // rand should never fail + } +} + +// xvalues returns the value of a byte as a hexadecimal digit or 255. +var xvalues = [256]byte{ + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 255, 255, 255, 255, 255, 255, + 255, 10, 11, 12, 13, 14, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 10, 11, 12, 13, 14, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, + 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, +} + +// xtob converts hex characters x1 and x2 into a byte. +func xtob(x1, x2 byte) (byte, bool) { + b1 := xvalues[x1] + b2 := xvalues[x2] + return (b1 << 4) | b2, b1 != 255 && b2 != 255 +} diff --git a/vendor/github.com/google/uuid/uuid.go b/vendor/github.com/google/uuid/uuid.go new file mode 100644 index 000000000..a57207aeb --- /dev/null +++ b/vendor/github.com/google/uuid/uuid.go @@ -0,0 +1,294 @@ +// Copyright 2018 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "bytes" + "crypto/rand" + "encoding/hex" + "errors" + "fmt" + "io" + "strings" + "sync" +) + +// A UUID is a 128 bit (16 byte) Universal Unique IDentifier as defined in RFC +// 4122. +type UUID [16]byte + +// A Version represents a UUID's version. +type Version byte + +// A Variant represents a UUID's variant. +type Variant byte + +// Constants returned by Variant. +const ( + Invalid = Variant(iota) // Invalid UUID + RFC4122 // The variant specified in RFC4122 + Reserved // Reserved, NCS backward compatibility. + Microsoft // Reserved, Microsoft Corporation backward compatibility. + Future // Reserved for future definition. +) + +const randPoolSize = 16 * 16 + +var ( + rander = rand.Reader // random function + poolEnabled = false + poolMu sync.Mutex + poolPos = randPoolSize // protected with poolMu + pool [randPoolSize]byte // protected with poolMu +) + +type invalidLengthError struct{ len int } + +func (err invalidLengthError) Error() string { + return fmt.Sprintf("invalid UUID length: %d", err.len) +} + +// IsInvalidLengthError is matcher function for custom error invalidLengthError +func IsInvalidLengthError(err error) bool { + _, ok := err.(invalidLengthError) + return ok +} + +// Parse decodes s into a UUID or returns an error. Both the standard UUID +// forms of xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx and +// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx are decoded as well as the +// Microsoft encoding {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} and the raw hex +// encoding: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx. +func Parse(s string) (UUID, error) { + var uuid UUID + switch len(s) { + // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + case 36: + + // urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + case 36 + 9: + if strings.ToLower(s[:9]) != "urn:uuid:" { + return uuid, fmt.Errorf("invalid urn prefix: %q", s[:9]) + } + s = s[9:] + + // {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} + case 36 + 2: + s = s[1:] + + // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + case 32: + var ok bool + for i := range uuid { + uuid[i], ok = xtob(s[i*2], s[i*2+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + } + return uuid, nil + default: + return uuid, invalidLengthError{len(s)} + } + // s is now at least 36 bytes long + // it must be of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + if s[8] != '-' || s[13] != '-' || s[18] != '-' || s[23] != '-' { + return uuid, errors.New("invalid UUID format") + } + for i, x := range [16]int{ + 0, 2, 4, 6, + 9, 11, + 14, 16, + 19, 21, + 24, 26, 28, 30, 32, 34} { + v, ok := xtob(s[x], s[x+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + uuid[i] = v + } + return uuid, nil +} + +// ParseBytes is like Parse, except it parses a byte slice instead of a string. +func ParseBytes(b []byte) (UUID, error) { + var uuid UUID + switch len(b) { + case 36: // xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + case 36 + 9: // urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + if !bytes.Equal(bytes.ToLower(b[:9]), []byte("urn:uuid:")) { + return uuid, fmt.Errorf("invalid urn prefix: %q", b[:9]) + } + b = b[9:] + case 36 + 2: // {xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx} + b = b[1:] + case 32: // xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx + var ok bool + for i := 0; i < 32; i += 2 { + uuid[i/2], ok = xtob(b[i], b[i+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + } + return uuid, nil + default: + return uuid, invalidLengthError{len(b)} + } + // s is now at least 36 bytes long + // it must be of the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx + if b[8] != '-' || b[13] != '-' || b[18] != '-' || b[23] != '-' { + return uuid, errors.New("invalid UUID format") + } + for i, x := range [16]int{ + 0, 2, 4, 6, + 9, 11, + 14, 16, + 19, 21, + 24, 26, 28, 30, 32, 34} { + v, ok := xtob(b[x], b[x+1]) + if !ok { + return uuid, errors.New("invalid UUID format") + } + uuid[i] = v + } + return uuid, nil +} + +// MustParse is like Parse but panics if the string cannot be parsed. +// It simplifies safe initialization of global variables holding compiled UUIDs. +func MustParse(s string) UUID { + uuid, err := Parse(s) + if err != nil { + panic(`uuid: Parse(` + s + `): ` + err.Error()) + } + return uuid +} + +// FromBytes creates a new UUID from a byte slice. Returns an error if the slice +// does not have a length of 16. The bytes are copied from the slice. +func FromBytes(b []byte) (uuid UUID, err error) { + err = uuid.UnmarshalBinary(b) + return uuid, err +} + +// Must returns uuid if err is nil and panics otherwise. +func Must(uuid UUID, err error) UUID { + if err != nil { + panic(err) + } + return uuid +} + +// String returns the string form of uuid, xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx +// , or "" if uuid is invalid. +func (uuid UUID) String() string { + var buf [36]byte + encodeHex(buf[:], uuid) + return string(buf[:]) +} + +// URN returns the RFC 2141 URN form of uuid, +// urn:uuid:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx, or "" if uuid is invalid. +func (uuid UUID) URN() string { + var buf [36 + 9]byte + copy(buf[:], "urn:uuid:") + encodeHex(buf[9:], uuid) + return string(buf[:]) +} + +func encodeHex(dst []byte, uuid UUID) { + hex.Encode(dst, uuid[:4]) + dst[8] = '-' + hex.Encode(dst[9:13], uuid[4:6]) + dst[13] = '-' + hex.Encode(dst[14:18], uuid[6:8]) + dst[18] = '-' + hex.Encode(dst[19:23], uuid[8:10]) + dst[23] = '-' + hex.Encode(dst[24:], uuid[10:]) +} + +// Variant returns the variant encoded in uuid. +func (uuid UUID) Variant() Variant { + switch { + case (uuid[8] & 0xc0) == 0x80: + return RFC4122 + case (uuid[8] & 0xe0) == 0xc0: + return Microsoft + case (uuid[8] & 0xe0) == 0xe0: + return Future + default: + return Reserved + } +} + +// Version returns the version of uuid. +func (uuid UUID) Version() Version { + return Version(uuid[6] >> 4) +} + +func (v Version) String() string { + if v > 15 { + return fmt.Sprintf("BAD_VERSION_%d", v) + } + return fmt.Sprintf("VERSION_%d", v) +} + +func (v Variant) String() string { + switch v { + case RFC4122: + return "RFC4122" + case Reserved: + return "Reserved" + case Microsoft: + return "Microsoft" + case Future: + return "Future" + case Invalid: + return "Invalid" + } + return fmt.Sprintf("BadVariant%d", int(v)) +} + +// SetRand sets the random number generator to r, which implements io.Reader. +// If r.Read returns an error when the package requests random data then +// a panic will be issued. +// +// Calling SetRand with nil sets the random number generator to the default +// generator. +func SetRand(r io.Reader) { + if r == nil { + rander = rand.Reader + return + } + rander = r +} + +// EnableRandPool enables internal randomness pool used for Random +// (Version 4) UUID generation. The pool contains random bytes read from +// the random number generator on demand in batches. Enabling the pool +// may improve the UUID generation throughput significantly. +// +// Since the pool is stored on the Go heap, this feature may be a bad fit +// for security sensitive applications. +// +// Both EnableRandPool and DisableRandPool are not thread-safe and should +// only be called when there is no possibility that New or any other +// UUID Version 4 generation function will be called concurrently. +func EnableRandPool() { + poolEnabled = true +} + +// DisableRandPool disables the randomness pool if it was previously +// enabled with EnableRandPool. +// +// Both EnableRandPool and DisableRandPool are not thread-safe and should +// only be called when there is no possibility that New or any other +// UUID Version 4 generation function will be called concurrently. +func DisableRandPool() { + poolEnabled = false + defer poolMu.Unlock() + poolMu.Lock() + poolPos = randPoolSize +} diff --git a/vendor/github.com/google/uuid/version1.go b/vendor/github.com/google/uuid/version1.go new file mode 100644 index 000000000..463109629 --- /dev/null +++ b/vendor/github.com/google/uuid/version1.go @@ -0,0 +1,44 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import ( + "encoding/binary" +) + +// NewUUID returns a Version 1 UUID based on the current NodeID and clock +// sequence, and the current time. If the NodeID has not been set by SetNodeID +// or SetNodeInterface then it will be set automatically. If the NodeID cannot +// be set NewUUID returns nil. If clock sequence has not been set by +// SetClockSequence then it will be set automatically. If GetTime fails to +// return the current NewUUID returns nil and an error. +// +// In most cases, New should be used. +func NewUUID() (UUID, error) { + var uuid UUID + now, seq, err := GetTime() + if err != nil { + return uuid, err + } + + timeLow := uint32(now & 0xffffffff) + timeMid := uint16((now >> 32) & 0xffff) + timeHi := uint16((now >> 48) & 0x0fff) + timeHi |= 0x1000 // Version 1 + + binary.BigEndian.PutUint32(uuid[0:], timeLow) + binary.BigEndian.PutUint16(uuid[4:], timeMid) + binary.BigEndian.PutUint16(uuid[6:], timeHi) + binary.BigEndian.PutUint16(uuid[8:], seq) + + nodeMu.Lock() + if nodeID == zeroID { + setNodeInterface("") + } + copy(uuid[10:], nodeID[:]) + nodeMu.Unlock() + + return uuid, nil +} diff --git a/vendor/github.com/google/uuid/version4.go b/vendor/github.com/google/uuid/version4.go new file mode 100644 index 000000000..7697802e4 --- /dev/null +++ b/vendor/github.com/google/uuid/version4.go @@ -0,0 +1,76 @@ +// Copyright 2016 Google Inc. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package uuid + +import "io" + +// New creates a new random UUID or panics. New is equivalent to +// the expression +// +// uuid.Must(uuid.NewRandom()) +func New() UUID { + return Must(NewRandom()) +} + +// NewString creates a new random UUID and returns it as a string or panics. +// NewString is equivalent to the expression +// +// uuid.New().String() +func NewString() string { + return Must(NewRandom()).String() +} + +// NewRandom returns a Random (Version 4) UUID. +// +// The strength of the UUIDs is based on the strength of the crypto/rand +// package. +// +// Uses the randomness pool if it was enabled with EnableRandPool. +// +// A note about uniqueness derived from the UUID Wikipedia entry: +// +// Randomly generated UUIDs have 122 random bits. One's annual risk of being +// hit by a meteorite is estimated to be one chance in 17 billion, that +// means the probability is about 0.00000000006 (6 × 10−11), +// equivalent to the odds of creating a few tens of trillions of UUIDs in a +// year and having one duplicate. +func NewRandom() (UUID, error) { + if !poolEnabled { + return NewRandomFromReader(rander) + } + return newRandomFromPool() +} + +// NewRandomFromReader returns a UUID based on bytes read from a given io.Reader. +func NewRandomFromReader(r io.Reader) (UUID, error) { + var uuid UUID + _, err := io.ReadFull(r, uuid[:]) + if err != nil { + return Nil, err + } + uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 + uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 + return uuid, nil +} + +func newRandomFromPool() (UUID, error) { + var uuid UUID + poolMu.Lock() + if poolPos == randPoolSize { + _, err := io.ReadFull(rander, pool[:]) + if err != nil { + poolMu.Unlock() + return Nil, err + } + poolPos = 0 + } + copy(uuid[:], pool[poolPos:(poolPos+16)]) + poolPos += 16 + poolMu.Unlock() + + uuid[6] = (uuid[6] & 0x0f) | 0x40 // Version 4 + uuid[8] = (uuid[8] & 0x3f) | 0x80 // Variant is 10 + return uuid, nil +} diff --git a/vendor/github.com/googleapis/gax-go/v2/.release-please-manifest.json b/vendor/github.com/googleapis/gax-go/v2/.release-please-manifest.json new file mode 100644 index 000000000..0e643a05b --- /dev/null +++ b/vendor/github.com/googleapis/gax-go/v2/.release-please-manifest.json @@ -0,0 +1,3 @@ +{ + "v2": "2.4.0" +} diff --git a/vendor/github.com/googleapis/gax-go/v2/CHANGES.md b/vendor/github.com/googleapis/gax-go/v2/CHANGES.md new file mode 100644 index 000000000..b42ace44c --- /dev/null +++ b/vendor/github.com/googleapis/gax-go/v2/CHANGES.md @@ -0,0 +1,18 @@ +# Changelog + +## [2.4.0](https://github.com/googleapis/gax-go/compare/v2.3.0...v2.4.0) (2022-05-09) + + +### Features + +* **v2:** add OnHTTPCodes CallOption ([#188](https://github.com/googleapis/gax-go/issues/188)) ([ba7c534](https://github.com/googleapis/gax-go/commit/ba7c5348363ab6c33e1cee3c03c0be68a46ca07c)) + + +### Bug Fixes + +* **v2/apierror:** use errors.As in FromError ([#189](https://github.com/googleapis/gax-go/issues/189)) ([f30f05b](https://github.com/googleapis/gax-go/commit/f30f05be583828f4c09cca4091333ea88ff8d79e)) + + +### Miscellaneous Chores + +* **v2:** bump release-please processing ([#192](https://github.com/googleapis/gax-go/issues/192)) ([56172f9](https://github.com/googleapis/gax-go/commit/56172f971d1141d7687edaac053ad3470af76719)) diff --git a/vendor/github.com/googleapis/gax-go/v2/apierror/apierror.go b/vendor/github.com/googleapis/gax-go/v2/apierror/apierror.go index e33316d88..7d0128a0c 100644 --- a/vendor/github.com/googleapis/gax-go/v2/apierror/apierror.go +++ b/vendor/github.com/googleapis/gax-go/v2/apierror/apierror.go @@ -32,6 +32,7 @@ package apierror import ( + "errors" "fmt" "strings" @@ -215,7 +216,8 @@ func FromError(err error) (*APIError, bool) { ae := APIError{err: err} st, isStatus := status.FromError(err) - herr, isHTTPErr := err.(*googleapi.Error) + var herr *googleapi.Error + isHTTPErr := errors.As(err, &herr) switch { case isStatus: diff --git a/vendor/github.com/googleapis/gax-go/v2/call_option.go b/vendor/github.com/googleapis/gax-go/v2/call_option.go index 3011ba442..e09200556 100644 --- a/vendor/github.com/googleapis/gax-go/v2/call_option.go +++ b/vendor/github.com/googleapis/gax-go/v2/call_option.go @@ -30,9 +30,11 @@ package gax import ( + "errors" "math/rand" "time" + "google.golang.org/api/googleapi" "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/status" @@ -119,6 +121,41 @@ func (r *boRetryer) Retry(err error) (time.Duration, bool) { return 0, false } +// OnHTTPCodes returns a Retryer that retries if and only if +// the previous attempt returns a googleapi.Error whose status code is stored in +// cc. Pause times between retries are specified by bo. +// +// bo is only used for its parameters; each Retryer has its own copy. +func OnHTTPCodes(bo Backoff, cc ...int) Retryer { + codes := make(map[int]bool, len(cc)) + for _, c := range cc { + codes[c] = true + } + + return &httpRetryer{ + backoff: bo, + codes: codes, + } +} + +type httpRetryer struct { + backoff Backoff + codes map[int]bool +} + +func (r *httpRetryer) Retry(err error) (time.Duration, bool) { + var gerr *googleapi.Error + if !errors.As(err, &gerr) { + return 0, false + } + + if r.codes[gerr.Code] { + return r.backoff.Pause(), true + } + + return 0, false +} + // Backoff implements exponential backoff. The wait time between retries is a // random value between 0 and the "retry period" - the time between retries. The // retry period starts at Initial and increases by the factor of Multiplier diff --git a/vendor/github.com/googleapis/gax-go/v2/gax.go b/vendor/github.com/googleapis/gax-go/v2/gax.go index 9272b3e40..36cdfa33e 100644 --- a/vendor/github.com/googleapis/gax-go/v2/gax.go +++ b/vendor/github.com/googleapis/gax-go/v2/gax.go @@ -35,5 +35,7 @@ // to simplify code generation and to provide more convenient and idiomatic API surfaces. package gax +import "github.com/googleapis/gax-go/v2/internal" + // Version specifies the gax-go version being used. -const Version = "2.3.0" +const Version = internal.Version diff --git a/vendor/github.com/googleapis/gax-go/v2/internal/version.go b/vendor/github.com/googleapis/gax-go/v2/internal/version.go new file mode 100644 index 000000000..bf272a504 --- /dev/null +++ b/vendor/github.com/googleapis/gax-go/v2/internal/version.go @@ -0,0 +1,33 @@ +// Copyright 2022, Google Inc. +// All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +package internal + +// Version is the current tagged release of the library. +const Version = "2.4.0" diff --git a/vendor/github.com/googleapis/gax-go/v2/release-please-config.json b/vendor/github.com/googleapis/gax-go/v2/release-please-config.json new file mode 100644 index 000000000..61ee266a1 --- /dev/null +++ b/vendor/github.com/googleapis/gax-go/v2/release-please-config.json @@ -0,0 +1,10 @@ +{ + "release-type": "go-yoshi", + "separate-pull-requests": true, + "include-component-in-tag": false, + "packages": { + "v2": { + "component": "v2" + } + } +} diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md index 0734862b8..c3ec9d8a7 100644 --- a/vendor/github.com/klauspost/compress/README.md +++ b/vendor/github.com/klauspost/compress/README.md @@ -17,6 +17,10 @@ This package provides various compression algorithms. # changelog +* May 5, 2022 (v1.15.3) + * zstd: Allow to ignore checksum checking by @WojciechMula [#572](https://github.com/klauspost/compress/pull/572) + * s2: Fix incorrect seek for io.SeekEnd in [#575](https://github.com/klauspost/compress/pull/575) + * Apr 26, 2022 (v1.15.2) * zstd: Add x86-64 assembly for decompression on streams and blocks. Contributed by [@WojciechMula](https://github.com/WojciechMula). Typically 2x faster. [#528](https://github.com/klauspost/compress/pull/528) [#531](https://github.com/klauspost/compress/pull/531) [#545](https://github.com/klauspost/compress/pull/545) [#537](https://github.com/klauspost/compress/pull/537) * zstd: Add options to ZipDecompressor and fixes [#539](https://github.com/klauspost/compress/pull/539) diff --git a/vendor/github.com/klauspost/compress/flate/inflate_gen.go b/vendor/github.com/klauspost/compress/flate/inflate_gen.go index 8d632cea0..61342b6b8 100644 --- a/vendor/github.com/klauspost/compress/flate/inflate_gen.go +++ b/vendor/github.com/klauspost/compress/flate/inflate_gen.go @@ -24,7 +24,7 @@ func (f *decompressor) huffmanBytesBuffer() { // Optimization. Compiler isn't smart enough to keep f.b,f.nb in registers, // but is smart enough to keep local variables in registers, so use nb and b, // inline call to moreBits and reassign b,nb back to f on return. - fnb, fb := f.nb, f.b + fnb, fb, dict := f.nb, f.b, &f.dict switch f.stepState { case stateInit: @@ -82,9 +82,9 @@ readLiteral: var length int switch { case v < 256: - f.dict.writeByte(byte(v)) - if f.dict.availWrite() == 0 { - f.toRead = f.dict.readFlush() + dict.writeByte(byte(v)) + if dict.availWrite() == 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanBytesBuffer f.stepState = stateInit f.b, f.nb = fb, fnb @@ -227,10 +227,10 @@ readLiteral: } // No check on length; encoding can be prescient. - if dist > uint32(f.dict.histSize()) { + if dist > uint32(dict.histSize()) { f.b, f.nb = fb, fnb if debugDecode { - fmt.Println("dist > f.dict.histSize():", dist, f.dict.histSize()) + fmt.Println("dist > dict.histSize():", dist, dict.histSize()) } f.err = CorruptInputError(f.roffset) return @@ -243,14 +243,14 @@ readLiteral: copyHistory: // Perform a backwards copy according to RFC section 3.2.3. { - cnt := f.dict.tryWriteCopy(f.copyDist, f.copyLen) + cnt := dict.tryWriteCopy(f.copyDist, f.copyLen) if cnt == 0 { - cnt = f.dict.writeCopy(f.copyDist, f.copyLen) + cnt = dict.writeCopy(f.copyDist, f.copyLen) } f.copyLen -= cnt - if f.dict.availWrite() == 0 || f.copyLen > 0 { - f.toRead = f.dict.readFlush() + if dict.availWrite() == 0 || f.copyLen > 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanBytesBuffer // We need to continue this work f.stepState = stateDict f.b, f.nb = fb, fnb @@ -275,7 +275,7 @@ func (f *decompressor) huffmanBytesReader() { // Optimization. Compiler isn't smart enough to keep f.b,f.nb in registers, // but is smart enough to keep local variables in registers, so use nb and b, // inline call to moreBits and reassign b,nb back to f on return. - fnb, fb := f.nb, f.b + fnb, fb, dict := f.nb, f.b, &f.dict switch f.stepState { case stateInit: @@ -333,9 +333,9 @@ readLiteral: var length int switch { case v < 256: - f.dict.writeByte(byte(v)) - if f.dict.availWrite() == 0 { - f.toRead = f.dict.readFlush() + dict.writeByte(byte(v)) + if dict.availWrite() == 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanBytesReader f.stepState = stateInit f.b, f.nb = fb, fnb @@ -478,10 +478,10 @@ readLiteral: } // No check on length; encoding can be prescient. - if dist > uint32(f.dict.histSize()) { + if dist > uint32(dict.histSize()) { f.b, f.nb = fb, fnb if debugDecode { - fmt.Println("dist > f.dict.histSize():", dist, f.dict.histSize()) + fmt.Println("dist > dict.histSize():", dist, dict.histSize()) } f.err = CorruptInputError(f.roffset) return @@ -494,14 +494,14 @@ readLiteral: copyHistory: // Perform a backwards copy according to RFC section 3.2.3. { - cnt := f.dict.tryWriteCopy(f.copyDist, f.copyLen) + cnt := dict.tryWriteCopy(f.copyDist, f.copyLen) if cnt == 0 { - cnt = f.dict.writeCopy(f.copyDist, f.copyLen) + cnt = dict.writeCopy(f.copyDist, f.copyLen) } f.copyLen -= cnt - if f.dict.availWrite() == 0 || f.copyLen > 0 { - f.toRead = f.dict.readFlush() + if dict.availWrite() == 0 || f.copyLen > 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanBytesReader // We need to continue this work f.stepState = stateDict f.b, f.nb = fb, fnb @@ -526,7 +526,7 @@ func (f *decompressor) huffmanBufioReader() { // Optimization. Compiler isn't smart enough to keep f.b,f.nb in registers, // but is smart enough to keep local variables in registers, so use nb and b, // inline call to moreBits and reassign b,nb back to f on return. - fnb, fb := f.nb, f.b + fnb, fb, dict := f.nb, f.b, &f.dict switch f.stepState { case stateInit: @@ -584,9 +584,9 @@ readLiteral: var length int switch { case v < 256: - f.dict.writeByte(byte(v)) - if f.dict.availWrite() == 0 { - f.toRead = f.dict.readFlush() + dict.writeByte(byte(v)) + if dict.availWrite() == 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanBufioReader f.stepState = stateInit f.b, f.nb = fb, fnb @@ -729,10 +729,10 @@ readLiteral: } // No check on length; encoding can be prescient. - if dist > uint32(f.dict.histSize()) { + if dist > uint32(dict.histSize()) { f.b, f.nb = fb, fnb if debugDecode { - fmt.Println("dist > f.dict.histSize():", dist, f.dict.histSize()) + fmt.Println("dist > dict.histSize():", dist, dict.histSize()) } f.err = CorruptInputError(f.roffset) return @@ -745,14 +745,14 @@ readLiteral: copyHistory: // Perform a backwards copy according to RFC section 3.2.3. { - cnt := f.dict.tryWriteCopy(f.copyDist, f.copyLen) + cnt := dict.tryWriteCopy(f.copyDist, f.copyLen) if cnt == 0 { - cnt = f.dict.writeCopy(f.copyDist, f.copyLen) + cnt = dict.writeCopy(f.copyDist, f.copyLen) } f.copyLen -= cnt - if f.dict.availWrite() == 0 || f.copyLen > 0 { - f.toRead = f.dict.readFlush() + if dict.availWrite() == 0 || f.copyLen > 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanBufioReader // We need to continue this work f.stepState = stateDict f.b, f.nb = fb, fnb @@ -777,7 +777,7 @@ func (f *decompressor) huffmanStringsReader() { // Optimization. Compiler isn't smart enough to keep f.b,f.nb in registers, // but is smart enough to keep local variables in registers, so use nb and b, // inline call to moreBits and reassign b,nb back to f on return. - fnb, fb := f.nb, f.b + fnb, fb, dict := f.nb, f.b, &f.dict switch f.stepState { case stateInit: @@ -835,9 +835,9 @@ readLiteral: var length int switch { case v < 256: - f.dict.writeByte(byte(v)) - if f.dict.availWrite() == 0 { - f.toRead = f.dict.readFlush() + dict.writeByte(byte(v)) + if dict.availWrite() == 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanStringsReader f.stepState = stateInit f.b, f.nb = fb, fnb @@ -980,10 +980,10 @@ readLiteral: } // No check on length; encoding can be prescient. - if dist > uint32(f.dict.histSize()) { + if dist > uint32(dict.histSize()) { f.b, f.nb = fb, fnb if debugDecode { - fmt.Println("dist > f.dict.histSize():", dist, f.dict.histSize()) + fmt.Println("dist > dict.histSize():", dist, dict.histSize()) } f.err = CorruptInputError(f.roffset) return @@ -996,14 +996,14 @@ readLiteral: copyHistory: // Perform a backwards copy according to RFC section 3.2.3. { - cnt := f.dict.tryWriteCopy(f.copyDist, f.copyLen) + cnt := dict.tryWriteCopy(f.copyDist, f.copyLen) if cnt == 0 { - cnt = f.dict.writeCopy(f.copyDist, f.copyLen) + cnt = dict.writeCopy(f.copyDist, f.copyLen) } f.copyLen -= cnt - if f.dict.availWrite() == 0 || f.copyLen > 0 { - f.toRead = f.dict.readFlush() + if dict.availWrite() == 0 || f.copyLen > 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanStringsReader // We need to continue this work f.stepState = stateDict f.b, f.nb = fb, fnb @@ -1028,7 +1028,7 @@ func (f *decompressor) huffmanGenericReader() { // Optimization. Compiler isn't smart enough to keep f.b,f.nb in registers, // but is smart enough to keep local variables in registers, so use nb and b, // inline call to moreBits and reassign b,nb back to f on return. - fnb, fb := f.nb, f.b + fnb, fb, dict := f.nb, f.b, &f.dict switch f.stepState { case stateInit: @@ -1086,9 +1086,9 @@ readLiteral: var length int switch { case v < 256: - f.dict.writeByte(byte(v)) - if f.dict.availWrite() == 0 { - f.toRead = f.dict.readFlush() + dict.writeByte(byte(v)) + if dict.availWrite() == 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanGenericReader f.stepState = stateInit f.b, f.nb = fb, fnb @@ -1231,10 +1231,10 @@ readLiteral: } // No check on length; encoding can be prescient. - if dist > uint32(f.dict.histSize()) { + if dist > uint32(dict.histSize()) { f.b, f.nb = fb, fnb if debugDecode { - fmt.Println("dist > f.dict.histSize():", dist, f.dict.histSize()) + fmt.Println("dist > dict.histSize():", dist, dict.histSize()) } f.err = CorruptInputError(f.roffset) return @@ -1247,14 +1247,14 @@ readLiteral: copyHistory: // Perform a backwards copy according to RFC section 3.2.3. { - cnt := f.dict.tryWriteCopy(f.copyDist, f.copyLen) + cnt := dict.tryWriteCopy(f.copyDist, f.copyLen) if cnt == 0 { - cnt = f.dict.writeCopy(f.copyDist, f.copyLen) + cnt = dict.writeCopy(f.copyDist, f.copyLen) } f.copyLen -= cnt - if f.dict.availWrite() == 0 || f.copyLen > 0 { - f.toRead = f.dict.readFlush() + if dict.availWrite() == 0 || f.copyLen > 0 { + f.toRead = dict.readFlush() f.step = (*decompressor).huffmanGenericReader // We need to continue this work f.stepState = stateDict f.b, f.nb = fb, fnb diff --git a/vendor/github.com/klauspost/compress/huff0/autogen.go b/vendor/github.com/klauspost/compress/huff0/autogen.go deleted file mode 100644 index ff2c69d60..000000000 --- a/vendor/github.com/klauspost/compress/huff0/autogen.go +++ /dev/null @@ -1,5 +0,0 @@ -package huff0 - -//go:generate go run generate.go -//go:generate asmfmt -w decompress_amd64.s -//go:generate asmfmt -w decompress_8b_amd64.s diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s b/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s deleted file mode 100644 index 0d6cb1a96..000000000 --- a/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s +++ /dev/null @@ -1,488 +0,0 @@ -// +build !appengine -// +build gc -// +build !noasm - -#include "textflag.h" -#include "funcdata.h" -#include "go_asm.h" - -#define bufoff 256 // see decompress.go, we're using [4][256]byte table - -// func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted, -// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool) -TEXT ·decompress4x_8b_loop_x86(SB), NOSPLIT, $8 -#define off R8 -#define buffer DI -#define table SI - -#define br_bits_read R9 -#define br_value R10 -#define br_offset R11 -#define peek_bits R12 -#define exhausted DX - -#define br0 R13 -#define br1 R14 -#define br2 R15 -#define br3 BP - - MOVQ BP, 0(SP) - - XORQ exhausted, exhausted // exhausted = false - XORQ off, off // off = 0 - - MOVBQZX peekBits+32(FP), peek_bits - MOVQ buf+40(FP), buffer - MOVQ tbl+48(FP), table - - MOVQ pbr0+0(FP), br0 - MOVQ pbr1+8(FP), br1 - MOVQ pbr2+16(FP), br2 - MOVQ pbr3+24(FP), br3 - -main_loop: - - // const stream = 0 - // br0.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br0), br_bits_read - MOVQ bitReaderShifted_value(br0), br_value - MOVQ bitReaderShifted_off(br0), br_offset - - // if b.bitsRead >= 32 { - CMPQ br_bits_read, $32 - JB skip_fill0 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br0), AX - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVQ br_bits_read, CX - SHLQ CL, AX - ORQ AX, br_value - - // exhausted = exhausted || (br0.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH - - // } -skip_fill0: - - // val0 := br0.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br0.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val1 := br0.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br0.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 0(buffer)(off*1) - - // SECOND PART: - // val2 := br0.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v2 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br0.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val3 := br0.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v3 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br0.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off+2] = uint8(v2.entry >> 8) - // buf[stream][off+3] = uint8(v3.entry >> 8) - MOVW BX, 0+2(buffer)(off*1) - - // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br0) - MOVQ br_value, bitReaderShifted_value(br0) - MOVQ br_offset, bitReaderShifted_off(br0) - - // const stream = 1 - // br1.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br1), br_bits_read - MOVQ bitReaderShifted_value(br1), br_value - MOVQ bitReaderShifted_off(br1), br_offset - - // if b.bitsRead >= 32 { - CMPQ br_bits_read, $32 - JB skip_fill1 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br1), AX - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVQ br_bits_read, CX - SHLQ CL, AX - ORQ AX, br_value - - // exhausted = exhausted || (br1.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH - - // } -skip_fill1: - - // val0 := br1.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br1.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val1 := br1.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br1.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 256(buffer)(off*1) - - // SECOND PART: - // val2 := br1.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v2 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br1.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val3 := br1.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v3 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br1.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off+2] = uint8(v2.entry >> 8) - // buf[stream][off+3] = uint8(v3.entry >> 8) - MOVW BX, 256+2(buffer)(off*1) - - // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br1) - MOVQ br_value, bitReaderShifted_value(br1) - MOVQ br_offset, bitReaderShifted_off(br1) - - // const stream = 2 - // br2.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br2), br_bits_read - MOVQ bitReaderShifted_value(br2), br_value - MOVQ bitReaderShifted_off(br2), br_offset - - // if b.bitsRead >= 32 { - CMPQ br_bits_read, $32 - JB skip_fill2 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br2), AX - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVQ br_bits_read, CX - SHLQ CL, AX - ORQ AX, br_value - - // exhausted = exhausted || (br2.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH - - // } -skip_fill2: - - // val0 := br2.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br2.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val1 := br2.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br2.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 512(buffer)(off*1) - - // SECOND PART: - // val2 := br2.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v2 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br2.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val3 := br2.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v3 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br2.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off+2] = uint8(v2.entry >> 8) - // buf[stream][off+3] = uint8(v3.entry >> 8) - MOVW BX, 512+2(buffer)(off*1) - - // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br2) - MOVQ br_value, bitReaderShifted_value(br2) - MOVQ br_offset, bitReaderShifted_off(br2) - - // const stream = 3 - // br3.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br3), br_bits_read - MOVQ bitReaderShifted_value(br3), br_value - MOVQ bitReaderShifted_off(br3), br_offset - - // if b.bitsRead >= 32 { - CMPQ br_bits_read, $32 - JB skip_fill3 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br3), AX - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVQ br_bits_read, CX - SHLQ CL, AX - ORQ AX, br_value - - // exhausted = exhausted || (br3.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH - - // } -skip_fill3: - - // val0 := br3.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br3.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val1 := br3.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br3.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 768(buffer)(off*1) - - // SECOND PART: - // val2 := br3.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v2 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br3.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val3 := br3.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v3 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br3.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // these two writes get coalesced - // buf[stream][off+2] = uint8(v2.entry >> 8) - // buf[stream][off+3] = uint8(v3.entry >> 8) - MOVW BX, 768+2(buffer)(off*1) - - // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br3) - MOVQ br_value, bitReaderShifted_value(br3) - MOVQ br_offset, bitReaderShifted_off(br3) - - ADDQ $4, off // off += 2 - - TESTB DH, DH // any br[i].ofs < 4? - JNZ end - - CMPQ off, $bufoff - JL main_loop - -end: - MOVQ 0(SP), BP - - MOVB off, ret+56(FP) - RET - -#undef off -#undef buffer -#undef table - -#undef br_bits_read -#undef br_value -#undef br_offset -#undef peek_bits -#undef exhausted - -#undef br0 -#undef br1 -#undef br2 -#undef br3 diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s.in b/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s.in deleted file mode 100644 index 6d477a2c1..000000000 --- a/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s.in +++ /dev/null @@ -1,197 +0,0 @@ -// +build !appengine -// +build gc -// +build !noasm - -#include "textflag.h" -#include "funcdata.h" -#include "go_asm.h" - - -#define bufoff 256 // see decompress.go, we're using [4][256]byte table - -//func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted, -// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool) -TEXT ·decompress4x_8b_loop_x86(SB), NOSPLIT, $8 -#define off R8 -#define buffer DI -#define table SI - -#define br_bits_read R9 -#define br_value R10 -#define br_offset R11 -#define peek_bits R12 -#define exhausted DX - -#define br0 R13 -#define br1 R14 -#define br2 R15 -#define br3 BP - - MOVQ BP, 0(SP) - - XORQ exhausted, exhausted // exhausted = false - XORQ off, off // off = 0 - - MOVBQZX peekBits+32(FP), peek_bits - MOVQ buf+40(FP), buffer - MOVQ tbl+48(FP), table - - MOVQ pbr0+0(FP), br0 - MOVQ pbr1+8(FP), br1 - MOVQ pbr2+16(FP), br2 - MOVQ pbr3+24(FP), br3 - -main_loop: -{{ define "decode_2_values_x86" }} - // const stream = {{ var "id" }} - // br{{ var "id"}}.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br{{ var "id" }}), br_bits_read - MOVQ bitReaderShifted_value(br{{ var "id" }}), br_value - MOVQ bitReaderShifted_off(br{{ var "id" }}), br_offset - - // if b.bitsRead >= 32 { - CMPQ br_bits_read, $32 - JB skip_fill{{ var "id" }} - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br{{ var "id" }}), AX - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - - // b.value |= uint64(low) << (b.bitsRead & 63) - MOVQ br_bits_read, CX - SHLQ CL, AX - ORQ AX, br_value - - // exhausted = exhausted || (br{{ var "id"}}.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH - // } -skip_fill{{ var "id" }}: - - // val0 := br{{ var "id"}}.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br{{ var "id"}}.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val1 := br{{ var "id"}}.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br{{ var "id"}}.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - - // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, {{ var "bufofs" }}(buffer)(off*1) - - // SECOND PART: - // val2 := br{{ var "id"}}.peekTopBits(peekBits) - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v2 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br{{ var "id"}}.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - // val3 := br{{ var "id"}}.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - - // v3 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br{{ var "id"}}.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - MOVBQZX AL, CX - SHLQ CX, br_value // value <<= n - ADDQ CX, br_bits_read // bits_read += n - - - // these two writes get coalesced - // buf[stream][off+2] = uint8(v2.entry >> 8) - // buf[stream][off+3] = uint8(v3.entry >> 8) - MOVW BX, {{ var "bufofs" }}+2(buffer)(off*1) - - // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br{{ var "id" }}) - MOVQ br_value, bitReaderShifted_value(br{{ var "id" }}) - MOVQ br_offset, bitReaderShifted_off(br{{ var "id" }}) -{{ end }} - - {{ set "id" "0" }} - {{ set "ofs" "0" }} - {{ set "bufofs" "0" }} {{/* id * bufoff */}} - {{ template "decode_2_values_x86" . }} - - {{ set "id" "1" }} - {{ set "ofs" "8" }} - {{ set "bufofs" "256" }} - {{ template "decode_2_values_x86" . }} - - {{ set "id" "2" }} - {{ set "ofs" "16" }} - {{ set "bufofs" "512" }} - {{ template "decode_2_values_x86" . }} - - {{ set "id" "3" }} - {{ set "ofs" "24" }} - {{ set "bufofs" "768" }} - {{ template "decode_2_values_x86" . }} - - ADDQ $4, off // off += 2 - - TESTB DH, DH // any br[i].ofs < 4? - JNZ end - - CMPQ off, $bufoff - JL main_loop -end: - MOVQ 0(SP), BP - - MOVB off, ret+56(FP) - RET -#undef off -#undef buffer -#undef table - -#undef br_bits_read -#undef br_value -#undef br_offset -#undef peek_bits -#undef exhausted - -#undef br0 -#undef br1 -#undef br2 -#undef br3 diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go index ce8e93bcd..3415e5da2 100644 --- a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go +++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go @@ -13,19 +13,30 @@ import ( // decompress4x_main_loop_x86 is an x86 assembler implementation // of Decompress4X when tablelog > 8. //go:noescape -func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted, - peekBits uint8, buf *byte, tbl *dEntrySingle) uint8 +func decompress4x_main_loop_amd64(ctx *decompress4xContext) // decompress4x_8b_loop_x86 is an x86 assembler implementation // of Decompress4X when tablelog <= 8 which decodes 4 entries // per loop. //go:noescape -func decompress4x_8b_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted, - peekBits uint8, buf *byte, tbl *dEntrySingle) uint8 +func decompress4x_8b_main_loop_amd64(ctx *decompress4xContext) // fallback8BitSize is the size where using Go version is faster. const fallback8BitSize = 800 +type decompress4xContext struct { + pbr0 *bitReaderShifted + pbr1 *bitReaderShifted + pbr2 *bitReaderShifted + pbr3 *bitReaderShifted + peekBits uint8 + out *byte + dstEvery int + tbl *dEntrySingle + decoded int + limit *byte +} + // Decompress4X will decompress a 4X encoded stream. // The length of the supplied input must match the end of a block exactly. // The *capacity* of the dst slice must match the destination size of @@ -42,6 +53,7 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { if cap(dst) < fallback8BitSize && use8BitTables { return d.decompress4X8bit(dst, src) } + var br [4]bitReaderShifted // Decode "jump table" start := 6 @@ -71,70 +83,28 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { const tlMask = tlSize - 1 single := d.dt.single[:tlSize] - // Use temp table to avoid bound checks/append penalty. - buf := d.buffer() - var off uint8 var decoded int - const debug = false - - // see: bitReaderShifted.peekBitsFast() - peekBits := uint8((64 - d.actualTableLog) & 63) - - // Decode 2 values from each decoder/loop. - const bufoff = 256 - for { - if br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4 { - break + if len(out) > 4*4 && !(br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4) { + ctx := decompress4xContext{ + pbr0: &br[0], + pbr1: &br[1], + pbr2: &br[2], + pbr3: &br[3], + peekBits: uint8((64 - d.actualTableLog) & 63), // see: bitReaderShifted.peekBitsFast() + out: &out[0], + dstEvery: dstEvery, + tbl: &single[0], + limit: &out[dstEvery-4], // Always stop decoding when first buffer gets here to avoid writing OOB on last. } - if use8BitTables { - off = decompress4x_8b_loop_x86(&br[0], &br[1], &br[2], &br[3], peekBits, &buf[0][0], &single[0]) + decompress4x_8b_main_loop_amd64(&ctx) } else { - off = decompress4x_main_loop_x86(&br[0], &br[1], &br[2], &br[3], peekBits, &buf[0][0], &single[0]) - } - if debug { - fmt.Print("DEBUG: ") - fmt.Printf("off=%d,", off) - for i := 0; i < 4; i++ { - fmt.Printf(" br[%d]={bitsRead=%d, value=%x, off=%d}", - i, br[i].bitsRead, br[i].value, br[i].off) - } - fmt.Println("") + decompress4x_main_loop_amd64(&ctx) } - if off != 0 { - break - } - - if bufoff > dstEvery { - d.bufs.Put(buf) - return nil, errors.New("corruption detected: stream overrun 1") - } - copy(out, buf[0][:]) - copy(out[dstEvery:], buf[1][:]) - copy(out[dstEvery*2:], buf[2][:]) - copy(out[dstEvery*3:], buf[3][:]) - out = out[bufoff:] - decoded += bufoff * 4 - // There must at least be 3 buffers left. - if len(out) < dstEvery*3 { - d.bufs.Put(buf) - return nil, errors.New("corruption detected: stream overrun 2") - } - } - if off > 0 { - ioff := int(off) - if len(out) < dstEvery*3+ioff { - d.bufs.Put(buf) - return nil, errors.New("corruption detected: stream overrun 3") - } - copy(out, buf[0][:off]) - copy(out[dstEvery:], buf[1][:off]) - copy(out[dstEvery*2:], buf[2][:off]) - copy(out[dstEvery*3:], buf[3][:off]) - decoded += int(off) * 4 - out = out[off:] + decoded = ctx.decoded + out = out[decoded/4:] } // Decode remaining. @@ -150,7 +120,6 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { for bitsLeft > 0 { br.fill() if offset >= endsAt { - d.bufs.Put(buf) return nil, errors.New("corruption detected: stream overrun 4") } @@ -164,7 +133,6 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { offset++ } if offset != endsAt { - d.bufs.Put(buf) return nil, fmt.Errorf("corruption detected: short output block %d, end %d != %d", i, offset, endsAt) } decoded += offset - dstEvery*i @@ -173,7 +141,6 @@ func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) { return nil, err } } - d.bufs.Put(buf) if dstSize != decoded { return nil, errors.New("corruption detected: short output block") } diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s index 2edad3ea5..06287f568 100644 --- a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s +++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s @@ -1,506 +1,662 @@ -// +build !appengine -// +build gc -// +build !noasm +// Code generated by command: go run gen.go -out ../decompress_amd64.s -pkg=huff0. DO NOT EDIT. -#include "textflag.h" -#include "funcdata.h" -#include "go_asm.h" +//go:build amd64 && !appengine && !noasm && gc +// +build amd64,!appengine,!noasm,gc -#ifdef GOAMD64_v4 -#ifndef GOAMD64_v3 -#define GOAMD64_v3 -#endif -#endif +// func decompress4x_main_loop_amd64(ctx *decompress4xContext) +TEXT ·decompress4x_main_loop_amd64(SB), $8-8 + XORQ DX, DX -#define bufoff 256 // see decompress.go, we're using [4][256]byte table - -// func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted, -// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool) -TEXT ·decompress4x_main_loop_x86(SB), NOSPLIT, $8 -#define off R8 -#define buffer DI -#define table SI - -#define br_bits_read R9 -#define br_value R10 -#define br_offset R11 -#define peek_bits R12 -#define exhausted DX - -#define br0 R13 -#define br1 R14 -#define br2 R15 -#define br3 BP - - MOVQ BP, 0(SP) - - XORQ exhausted, exhausted // exhausted = false - XORQ off, off // off = 0 - - MOVBQZX peekBits+32(FP), peek_bits - MOVQ buf+40(FP), buffer - MOVQ tbl+48(FP), table - - MOVQ pbr0+0(FP), br0 - MOVQ pbr1+8(FP), br1 - MOVQ pbr2+16(FP), br2 - MOVQ pbr3+24(FP), br3 + // Preload values + MOVQ ctx+0(FP), AX + MOVBQZX 32(AX), SI + MOVQ 40(AX), DI + MOVQ DI, BX + MOVQ 72(AX), CX + MOVQ CX, (SP) + MOVQ 48(AX), R8 + MOVQ 56(AX), R9 + MOVQ (AX), R10 + MOVQ 8(AX), R11 + MOVQ 16(AX), R12 + MOVQ 24(AX), R13 + // Main loop main_loop: + MOVQ BX, DI + CMPQ DI, (SP) + SETGE DL - // const stream = 0 - // br0.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br0), br_bits_read - MOVQ bitReaderShifted_value(br0), br_value - MOVQ bitReaderShifted_off(br0), br_offset - - // We must have at least 2 * max tablelog left - CMPQ br_bits_read, $64-22 - JBE skip_fill0 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br0), AX + // br0.fillFast32() + MOVQ 32(R10), R14 + MOVBQZX 40(R10), R15 + CMPQ R15, $0x20 + JBE skip_fill0 + MOVQ 24(R10), AX + SUBQ $0x20, R15 + SUBQ $0x04, AX + MOVQ (R10), BP // b.value |= uint64(low) << (b.bitsRead & 63) -#ifdef GOAMD64_v3 - SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63) - -#else - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - MOVQ br_bits_read, CX - SHLQ CL, AX - -#endif - - ORQ AX, br_value + MOVL (AX)(BP*1), BP + MOVQ R15, CX + SHLQ CL, BP + MOVQ AX, 24(R10) + ORQ BP, R14 // exhausted = exhausted || (br0.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH + CMPQ AX, $0x04 + SETLT AL + ORB AL, DL - // } skip_fill0: - // val0 := br0.peekTopBits(peekBits) -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ R14, BP + MOVQ SI, CX + SHRQ CL, BP // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 + MOVW (R9)(BP*2), CX - // br0.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) + // br0.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R14 + ADDB CL, R15 -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n - -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else // val1 := br0.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ SI, CX + MOVQ R14, BP + SHRQ CL, BP // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 + MOVW (R9)(BP*2), CX // br0.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n + MOVB CH, AH + SHLQ CL, R14 + ADDB CL, R15 // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 0(buffer)(off*1) + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + MOVW AX, (DI) // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br0) - MOVQ br_value, bitReaderShifted_value(br0) - MOVQ br_offset, bitReaderShifted_off(br0) + MOVQ R14, 32(R10) + MOVB R15, 40(R10) + ADDQ R8, DI - // const stream = 1 - // br1.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br1), br_bits_read - MOVQ bitReaderShifted_value(br1), br_value - MOVQ bitReaderShifted_off(br1), br_offset - - // We must have at least 2 * max tablelog left - CMPQ br_bits_read, $64-22 - JBE skip_fill1 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br1), AX + // br1.fillFast32() + MOVQ 32(R11), R14 + MOVBQZX 40(R11), R15 + CMPQ R15, $0x20 + JBE skip_fill1 + MOVQ 24(R11), AX + SUBQ $0x20, R15 + SUBQ $0x04, AX + MOVQ (R11), BP // b.value |= uint64(low) << (b.bitsRead & 63) -#ifdef GOAMD64_v3 - SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63) - -#else - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - MOVQ br_bits_read, CX - SHLQ CL, AX - -#endif - - ORQ AX, br_value + MOVL (AX)(BP*1), BP + MOVQ R15, CX + SHLQ CL, BP + MOVQ AX, 24(R11) + ORQ BP, R14 // exhausted = exhausted || (br1.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH + CMPQ AX, $0x04 + SETLT AL + ORB AL, DL - // } skip_fill1: - // val0 := br1.peekTopBits(peekBits) -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ R14, BP + MOVQ SI, CX + SHRQ CL, BP // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 + MOVW (R9)(BP*2), CX - // br1.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) + // br1.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R14 + ADDB CL, R15 -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n - -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else // val1 := br1.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ SI, CX + MOVQ R14, BP + SHRQ CL, BP // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 + MOVW (R9)(BP*2), CX // br1.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n + MOVB CH, AH + SHLQ CL, R14 + ADDB CL, R15 // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 256(buffer)(off*1) + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + MOVW AX, (DI) // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br1) - MOVQ br_value, bitReaderShifted_value(br1) - MOVQ br_offset, bitReaderShifted_off(br1) + MOVQ R14, 32(R11) + MOVB R15, 40(R11) + ADDQ R8, DI - // const stream = 2 - // br2.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br2), br_bits_read - MOVQ bitReaderShifted_value(br2), br_value - MOVQ bitReaderShifted_off(br2), br_offset - - // We must have at least 2 * max tablelog left - CMPQ br_bits_read, $64-22 - JBE skip_fill2 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br2), AX + // br2.fillFast32() + MOVQ 32(R12), R14 + MOVBQZX 40(R12), R15 + CMPQ R15, $0x20 + JBE skip_fill2 + MOVQ 24(R12), AX + SUBQ $0x20, R15 + SUBQ $0x04, AX + MOVQ (R12), BP // b.value |= uint64(low) << (b.bitsRead & 63) -#ifdef GOAMD64_v3 - SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63) - -#else - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - MOVQ br_bits_read, CX - SHLQ CL, AX - -#endif - - ORQ AX, br_value + MOVL (AX)(BP*1), BP + MOVQ R15, CX + SHLQ CL, BP + MOVQ AX, 24(R12) + ORQ BP, R14 // exhausted = exhausted || (br2.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH + CMPQ AX, $0x04 + SETLT AL + ORB AL, DL - // } skip_fill2: - // val0 := br2.peekTopBits(peekBits) -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ R14, BP + MOVQ SI, CX + SHRQ CL, BP // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 + MOVW (R9)(BP*2), CX - // br2.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) + // br2.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R14 + ADDB CL, R15 -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n - -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else // val1 := br2.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ SI, CX + MOVQ R14, BP + SHRQ CL, BP // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 + MOVW (R9)(BP*2), CX // br2.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n + MOVB CH, AH + SHLQ CL, R14 + ADDB CL, R15 // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 512(buffer)(off*1) + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + MOVW AX, (DI) // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br2) - MOVQ br_value, bitReaderShifted_value(br2) - MOVQ br_offset, bitReaderShifted_off(br2) + MOVQ R14, 32(R12) + MOVB R15, 40(R12) + ADDQ R8, DI - // const stream = 3 - // br3.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br3), br_bits_read - MOVQ bitReaderShifted_value(br3), br_value - MOVQ bitReaderShifted_off(br3), br_offset - - // We must have at least 2 * max tablelog left - CMPQ br_bits_read, $64-22 - JBE skip_fill3 - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br3), AX + // br3.fillFast32() + MOVQ 32(R13), R14 + MOVBQZX 40(R13), R15 + CMPQ R15, $0x20 + JBE skip_fill3 + MOVQ 24(R13), AX + SUBQ $0x20, R15 + SUBQ $0x04, AX + MOVQ (R13), BP // b.value |= uint64(low) << (b.bitsRead & 63) -#ifdef GOAMD64_v3 - SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63) - -#else - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - MOVQ br_bits_read, CX - SHLQ CL, AX - -#endif - - ORQ AX, br_value + MOVL (AX)(BP*1), BP + MOVQ R15, CX + SHLQ CL, BP + MOVQ AX, 24(R13) + ORQ BP, R14 // exhausted = exhausted || (br3.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH + CMPQ AX, $0x04 + SETLT AL + ORB AL, DL - // } skip_fill3: - // val0 := br3.peekTopBits(peekBits) -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ R14, BP + MOVQ SI, CX + SHRQ CL, BP // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 + MOVW (R9)(BP*2), CX - // br3.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) + // br3.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R14 + ADDB CL, R15 -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n - -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask - -#else // val1 := br3.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask - -#endif + MOVQ SI, CX + MOVQ R14, BP + SHRQ CL, BP // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 + MOVW (R9)(BP*2), CX // br3.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n - -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n - -#endif - - ADDQ CX, br_bits_read // bits_read += n + MOVB CH, AH + SHLQ CL, R14 + ADDB CL, R15 // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, 768(buffer)(off*1) + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + MOVW AX, (DI) // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br3) - MOVQ br_value, bitReaderShifted_value(br3) - MOVQ br_offset, bitReaderShifted_off(br3) - - ADDQ $2, off // off += 2 - - TESTB DH, DH // any br[i].ofs < 4? - JNZ end - - CMPQ off, $bufoff - JL main_loop - -end: - MOVQ 0(SP), BP - - MOVB off, ret+56(FP) + MOVQ R14, 32(R13) + MOVB R15, 40(R13) + ADDQ $0x02, BX + TESTB DL, DL + JZ main_loop + MOVQ ctx+0(FP), AX + MOVQ 40(AX), CX + MOVQ BX, DX + SUBQ CX, DX + SHLQ $0x02, DX + MOVQ DX, 64(AX) RET -#undef off -#undef buffer -#undef table +// func decompress4x_8b_main_loop_amd64(ctx *decompress4xContext) +TEXT ·decompress4x_8b_main_loop_amd64(SB), $16-8 + XORQ DX, DX -#undef br_bits_read -#undef br_value -#undef br_offset -#undef peek_bits -#undef exhausted + // Preload values + MOVQ ctx+0(FP), CX + MOVBQZX 32(CX), BX + MOVQ 40(CX), SI + MOVQ SI, (SP) + MOVQ 72(CX), DX + MOVQ DX, 8(SP) + MOVQ 48(CX), DI + MOVQ 56(CX), R8 + MOVQ (CX), R9 + MOVQ 8(CX), R10 + MOVQ 16(CX), R11 + MOVQ 24(CX), R12 -#undef br0 -#undef br1 -#undef br2 -#undef br3 + // Main loop +main_loop: + MOVQ (SP), SI + CMPQ SI, 8(SP) + SETGE DL + + // br1000.fillFast32() + MOVQ 32(R9), R13 + MOVBQZX 40(R9), R14 + CMPQ R14, $0x20 + JBE skip_fill1000 + MOVQ 24(R9), R15 + SUBQ $0x20, R14 + SUBQ $0x04, R15 + MOVQ (R9), BP + + // b.value |= uint64(low) << (b.bitsRead & 63) + MOVL (R15)(BP*1), BP + MOVQ R14, CX + SHLQ CL, BP + MOVQ R15, 24(R9) + ORQ BP, R13 + + // exhausted = exhausted || (br1000.off < 4) + CMPQ R15, $0x04 + SETLT AL + ORB AL, DL + +skip_fill1000: + // val0 := br0.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v0 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br0.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + + // val1 := br0.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v1 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br0.advance(uint8(v1.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // val2 := br0.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v2 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br0.advance(uint8(v2.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + + // val3 := br0.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v3 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br0.advance(uint8(v3.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // these four writes get coalesced + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + // out[id * dstEvery + 3] = uint8(v2.entry >> 8) + // out[id * dstEvery + 4] = uint8(v3.entry >> 8) + MOVL AX, (SI) + + // update the bitreader reader structure + MOVQ R13, 32(R9) + MOVB R14, 40(R9) + ADDQ DI, SI + + // br1001.fillFast32() + MOVQ 32(R10), R13 + MOVBQZX 40(R10), R14 + CMPQ R14, $0x20 + JBE skip_fill1001 + MOVQ 24(R10), R15 + SUBQ $0x20, R14 + SUBQ $0x04, R15 + MOVQ (R10), BP + + // b.value |= uint64(low) << (b.bitsRead & 63) + MOVL (R15)(BP*1), BP + MOVQ R14, CX + SHLQ CL, BP + MOVQ R15, 24(R10) + ORQ BP, R13 + + // exhausted = exhausted || (br1001.off < 4) + CMPQ R15, $0x04 + SETLT AL + ORB AL, DL + +skip_fill1001: + // val0 := br1.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v0 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br1.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + + // val1 := br1.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v1 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br1.advance(uint8(v1.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // val2 := br1.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v2 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br1.advance(uint8(v2.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + + // val3 := br1.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v3 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br1.advance(uint8(v3.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // these four writes get coalesced + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + // out[id * dstEvery + 3] = uint8(v2.entry >> 8) + // out[id * dstEvery + 4] = uint8(v3.entry >> 8) + MOVL AX, (SI) + + // update the bitreader reader structure + MOVQ R13, 32(R10) + MOVB R14, 40(R10) + ADDQ DI, SI + + // br1002.fillFast32() + MOVQ 32(R11), R13 + MOVBQZX 40(R11), R14 + CMPQ R14, $0x20 + JBE skip_fill1002 + MOVQ 24(R11), R15 + SUBQ $0x20, R14 + SUBQ $0x04, R15 + MOVQ (R11), BP + + // b.value |= uint64(low) << (b.bitsRead & 63) + MOVL (R15)(BP*1), BP + MOVQ R14, CX + SHLQ CL, BP + MOVQ R15, 24(R11) + ORQ BP, R13 + + // exhausted = exhausted || (br1002.off < 4) + CMPQ R15, $0x04 + SETLT AL + ORB AL, DL + +skip_fill1002: + // val0 := br2.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v0 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br2.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + + // val1 := br2.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v1 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br2.advance(uint8(v1.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // val2 := br2.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v2 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br2.advance(uint8(v2.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + + // val3 := br2.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v3 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br2.advance(uint8(v3.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // these four writes get coalesced + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + // out[id * dstEvery + 3] = uint8(v2.entry >> 8) + // out[id * dstEvery + 4] = uint8(v3.entry >> 8) + MOVL AX, (SI) + + // update the bitreader reader structure + MOVQ R13, 32(R11) + MOVB R14, 40(R11) + ADDQ DI, SI + + // br1003.fillFast32() + MOVQ 32(R12), R13 + MOVBQZX 40(R12), R14 + CMPQ R14, $0x20 + JBE skip_fill1003 + MOVQ 24(R12), R15 + SUBQ $0x20, R14 + SUBQ $0x04, R15 + MOVQ (R12), BP + + // b.value |= uint64(low) << (b.bitsRead & 63) + MOVL (R15)(BP*1), BP + MOVQ R14, CX + SHLQ CL, BP + MOVQ R15, 24(R12) + ORQ BP, R13 + + // exhausted = exhausted || (br1003.off < 4) + CMPQ R15, $0x04 + SETLT AL + ORB AL, DL + +skip_fill1003: + // val0 := br3.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v0 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br3.advance(uint8(v0.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + + // val1 := br3.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v1 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br3.advance(uint8(v1.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // val2 := br3.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v2 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br3.advance(uint8(v2.entry) + MOVB CH, AH + SHLQ CL, R13 + ADDB CL, R14 + + // val3 := br3.peekTopBits(peekBits) + MOVQ R13, R15 + MOVQ BX, CX + SHRQ CL, R15 + + // v3 := table[val0&mask] + MOVW (R8)(R15*2), CX + + // br3.advance(uint8(v3.entry) + MOVB CH, AL + SHLQ CL, R13 + ADDB CL, R14 + BSWAPL AX + + // these four writes get coalesced + // out[id * dstEvery + 0] = uint8(v0.entry >> 8) + // out[id * dstEvery + 1] = uint8(v1.entry >> 8) + // out[id * dstEvery + 3] = uint8(v2.entry >> 8) + // out[id * dstEvery + 4] = uint8(v3.entry >> 8) + MOVL AX, (SI) + + // update the bitreader reader structure + MOVQ R13, 32(R12) + MOVB R14, 40(R12) + ADDQ $0x04, (SP) + TESTB DL, DL + JZ main_loop + MOVQ ctx+0(FP), AX + MOVQ 40(AX), CX + MOVQ (SP), DX + SUBQ CX, DX + SHLQ $0x02, DX + MOVQ DX, 64(AX) + RET diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s.in b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s.in deleted file mode 100644 index 330d86ae1..000000000 --- a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s.in +++ /dev/null @@ -1,195 +0,0 @@ -// +build !appengine -// +build gc -// +build !noasm - -#include "textflag.h" -#include "funcdata.h" -#include "go_asm.h" - -#ifdef GOAMD64_v4 -#ifndef GOAMD64_v3 -#define GOAMD64_v3 -#endif -#endif - -#define bufoff 256 // see decompress.go, we're using [4][256]byte table - -//func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted, -// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool) -TEXT ·decompress4x_main_loop_x86(SB), NOSPLIT, $8 -#define off R8 -#define buffer DI -#define table SI - -#define br_bits_read R9 -#define br_value R10 -#define br_offset R11 -#define peek_bits R12 -#define exhausted DX - -#define br0 R13 -#define br1 R14 -#define br2 R15 -#define br3 BP - - MOVQ BP, 0(SP) - - XORQ exhausted, exhausted // exhausted = false - XORQ off, off // off = 0 - - MOVBQZX peekBits+32(FP), peek_bits - MOVQ buf+40(FP), buffer - MOVQ tbl+48(FP), table - - MOVQ pbr0+0(FP), br0 - MOVQ pbr1+8(FP), br1 - MOVQ pbr2+16(FP), br2 - MOVQ pbr3+24(FP), br3 - -main_loop: -{{ define "decode_2_values_x86" }} - // const stream = {{ var "id" }} - // br{{ var "id"}}.fillFast() - MOVBQZX bitReaderShifted_bitsRead(br{{ var "id" }}), br_bits_read - MOVQ bitReaderShifted_value(br{{ var "id" }}), br_value - MOVQ bitReaderShifted_off(br{{ var "id" }}), br_offset - - // We must have at least 2 * max tablelog left - CMPQ br_bits_read, $64-22 - JBE skip_fill{{ var "id" }} - - SUBQ $32, br_bits_read // b.bitsRead -= 32 - SUBQ $4, br_offset // b.off -= 4 - - // v := b.in[b.off-4 : b.off] - // v = v[:4] - // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24) - MOVQ bitReaderShifted_in(br{{ var "id" }}), AX - - // b.value |= uint64(low) << (b.bitsRead & 63) -#ifdef GOAMD64_v3 - SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63) -#else - MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) - MOVQ br_bits_read, CX - SHLQ CL, AX -#endif - - ORQ AX, br_value - - // exhausted = exhausted || (br{{ var "id"}}.off < 4) - CMPQ br_offset, $4 - SETLT DL - ORB DL, DH - // } -skip_fill{{ var "id" }}: - - // val0 := br{{ var "id"}}.peekTopBits(peekBits) -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask -#else - MOVQ br_value, AX - MOVQ peek_bits, CX - SHRQ CL, AX // AX = (value >> peek_bits) & mask -#endif - - // v0 := table[val0&mask] - MOVW 0(table)(AX*2), AX // AX - v0 - - // br{{ var "id"}}.advance(uint8(v0.entry)) - MOVB AH, BL // BL = uint8(v0.entry >> 8) - -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n -#endif - - ADDQ CX, br_bits_read // bits_read += n - - -#ifdef GOAMD64_v3 - SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask -#else - // val1 := br{{ var "id"}}.peekTopBits(peekBits) - MOVQ peek_bits, CX - MOVQ br_value, AX - SHRQ CL, AX // AX = (value >> peek_bits) & mask -#endif - - // v1 := table[val1&mask] - MOVW 0(table)(AX*2), AX // AX - v1 - - // br{{ var "id"}}.advance(uint8(v1.entry)) - MOVB AH, BH // BH = uint8(v1.entry >> 8) - -#ifdef GOAMD64_v3 - MOVBQZX AL, CX - SHLXQ AX, br_value, br_value // value <<= n -#else - MOVBQZX AL, CX - SHLQ CL, br_value // value <<= n -#endif - - ADDQ CX, br_bits_read // bits_read += n - - - // these two writes get coalesced - // buf[stream][off] = uint8(v0.entry >> 8) - // buf[stream][off+1] = uint8(v1.entry >> 8) - MOVW BX, {{ var "bufofs" }}(buffer)(off*1) - - // update the bitrader reader structure - MOVB br_bits_read, bitReaderShifted_bitsRead(br{{ var "id" }}) - MOVQ br_value, bitReaderShifted_value(br{{ var "id" }}) - MOVQ br_offset, bitReaderShifted_off(br{{ var "id" }}) -{{ end }} - - {{ set "id" "0" }} - {{ set "ofs" "0" }} - {{ set "bufofs" "0" }} {{/* id * bufoff */}} - {{ template "decode_2_values_x86" . }} - - {{ set "id" "1" }} - {{ set "ofs" "8" }} - {{ set "bufofs" "256" }} - {{ template "decode_2_values_x86" . }} - - {{ set "id" "2" }} - {{ set "ofs" "16" }} - {{ set "bufofs" "512" }} - {{ template "decode_2_values_x86" . }} - - {{ set "id" "3" }} - {{ set "ofs" "24" }} - {{ set "bufofs" "768" }} - {{ template "decode_2_values_x86" . }} - - ADDQ $2, off // off += 2 - - TESTB DH, DH // any br[i].ofs < 4? - JNZ end - - CMPQ off, $bufoff - JL main_loop -end: - MOVQ 0(SP), BP - - MOVB off, ret+56(FP) - RET -#undef off -#undef buffer -#undef table - -#undef br_bits_read -#undef br_value -#undef br_offset -#undef peek_bits -#undef exhausted - -#undef br0 -#undef br1 -#undef br2 -#undef br3 diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go index b04e36f2f..36119f385 100644 --- a/vendor/github.com/klauspost/compress/zstd/decoder.go +++ b/vendor/github.com/klauspost/compress/zstd/decoder.go @@ -451,7 +451,7 @@ func (d *Decoder) nextBlock(blocking bool) (ok bool) { got := d.current.crc.Sum64() var tmp [4]byte binary.LittleEndian.PutUint32(tmp[:], uint32(got)) - if !d.o.ignoreChecksum && !bytes.Equal(tmp[:], next.d.checkCRC) && !ignoreCRC { + if !d.o.ignoreChecksum && !bytes.Equal(tmp[:], next.d.checkCRC) { if debugDecoder { println("CRC Check Failed:", tmp[:], " (got) !=", next.d.checkCRC, "(on stream)") } @@ -534,10 +534,16 @@ func (d *Decoder) nextBlockSync() (ok bool) { } // Update/Check CRC - if !d.o.ignoreChecksum && d.frame.HasCheckSum { - d.frame.crc.Write(d.current.b) + if d.frame.HasCheckSum { + if !d.o.ignoreChecksum { + d.frame.crc.Write(d.current.b) + } if d.current.d.Last { - d.current.err = d.frame.checkCRC() + if !d.o.ignoreChecksum { + d.current.err = d.frame.checkCRC() + } else { + d.current.err = d.frame.consumeCRC() + } if d.current.err != nil { println("CRC error:", d.current.err) return false diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go index 4b15b2acc..3ff109cce 100644 --- a/vendor/github.com/klauspost/compress/zstd/framedec.go +++ b/vendor/github.com/klauspost/compress/zstd/framedec.go @@ -310,7 +310,7 @@ func (d *frameDec) checkCRC() error { tmp[2] = byte(got >> 16) tmp[3] = byte(got >> 24) - if !bytes.Equal(tmp[:], want) && !ignoreCRC { + if !bytes.Equal(tmp[:], want) { if debugDecoder { println("CRC Check Failed:", tmp[:], "!=", want) } diff --git a/vendor/github.com/klauspost/compress/zstd/fuzz.go b/vendor/github.com/klauspost/compress/zstd/fuzz.go deleted file mode 100644 index 7f2210e05..000000000 --- a/vendor/github.com/klauspost/compress/zstd/fuzz.go +++ /dev/null @@ -1,11 +0,0 @@ -//go:build ignorecrc -// +build ignorecrc - -// Copyright 2019+ Klaus Post. All rights reserved. -// License information can be found in the LICENSE file. -// Based on work by Yann Collet, released under BSD License. - -package zstd - -// ignoreCRC can be used for fuzz testing to ignore CRC values... -const ignoreCRC = true diff --git a/vendor/github.com/klauspost/compress/zstd/fuzz_none.go b/vendor/github.com/klauspost/compress/zstd/fuzz_none.go deleted file mode 100644 index 6811c68a8..000000000 --- a/vendor/github.com/klauspost/compress/zstd/fuzz_none.go +++ /dev/null @@ -1,11 +0,0 @@ -//go:build !ignorecrc -// +build !ignorecrc - -// Copyright 2019+ Klaus Post. All rights reserved. -// License information can be found in the LICENSE file. -// Based on work by Yann Collet, released under BSD License. - -package zstd - -// ignoreCRC can be used for fuzz testing to ignore CRC values... -const ignoreCRC = false diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s index 01cc23fa8..2585b2e98 100644 --- a/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s +++ b/vendor/github.com/klauspost/compress/zstd/seqdec_amd64.s @@ -1326,30 +1326,30 @@ copy_match: JA copy_overlapping_match // Copy non-overlapping match - XORQ R12, R12 + ADDQ R13, DI + MOVQ BX, R12 + ADDQ R13, BX copy_2: - MOVUPS (R11)(R12*1), X0 - MOVUPS X0, (BX)(R12*1) + MOVUPS (R11), X0 + MOVUPS X0, (R12) + ADDQ $0x10, R11 ADDQ $0x10, R12 - CMPQ R12, R13 - JB copy_2 - ADDQ R13, BX - ADDQ R13, DI + SUBQ $0x10, R13 + JHI copy_2 JMP handle_loop // Copy overlapping match copy_overlapping_match: - XORQ R12, R12 + ADDQ R13, DI copy_slow_3: - MOVB (R11)(R12*1), R14 - MOVB R14, (BX)(R12*1) - INCQ R12 - CMPQ R12, R13 - JB copy_slow_3 - ADDQ R13, BX - ADDQ R13, DI + MOVB (R11), R12 + MOVB R12, (BX) + INCQ R11 + INCQ BX + DECQ R13 + JNZ copy_slow_3 handle_loop: ADDQ $0x18, AX @@ -1826,30 +1826,30 @@ copy_match: JA copy_overlapping_match // Copy non-overlapping match - XORQ CX, CX + ADDQ R13, R12 + MOVQ R10, CX + ADDQ R13, R10 copy_2: - MOVUPS (AX)(CX*1), X0 - MOVUPS X0, (R10)(CX*1) + MOVUPS (AX), X0 + MOVUPS X0, (CX) + ADDQ $0x10, AX ADDQ $0x10, CX - CMPQ CX, R13 - JB copy_2 - ADDQ R13, R10 - ADDQ R13, R12 + SUBQ $0x10, R13 + JHI copy_2 JMP handle_loop // Copy overlapping match copy_overlapping_match: - XORQ CX, CX + ADDQ R13, R12 copy_slow_3: - MOVB (AX)(CX*1), R14 - MOVB R14, (R10)(CX*1) - INCQ CX - CMPQ CX, R13 - JB copy_slow_3 - ADDQ R13, R10 - ADDQ R13, R12 + MOVB (AX), CL + MOVB CL, (R10) + INCQ AX + INCQ R10 + DECQ R13 + JNZ copy_slow_3 handle_loop: MOVQ ctx+16(FP), AX @@ -2333,30 +2333,30 @@ copy_match: JA copy_overlapping_match // Copy non-overlapping match - XORQ R12, R12 + ADDQ R13, R11 + MOVQ R9, R12 + ADDQ R13, R9 copy_2: - MOVUPS (CX)(R12*1), X0 - MOVUPS X0, (R9)(R12*1) + MOVUPS (CX), X0 + MOVUPS X0, (R12) + ADDQ $0x10, CX ADDQ $0x10, R12 - CMPQ R12, R13 - JB copy_2 - ADDQ R13, R9 - ADDQ R13, R11 + SUBQ $0x10, R13 + JHI copy_2 JMP handle_loop // Copy overlapping match copy_overlapping_match: - XORQ R12, R12 + ADDQ R13, R11 copy_slow_3: - MOVB (CX)(R12*1), R14 - MOVB R14, (R9)(R12*1) - INCQ R12 - CMPQ R12, R13 - JB copy_slow_3 - ADDQ R13, R9 - ADDQ R13, R11 + MOVB (CX), R12 + MOVB R12, (R9) + INCQ CX + INCQ R9 + DECQ R13 + JNZ copy_slow_3 handle_loop: MOVQ ctx+16(FP), CX @@ -2862,6 +2862,7 @@ copy_match: JA copy_overlapping_match // Copy non-overlapping match + ADDQ R13, R12 XORQ CX, CX TESTQ $0x00000001, R13 JZ copy_2_word @@ -2900,21 +2901,19 @@ copy_2_test: CMPQ CX, R13 JB copy_2 ADDQ R13, R10 - ADDQ R13, R12 JMP handle_loop // Copy overlapping match copy_overlapping_match: - XORQ CX, CX + ADDQ R13, R12 copy_slow_3: - MOVB (AX)(CX*1), R14 - MOVB R14, (R10)(CX*1) - INCQ CX - CMPQ CX, R13 - JB copy_slow_3 - ADDQ R13, R10 - ADDQ R13, R12 + MOVB (AX), CL + MOVB CL, (R10) + INCQ AX + INCQ R10 + DECQ R13 + JNZ copy_slow_3 handle_loop: MOVQ ctx+16(FP), AX @@ -3398,6 +3397,7 @@ copy_match: JA copy_overlapping_match // Copy non-overlapping match + ADDQ R13, R11 XORQ R12, R12 TESTQ $0x00000001, R13 JZ copy_2_word @@ -3436,21 +3436,19 @@ copy_2_test: CMPQ R12, R13 JB copy_2 ADDQ R13, R9 - ADDQ R13, R11 JMP handle_loop // Copy overlapping match copy_overlapping_match: - XORQ R12, R12 + ADDQ R13, R11 copy_slow_3: - MOVB (CX)(R12*1), R14 - MOVB R14, (R9)(R12*1) - INCQ R12 - CMPQ R12, R13 - JB copy_slow_3 - ADDQ R13, R9 - ADDQ R13, R11 + MOVB (CX), R12 + MOVB R12, (R9) + INCQ CX + INCQ R9 + DECQ R13 + JNZ copy_slow_3 handle_loop: MOVQ ctx+16(FP), CX diff --git a/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go b/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go index 08195b410..4d792aa29 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/go_collector.go @@ -197,14 +197,6 @@ func goRuntimeMemStats() memStatsMetrics { ), eval: func(ms *runtime.MemStats) float64 { return float64(ms.NextGC) }, valType: GaugeValue, - }, { - desc: NewDesc( - memstatNamespace("gc_cpu_fraction"), - "The fraction of this program's available CPU time used by the GC since the program started.", - nil, nil, - ), - eval: func(ms *runtime.MemStats) float64 { return ms.GCCPUFraction }, - valType: GaugeValue, }, } } @@ -268,7 +260,6 @@ func (c *baseGoCollector) Collect(ch chan<- Metric) { quantiles[0.0] = stats.PauseQuantiles[0].Seconds() ch <- MustNewConstSummary(c.gcDesc, uint64(stats.NumGC), stats.PauseTotal.Seconds(), quantiles) ch <- MustNewConstMetric(c.gcLastTimeDesc, GaugeValue, float64(stats.LastGC.UnixNano())/1e9) - ch <- MustNewConstMetric(c.goInfoDesc, GaugeValue, 1) } @@ -278,6 +269,7 @@ func memstatNamespace(s string) string { // memStatsMetrics provide description, evaluator, runtime/metrics name, and // value type for memstat metrics. +// TODO(bwplotka): Remove with end Go 1.16 EOL and replace with runtime/metrics.Description type memStatsMetrics []struct { desc *Desc eval func(*runtime.MemStats) float64 diff --git a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go116.go b/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go116.go index 24526131e..897a6e906 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go116.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go116.go @@ -40,13 +40,28 @@ type goCollector struct { // // Deprecated: Use collectors.NewGoCollector instead. func NewGoCollector() Collector { + msMetrics := goRuntimeMemStats() + msMetrics = append(msMetrics, struct { + desc *Desc + eval func(*runtime.MemStats) float64 + valType ValueType + }{ + // This metric is omitted in Go1.17+, see https://github.com/prometheus/client_golang/issues/842#issuecomment-861812034 + desc: NewDesc( + memstatNamespace("gc_cpu_fraction"), + "The fraction of this program's available CPU time used by the GC since the program started.", + nil, nil, + ), + eval: func(ms *runtime.MemStats) float64 { return ms.GCCPUFraction }, + valType: GaugeValue, + }) return &goCollector{ base: newBaseGoCollector(), msLast: &runtime.MemStats{}, msRead: runtime.ReadMemStats, msMaxWait: time.Second, msMaxAge: 5 * time.Minute, - msMetrics: goRuntimeMemStats(), + msMetrics: msMetrics, } } diff --git a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go117.go b/vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go similarity index 59% rename from vendor/github.com/prometheus/client_golang/prometheus/go_collector_go117.go rename to vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go index d43bdcdda..a0fe95eb1 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/go_collector_go117.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/go_collector_latest.go @@ -25,11 +25,71 @@ import ( //nolint:staticcheck // Ignore SA1019. Need to keep deprecated package for compatibility. "github.com/golang/protobuf/proto" - "github.com/prometheus/client_golang/prometheus/internal" dto "github.com/prometheus/client_model/go" + + "github.com/prometheus/client_golang/prometheus/internal" ) +const ( + goGCHeapTinyAllocsObjects = "/gc/heap/tiny/allocs:objects" + goGCHeapAllocsObjects = "/gc/heap/allocs:objects" + goGCHeapFreesObjects = "/gc/heap/frees:objects" + goGCHeapAllocsBytes = "/gc/heap/allocs:bytes" + goGCHeapObjects = "/gc/heap/objects:objects" + goGCHeapGoalBytes = "/gc/heap/goal:bytes" + goMemoryClassesTotalBytes = "/memory/classes/total:bytes" + goMemoryClassesHeapObjectsBytes = "/memory/classes/heap/objects:bytes" + goMemoryClassesHeapUnusedBytes = "/memory/classes/heap/unused:bytes" + goMemoryClassesHeapReleasedBytes = "/memory/classes/heap/released:bytes" + goMemoryClassesHeapFreeBytes = "/memory/classes/heap/free:bytes" + goMemoryClassesHeapStacksBytes = "/memory/classes/heap/stacks:bytes" + goMemoryClassesOSStacksBytes = "/memory/classes/os-stacks:bytes" + goMemoryClassesMetadataMSpanInuseBytes = "/memory/classes/metadata/mspan/inuse:bytes" + goMemoryClassesMetadataMSPanFreeBytes = "/memory/classes/metadata/mspan/free:bytes" + goMemoryClassesMetadataMCacheInuseBytes = "/memory/classes/metadata/mcache/inuse:bytes" + goMemoryClassesMetadataMCacheFreeBytes = "/memory/classes/metadata/mcache/free:bytes" + goMemoryClassesProfilingBucketsBytes = "/memory/classes/profiling/buckets:bytes" + goMemoryClassesMetadataOtherBytes = "/memory/classes/metadata/other:bytes" + goMemoryClassesOtherBytes = "/memory/classes/other:bytes" +) + +// runtime/metrics names required for runtimeMemStats like logic. +var rmForMemStats = []string{goGCHeapTinyAllocsObjects, + goGCHeapAllocsObjects, + goGCHeapFreesObjects, + goGCHeapAllocsBytes, + goGCHeapObjects, + goGCHeapGoalBytes, + goMemoryClassesTotalBytes, + goMemoryClassesHeapObjectsBytes, + goMemoryClassesHeapUnusedBytes, + goMemoryClassesHeapReleasedBytes, + goMemoryClassesHeapFreeBytes, + goMemoryClassesHeapStacksBytes, + goMemoryClassesOSStacksBytes, + goMemoryClassesMetadataMSpanInuseBytes, + goMemoryClassesMetadataMSPanFreeBytes, + goMemoryClassesMetadataMCacheInuseBytes, + goMemoryClassesMetadataMCacheFreeBytes, + goMemoryClassesProfilingBucketsBytes, + goMemoryClassesMetadataOtherBytes, + goMemoryClassesOtherBytes, +} + +func bestEffortLookupRM(lookup []string) []metrics.Description { + ret := make([]metrics.Description, 0, len(lookup)) + for _, rm := range metrics.All() { + for _, m := range lookup { + if m == rm.Name { + ret = append(ret, rm) + } + } + } + return ret +} + type goCollector struct { + opt GoCollectorOptions base baseGoCollector // mu protects updates to all fields ensuring a consistent @@ -51,12 +111,46 @@ type goCollector struct { msMetrics memStatsMetrics } +const ( + // Those are not exposed due to need to move Go collector to another package in v2. + // See issue https://github.com/prometheus/client_golang/issues/1030. + goRuntimeMemStatsCollection uint32 = 1 << iota + goRuntimeMetricsCollection +) + +// GoCollectorOptions should not be used be directly by anything, except `collectors` package. +// Use it via collectors package instead. See issue +// https://github.com/prometheus/client_golang/issues/1030. +// +// Deprecated: Use collectors.WithGoCollections +type GoCollectorOptions struct { + // EnabledCollection sets what type of collections collector should expose on top of base collection. + // By default it's goMemStatsCollection | goRuntimeMetricsCollection. + EnabledCollections uint32 +} + +func (c GoCollectorOptions) isEnabled(flag uint32) bool { + return c.EnabledCollections&flag != 0 +} + +const defaultGoCollections = goRuntimeMemStatsCollection + // NewGoCollector is the obsolete version of collectors.NewGoCollector. // See there for documentation. // // Deprecated: Use collectors.NewGoCollector instead. -func NewGoCollector() Collector { - descriptions := metrics.All() +func NewGoCollector(opts ...func(o *GoCollectorOptions)) Collector { + opt := GoCollectorOptions{EnabledCollections: defaultGoCollections} + for _, o := range opts { + o(&opt) + } + + var descriptions []metrics.Description + if opt.isEnabled(goRuntimeMetricsCollection) { + descriptions = metrics.All() + } else if opt.isEnabled(goRuntimeMemStatsCollection) { + descriptions = bestEffortLookupRM(rmForMemStats) + } // Collect all histogram samples so that we can get their buckets. // The API guarantees that the buckets are always fixed for the lifetime @@ -67,7 +161,11 @@ func NewGoCollector() Collector { histograms = append(histograms, metrics.Sample{Name: d.Name}) } } - metrics.Read(histograms) + + if len(histograms) > 0 { + metrics.Read(histograms) + } + bucketsMap := make(map[string][]float64) for i := range histograms { bucketsMap[histograms[i].Name] = histograms[i].Value.Float64Histogram().Buckets @@ -83,7 +181,7 @@ func NewGoCollector() Collector { if !ok { // Just ignore this metric; we can't do anything with it here. // If a user decides to use the latest version of Go, we don't want - // to fail here. This condition is tested elsewhere. + // to fail here. This condition is tested in TestExpectedRuntimeMetrics. continue } @@ -123,12 +221,18 @@ func NewGoCollector() Collector { } metricSet = append(metricSet, m) } + + var msMetrics memStatsMetrics + if opt.isEnabled(goRuntimeMemStatsCollection) { + msMetrics = goRuntimeMemStats() + } return &goCollector{ + opt: opt, base: newBaseGoCollector(), rmSampleBuf: sampleBuf, rmSampleMap: sampleMap, rmMetrics: metricSet, - msMetrics: goRuntimeMemStats(), + msMetrics: msMetrics, } } @@ -163,40 +267,47 @@ func (c *goCollector) Collect(ch chan<- Metric) { c.mu.Lock() defer c.mu.Unlock() - // Populate runtime/metrics sample buffer. - metrics.Read(c.rmSampleBuf) + if len(c.rmSampleBuf) > 0 { + // Populate runtime/metrics sample buffer. + metrics.Read(c.rmSampleBuf) + } - // Update all our metrics from rmSampleBuf. - for i, sample := range c.rmSampleBuf { - // N.B. switch on concrete type because it's significantly more efficient - // than checking for the Counter and Gauge interface implementations. In - // this case, we control all the types here. - switch m := c.rmMetrics[i].(type) { - case *counter: - // Guard against decreases. This should never happen, but a failure - // to do so will result in a panic, which is a harsh consequence for - // a metrics collection bug. - v0, v1 := m.get(), unwrapScalarRMValue(sample.Value) - if v1 > v0 { - m.Add(unwrapScalarRMValue(sample.Value) - m.get()) + if c.opt.isEnabled(goRuntimeMetricsCollection) { + // Collect all our metrics from rmSampleBuf. + for i, sample := range c.rmSampleBuf { + // N.B. switch on concrete type because it's significantly more efficient + // than checking for the Counter and Gauge interface implementations. In + // this case, we control all the types here. + switch m := c.rmMetrics[i].(type) { + case *counter: + // Guard against decreases. This should never happen, but a failure + // to do so will result in a panic, which is a harsh consequence for + // a metrics collection bug. + v0, v1 := m.get(), unwrapScalarRMValue(sample.Value) + if v1 > v0 { + m.Add(unwrapScalarRMValue(sample.Value) - m.get()) + } + m.Collect(ch) + case *gauge: + m.Set(unwrapScalarRMValue(sample.Value)) + m.Collect(ch) + case *batchHistogram: + m.update(sample.Value.Float64Histogram(), c.exactSumFor(sample.Name)) + m.Collect(ch) + default: + panic("unexpected metric type") } - m.Collect(ch) - case *gauge: - m.Set(unwrapScalarRMValue(sample.Value)) - m.Collect(ch) - case *batchHistogram: - m.update(sample.Value.Float64Histogram(), c.exactSumFor(sample.Name)) - m.Collect(ch) - default: - panic("unexpected metric type") } } + // ms is a dummy MemStats that we populate ourselves so that we can - // populate the old metrics from it. - var ms runtime.MemStats - memStatsFromRM(&ms, c.rmSampleMap) - for _, i := range c.msMetrics { - ch <- MustNewConstMetric(i.desc, i.valType, i.eval(&ms)) + // populate the old metrics from it if goMemStatsCollection is enabled. + if c.opt.isEnabled(goRuntimeMemStatsCollection) { + var ms runtime.MemStats + memStatsFromRM(&ms, c.rmSampleMap) + for _, i := range c.msMetrics { + ch <- MustNewConstMetric(i.desc, i.valType, i.eval(&ms)) + } } } @@ -261,35 +372,30 @@ func memStatsFromRM(ms *runtime.MemStats, rm map[string]*metrics.Sample) { // while having Mallocs - Frees still represent a live object count. // Unfortunately, MemStats doesn't actually export a large allocation count, // so it's impossible to pull this number out directly. - tinyAllocs := lookupOrZero("/gc/heap/tiny/allocs:objects") - ms.Mallocs = lookupOrZero("/gc/heap/allocs:objects") + tinyAllocs - ms.Frees = lookupOrZero("/gc/heap/frees:objects") + tinyAllocs + tinyAllocs := lookupOrZero(goGCHeapTinyAllocsObjects) + ms.Mallocs = lookupOrZero(goGCHeapAllocsObjects) + tinyAllocs + ms.Frees = lookupOrZero(goGCHeapFreesObjects) + tinyAllocs - ms.TotalAlloc = lookupOrZero("/gc/heap/allocs:bytes") - ms.Sys = lookupOrZero("/memory/classes/total:bytes") + ms.TotalAlloc = lookupOrZero(goGCHeapAllocsBytes) + ms.Sys = lookupOrZero(goMemoryClassesTotalBytes) ms.Lookups = 0 // Already always zero. - ms.HeapAlloc = lookupOrZero("/memory/classes/heap/objects:bytes") + ms.HeapAlloc = lookupOrZero(goMemoryClassesHeapObjectsBytes) ms.Alloc = ms.HeapAlloc - ms.HeapInuse = ms.HeapAlloc + lookupOrZero("/memory/classes/heap/unused:bytes") - ms.HeapReleased = lookupOrZero("/memory/classes/heap/released:bytes") - ms.HeapIdle = ms.HeapReleased + lookupOrZero("/memory/classes/heap/free:bytes") + ms.HeapInuse = ms.HeapAlloc + lookupOrZero(goMemoryClassesHeapUnusedBytes) + ms.HeapReleased = lookupOrZero(goMemoryClassesHeapReleasedBytes) + ms.HeapIdle = ms.HeapReleased + lookupOrZero(goMemoryClassesHeapFreeBytes) ms.HeapSys = ms.HeapInuse + ms.HeapIdle - ms.HeapObjects = lookupOrZero("/gc/heap/objects:objects") - ms.StackInuse = lookupOrZero("/memory/classes/heap/stacks:bytes") - ms.StackSys = ms.StackInuse + lookupOrZero("/memory/classes/os-stacks:bytes") - ms.MSpanInuse = lookupOrZero("/memory/classes/metadata/mspan/inuse:bytes") - ms.MSpanSys = ms.MSpanInuse + lookupOrZero("/memory/classes/metadata/mspan/free:bytes") - ms.MCacheInuse = lookupOrZero("/memory/classes/metadata/mcache/inuse:bytes") - ms.MCacheSys = ms.MCacheInuse + lookupOrZero("/memory/classes/metadata/mcache/free:bytes") - ms.BuckHashSys = lookupOrZero("/memory/classes/profiling/buckets:bytes") - ms.GCSys = lookupOrZero("/memory/classes/metadata/other:bytes") - ms.OtherSys = lookupOrZero("/memory/classes/other:bytes") - ms.NextGC = lookupOrZero("/gc/heap/goal:bytes") - - // N.B. LastGC is omitted because runtime.GCStats already has this. - // See https://github.com/prometheus/client_golang/issues/842#issuecomment-861812034 - // for more details. - ms.LastGC = 0 + ms.HeapObjects = lookupOrZero(goGCHeapObjects) + ms.StackInuse = lookupOrZero(goMemoryClassesHeapStacksBytes) + ms.StackSys = ms.StackInuse + lookupOrZero(goMemoryClassesOSStacksBytes) + ms.MSpanInuse = lookupOrZero(goMemoryClassesMetadataMSpanInuseBytes) + ms.MSpanSys = ms.MSpanInuse + lookupOrZero(goMemoryClassesMetadataMSPanFreeBytes) + ms.MCacheInuse = lookupOrZero(goMemoryClassesMetadataMCacheInuseBytes) + ms.MCacheSys = ms.MCacheInuse + lookupOrZero(goMemoryClassesMetadataMCacheFreeBytes) + ms.BuckHashSys = lookupOrZero(goMemoryClassesProfilingBucketsBytes) + ms.GCSys = lookupOrZero(goMemoryClassesMetadataOtherBytes) + ms.OtherSys = lookupOrZero(goMemoryClassesOtherBytes) + ms.NextGC = lookupOrZero(goGCHeapGoalBytes) // N.B. GCCPUFraction is intentionally omitted. This metric is not useful, // and often misleading due to the fact that it's an average over the lifetime @@ -324,6 +430,11 @@ type batchHistogram struct { // buckets must always be from the runtime/metrics package, following // the same conventions. func newBatchHistogram(desc *Desc, buckets []float64, hasSum bool) *batchHistogram { + // We need to remove -Inf values. runtime/metrics keeps them around. + // But -Inf bucket should not be allowed for prometheus histograms. + if buckets[0] == math.Inf(-1) { + buckets = buckets[1:] + } h := &batchHistogram{ desc: desc, buckets: buckets, @@ -382,8 +493,10 @@ func (h *batchHistogram) Write(out *dto.Metric) error { for i, count := range h.counts { totalCount += count if !h.hasSum { - // N.B. This computed sum is an underestimate. - sum += h.buckets[i] * float64(count) + if count != 0 { + // N.B. This computed sum is an underestimate. + sum += h.buckets[i] * float64(count) + } } // Skip the +Inf bucket, but only for the bucket list. diff --git a/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go b/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go index fe0a52180..6cbe063a2 100644 --- a/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go +++ b/vendor/github.com/prometheus/client_golang/prometheus/internal/go_runtime_metrics.go @@ -62,7 +62,7 @@ func RuntimeMetricsToProm(d *metrics.Description) (string, string, string, bool) // other data. name = strings.ReplaceAll(name, "-", "_") name = name + "_" + unit - if d.Cumulative { + if d.Cumulative && d.Kind != metrics.KindFloat64Histogram { name = name + "_total" } @@ -84,12 +84,12 @@ func RuntimeMetricsToProm(d *metrics.Description) (string, string, string, bool) func RuntimeMetricsBucketsForUnit(buckets []float64, unit string) []float64 { switch unit { case "bytes": - // Rebucket as powers of 2. - return rebucketExp(buckets, 2) + // Re-bucket as powers of 2. + return reBucketExp(buckets, 2) case "seconds": - // Rebucket as powers of 10 and then merge all buckets greater + // Re-bucket as powers of 10 and then merge all buckets greater // than 1 second into the +Inf bucket. - b := rebucketExp(buckets, 10) + b := reBucketExp(buckets, 10) for i := range b { if b[i] <= 1 { continue @@ -103,11 +103,11 @@ func RuntimeMetricsBucketsForUnit(buckets []float64, unit string) []float64 { return buckets } -// rebucketExp takes a list of bucket boundaries (lower bound inclusive) and +// reBucketExp takes a list of bucket boundaries (lower bound inclusive) and // downsamples the buckets to those a multiple of base apart. The end result // is a roughly exponential (in many cases, perfectly exponential) bucketing // scheme. -func rebucketExp(buckets []float64, base float64) []float64 { +func reBucketExp(buckets []float64, base float64) []float64 { bucket := buckets[0] var newBuckets []float64 // We may see a -Inf here, in which case, add it and skip it diff --git a/vendor/github.com/urfave/cli/v2/.gitignore b/vendor/github.com/urfave/cli/v2/.gitignore index e0c50aba4..c04fcc538 100644 --- a/vendor/github.com/urfave/cli/v2/.gitignore +++ b/vendor/github.com/urfave/cli/v2/.gitignore @@ -1,10 +1,10 @@ *.coverprofile *.orig -node_modules/ vendor .idea internal/*/built-example coverage.txt /.local/ +/site/ *.exe diff --git a/vendor/github.com/urfave/cli/v2/Makefile b/vendor/github.com/urfave/cli/v2/Makefile new file mode 100644 index 000000000..3b0e5e0bb --- /dev/null +++ b/vendor/github.com/urfave/cli/v2/Makefile @@ -0,0 +1,40 @@ +# NOTE: this Makefile is meant to provide a simplified entry point for humans to +# run all of the critical steps to verify one's changes are harmonious in +# nature. Keeping target bodies to one line each and abstaining from make magic +# are very important so that maintainers and contributors can focus their +# attention on files that are primarily Go. + +.PHONY: all +all: generate vet tag-test test check-binary-size tag-check-binary-size gfmrun v2diff + +# NOTE: this is a special catch-all rule to run any of the commands +# defined in internal/build/build.go with optional arguments passed +# via GFLAGS (global flags) and FLAGS (command-specific flags), e.g.: +# +# $ make test GFLAGS='--packages cli' +%: + go run internal/build/build.go $(GFLAGS) $* $(FLAGS) + +.PHONY: tag-test +tag-test: + go run internal/build/build.go -tags urfave_cli_no_docs test + +.PHONY: tag-check-binary-size +tag-check-binary-size: + go run internal/build/build.go -tags urfave_cli_no_docs check-binary-size + +.PHONY: gfmrun +gfmrun: + go run internal/build/build.go gfmrun docs/v2/manual.md + +.PHONY: docs +docs: + mkdocs build + +.PHONY: docs-deps +docs-deps: + pip install -r mkdocs-requirements.txt + +.PHONY: serve-docs +serve-docs: + mkdocs serve diff --git a/vendor/github.com/urfave/cli/v2/README.md b/vendor/github.com/urfave/cli/v2/README.md index 6e4d698c2..beb5963e2 100644 --- a/vendor/github.com/urfave/cli/v2/README.md +++ b/vendor/github.com/urfave/cli/v2/README.md @@ -63,7 +63,7 @@ You can use the following build tags: When set, this removes `ToMarkdown` and `ToMan` methods, so your application won't be able to call those. This reduces the resulting binary size by about -300-400 KB (measured using Go 1.18.1 on Linux/amd64), due to less dependencies. +300-400 KB (measured using Go 1.18.1 on Linux/amd64), due to fewer dependencies. ### GOPATH diff --git a/vendor/github.com/urfave/cli/v2/app.go b/vendor/github.com/urfave/cli/v2/app.go index 52ef1b0fa..463437a58 100644 --- a/vendor/github.com/urfave/cli/v2/app.go +++ b/vendor/github.com/urfave/cli/v2/app.go @@ -94,6 +94,8 @@ type App struct { // single-character bool arguments into one // i.e. foobar -o -v -> foobar -ov UseShortOptionHandling bool + // Enable suggestions for commands and flags + Suggest bool didSetup bool } @@ -264,6 +266,11 @@ func (a *App) RunContext(ctx context.Context, arguments []string) (err error) { return err } _, _ = fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error()) + if a.Suggest { + if suggestion, err := a.suggestFlagFromError(err, ""); err == nil { + fmt.Fprintf(a.Writer, suggestion) + } + } _ = ShowAppHelp(cCtx) return err } @@ -383,6 +390,11 @@ func (a *App) RunAsSubcommand(ctx *Context) (err error) { return err } _, _ = fmt.Fprintf(a.Writer, "%s %s\n\n", "Incorrect Usage.", err.Error()) + if a.Suggest { + if suggestion, err := a.suggestFlagFromError(err, cCtx.Command.Name); err == nil { + fmt.Fprintf(a.Writer, suggestion) + } + } _ = ShowSubcommandHelp(cCtx) return err } diff --git a/vendor/github.com/urfave/cli/v2/cli.go b/vendor/github.com/urfave/cli/v2/cli.go index 62a5bc22d..2a11c5ad4 100644 --- a/vendor/github.com/urfave/cli/v2/cli.go +++ b/vendor/github.com/urfave/cli/v2/cli.go @@ -20,4 +20,4 @@ // } package cli -//go:generate go run flag-gen/main.go flag-gen/assets_vfsdata.go +//go:generate go run internal/genflags/cmd/genflags/main.go diff --git a/vendor/github.com/urfave/cli/v2/command.go b/vendor/github.com/urfave/cli/v2/command.go index ba0169bb1..3b9b83703 100644 --- a/vendor/github.com/urfave/cli/v2/command.go +++ b/vendor/github.com/urfave/cli/v2/command.go @@ -119,6 +119,11 @@ func (c *Command) Run(ctx *Context) (err error) { } _, _ = fmt.Fprintln(cCtx.App.Writer, "Incorrect Usage:", err.Error()) _, _ = fmt.Fprintln(cCtx.App.Writer) + if ctx.App.Suggest { + if suggestion, err := ctx.App.suggestFlagFromError(err, c.Name); err == nil { + fmt.Fprintf(cCtx.App.Writer, suggestion) + } + } _ = ShowCommandHelp(cCtx, c.Name) return err } @@ -249,6 +254,7 @@ func (c *Command) startApp(ctx *Context) error { app.ErrWriter = ctx.App.ErrWriter app.ExitErrHandler = ctx.App.ExitErrHandler app.UseShortOptionHandling = ctx.App.UseShortOptionHandling + app.Suggest = ctx.App.Suggest app.categories = newCommandCategories() for _, command := range c.Subcommands { diff --git a/vendor/github.com/urfave/cli/v2/flag-spec.yaml b/vendor/github.com/urfave/cli/v2/flag-spec.yaml new file mode 100644 index 000000000..d85fa30bd --- /dev/null +++ b/vendor/github.com/urfave/cli/v2/flag-spec.yaml @@ -0,0 +1,50 @@ +# NOTE: this file is used by the tool defined in +# ./internal/genflags/cmd/genflags/main.go which uses the +# `genflags.Spec` type that maps to this file structure. + +flag_types: + bool: {} + float64: {} + int64: {} + int: {} + time.Duration: {} + uint64: {} + uint: {} + + string: + struct_fields: + - { name: TakesFile, type: bool } + Generic: + struct_fields: + - { name: TakesFile, type: bool } + Path: + struct_fields: + - { name: TakesFile, type: bool } + + Float64Slice: + value_pointer: true + skip_interfaces: + - fmt.Stringer + Int64Slice: + value_pointer: true + skip_interfaces: + - fmt.Stringer + IntSlice: + value_pointer: true + skip_interfaces: + - fmt.Stringer + StringSlice: + value_pointer: true + skip_interfaces: + - fmt.Stringer + struct_fields: + - { name: TakesFile, type: bool } + Timestamp: + value_pointer: true + struct_fields: + - { name: Layout, type: string } + + # TODO: enable UintSlice + # UintSlice: {} + # TODO: enable Uint64Slice once #1334 lands + # Uint64Slice: {} diff --git a/vendor/github.com/urfave/cli/v2/flag.go b/vendor/github.com/urfave/cli/v2/flag.go index d2a33f01f..0c61d002a 100644 --- a/vendor/github.com/urfave/cli/v2/flag.go +++ b/vendor/github.com/urfave/cli/v2/flag.go @@ -258,7 +258,7 @@ func withEnvHint(envVars []string, str string) string { return str + envText } -func flagNames(name string, aliases []string) []string { +func FlagNames(name string, aliases []string) []string { var ret []string for _, part := range append([]string{name}, aliases...) { diff --git a/vendor/github.com/urfave/cli/v2/flag_bool.go b/vendor/github.com/urfave/cli/v2/flag_bool.go index 018f9afcc..12775043f 100644 --- a/vendor/github.com/urfave/cli/v2/flag_bool.go +++ b/vendor/github.com/urfave/cli/v2/flag_bool.go @@ -6,42 +6,6 @@ import ( "strconv" ) -// BoolFlag is a flag with type bool -type BoolFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value bool - DefaultText string - Destination *bool - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *BoolFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *BoolFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *BoolFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *BoolFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *BoolFlag) TakesValue() bool { return false @@ -58,11 +22,6 @@ func (f *BoolFlag) GetValue() string { return "" } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *BoolFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *BoolFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_duration.go b/vendor/github.com/urfave/cli/v2/flag_duration.go index 9c6dde7b9..236056cd4 100644 --- a/vendor/github.com/urfave/cli/v2/flag_duration.go +++ b/vendor/github.com/urfave/cli/v2/flag_duration.go @@ -6,42 +6,6 @@ import ( "time" ) -// DurationFlag is a flag with type time.Duration (see https://golang.org/pkg/time/#ParseDuration) -type DurationFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value time.Duration - DefaultText string - Destination *time.Duration - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *DurationFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *DurationFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *DurationFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *DurationFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *DurationFlag) TakesValue() bool { return true @@ -58,11 +22,6 @@ func (f *DurationFlag) GetValue() string { return f.Value.String() } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *DurationFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *DurationFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_float64.go b/vendor/github.com/urfave/cli/v2/flag_float64.go index 62fdb13a4..aa2f35946 100644 --- a/vendor/github.com/urfave/cli/v2/flag_float64.go +++ b/vendor/github.com/urfave/cli/v2/flag_float64.go @@ -6,42 +6,6 @@ import ( "strconv" ) -// Float64Flag is a flag with type float64 -type Float64Flag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value float64 - DefaultText string - Destination *float64 - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *Float64Flag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *Float64Flag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *Float64Flag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *Float64Flag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *Float64Flag) TakesValue() bool { return true @@ -71,11 +35,6 @@ func (f *Float64Flag) GetEnvVars() []string { return f.EnvVars } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *Float64Flag) IsVisible() bool { - return !f.Hidden -} - // Apply populates the flag given the flag set and environment func (f *Float64Flag) Apply(set *flag.FlagSet) error { if val, ok := flagFromEnvOrFile(f.EnvVars, f.FilePath); ok { diff --git a/vendor/github.com/urfave/cli/v2/flag_float64_slice.go b/vendor/github.com/urfave/cli/v2/flag_float64_slice.go index 8be586c40..e2bfc4c97 100644 --- a/vendor/github.com/urfave/cli/v2/flag_float64_slice.go +++ b/vendor/github.com/urfave/cli/v2/flag_float64_slice.go @@ -75,41 +75,12 @@ func (f *Float64Slice) Get() interface{} { return *f } -// Float64SliceFlag is a flag with type *Float64Slice -type Float64SliceFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value *Float64Slice - DefaultText string - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *Float64SliceFlag) IsSet() bool { - return f.HasBeenSet -} - // String returns a readable representation of this value // (for usage defaults) func (f *Float64SliceFlag) String() string { return withEnvHint(f.GetEnvVars(), stringifyFloat64SliceFlag(f)) } -// Names returns the names of the flag -func (f *Float64SliceFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *Float64SliceFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true if the flag takes a value, otherwise false func (f *Float64SliceFlag) TakesValue() bool { return true @@ -129,11 +100,6 @@ func (f *Float64SliceFlag) GetValue() string { return "" } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *Float64SliceFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *Float64SliceFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_generic.go b/vendor/github.com/urfave/cli/v2/flag_generic.go index ae594d4d8..8be32b872 100644 --- a/vendor/github.com/urfave/cli/v2/flag_generic.go +++ b/vendor/github.com/urfave/cli/v2/flag_generic.go @@ -11,42 +11,6 @@ type Generic interface { String() string } -// GenericFlag is a flag with type Generic -type GenericFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - TakesFile bool - Value Generic - DefaultText string - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *GenericFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *GenericFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *GenericFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *GenericFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *GenericFlag) TakesValue() bool { return true @@ -66,11 +30,6 @@ func (f *GenericFlag) GetValue() string { return "" } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *GenericFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *GenericFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_int.go b/vendor/github.com/urfave/cli/v2/flag_int.go index 63ec9a48d..3f5dec551 100644 --- a/vendor/github.com/urfave/cli/v2/flag_int.go +++ b/vendor/github.com/urfave/cli/v2/flag_int.go @@ -6,42 +6,6 @@ import ( "strconv" ) -// IntFlag is a flag with type int -type IntFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value int - DefaultText string - Destination *int - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *IntFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *IntFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *IntFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *IntFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *IntFlag) TakesValue() bool { return true @@ -58,11 +22,6 @@ func (f *IntFlag) GetValue() string { return fmt.Sprintf("%d", f.Value) } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *IntFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *IntFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_int64.go b/vendor/github.com/urfave/cli/v2/flag_int64.go index 929e2d8d9..d00586625 100644 --- a/vendor/github.com/urfave/cli/v2/flag_int64.go +++ b/vendor/github.com/urfave/cli/v2/flag_int64.go @@ -6,42 +6,6 @@ import ( "strconv" ) -// Int64Flag is a flag with type int64 -type Int64Flag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value int64 - DefaultText string - Destination *int64 - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *Int64Flag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *Int64Flag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *Int64Flag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *Int64Flag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *Int64Flag) TakesValue() bool { return true @@ -58,11 +22,6 @@ func (f *Int64Flag) GetValue() string { return fmt.Sprintf("%d", f.Value) } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *Int64Flag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *Int64Flag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_int64_slice.go b/vendor/github.com/urfave/cli/v2/flag_int64_slice.go index 08f03ddfb..b61bd7f85 100644 --- a/vendor/github.com/urfave/cli/v2/flag_int64_slice.go +++ b/vendor/github.com/urfave/cli/v2/flag_int64_slice.go @@ -76,41 +76,12 @@ func (i *Int64Slice) Get() interface{} { return *i } -// Int64SliceFlag is a flag with type *Int64Slice -type Int64SliceFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value *Int64Slice - DefaultText string - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *Int64SliceFlag) IsSet() bool { - return f.HasBeenSet -} - // String returns a readable representation of this value // (for usage defaults) func (f *Int64SliceFlag) String() string { return withEnvHint(f.GetEnvVars(), stringifyInt64SliceFlag(f)) } -// Names returns the names of the flag -func (f *Int64SliceFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *Int64SliceFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *Int64SliceFlag) TakesValue() bool { return true @@ -130,11 +101,6 @@ func (f *Int64SliceFlag) GetValue() string { return "" } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *Int64SliceFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *Int64SliceFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_int_slice.go b/vendor/github.com/urfave/cli/v2/flag_int_slice.go index e5b9e21e5..f9713cc4d 100644 --- a/vendor/github.com/urfave/cli/v2/flag_int_slice.go +++ b/vendor/github.com/urfave/cli/v2/flag_int_slice.go @@ -87,41 +87,12 @@ func (i *IntSlice) Get() interface{} { return *i } -// IntSliceFlag is a flag with type *IntSlice -type IntSliceFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value *IntSlice - DefaultText string - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *IntSliceFlag) IsSet() bool { - return f.HasBeenSet -} - // String returns a readable representation of this value // (for usage defaults) func (f *IntSliceFlag) String() string { return withEnvHint(f.GetEnvVars(), stringifyIntSliceFlag(f)) } -// Names returns the names of the flag -func (f *IntSliceFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *IntSliceFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *IntSliceFlag) TakesValue() bool { return true @@ -141,11 +112,6 @@ func (f *IntSliceFlag) GetValue() string { return "" } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *IntSliceFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *IntSliceFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_path.go b/vendor/github.com/urfave/cli/v2/flag_path.go index a7a213e87..b0c2215b2 100644 --- a/vendor/github.com/urfave/cli/v2/flag_path.go +++ b/vendor/github.com/urfave/cli/v2/flag_path.go @@ -5,41 +5,7 @@ import ( "fmt" ) -type PathFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - TakesFile bool - Value string - DefaultText string - Destination *string - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *PathFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *PathFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *PathFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *PathFlag) IsRequired() bool { - return f.Required -} +type Path = string // TakesValue returns true of the flag takes a value, otherwise false func (f *PathFlag) TakesValue() bool { @@ -57,11 +23,6 @@ func (f *PathFlag) GetValue() string { return f.Value } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *PathFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *PathFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_string.go b/vendor/github.com/urfave/cli/v2/flag_string.go index 0365762d6..24adbe905 100644 --- a/vendor/github.com/urfave/cli/v2/flag_string.go +++ b/vendor/github.com/urfave/cli/v2/flag_string.go @@ -5,43 +5,6 @@ import ( "fmt" ) -// StringFlag is a flag with type string -type StringFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - TakesFile bool - Value string - DefaultText string - Destination *string - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *StringFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *StringFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *StringFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *StringFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *StringFlag) TakesValue() bool { return true @@ -58,11 +21,6 @@ func (f *StringFlag) GetValue() string { return f.Value } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *StringFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *StringFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_string_slice.go b/vendor/github.com/urfave/cli/v2/flag_string_slice.go index 82aa1a492..d0195d547 100644 --- a/vendor/github.com/urfave/cli/v2/flag_string_slice.go +++ b/vendor/github.com/urfave/cli/v2/flag_string_slice.go @@ -70,43 +70,12 @@ func (s *StringSlice) Get() interface{} { return *s } -// StringSliceFlag is a flag with type *StringSlice -type StringSliceFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - TakesFile bool - Value *StringSlice - DefaultText string - HasBeenSet bool - Destination *StringSlice -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *StringSliceFlag) IsSet() bool { - return f.HasBeenSet -} - // String returns a readable representation of this value // (for usage defaults) func (f *StringSliceFlag) String() string { return withEnvHint(f.GetEnvVars(), stringifyStringSliceFlag(f)) } -// Names returns the names of the flag -func (f *StringSliceFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *StringSliceFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *StringSliceFlag) TakesValue() bool { return true @@ -126,11 +95,6 @@ func (f *StringSliceFlag) GetValue() string { return "" } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *StringSliceFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *StringSliceFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_timestamp.go b/vendor/github.com/urfave/cli/v2/flag_timestamp.go index 7bda8ee22..ed480cfc9 100644 --- a/vendor/github.com/urfave/cli/v2/flag_timestamp.go +++ b/vendor/github.com/urfave/cli/v2/flag_timestamp.go @@ -58,43 +58,6 @@ func (t *Timestamp) Get() interface{} { return *t } -// TimestampFlag is a flag with type time -type TimestampFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Layout string - Value *Timestamp - DefaultText string - HasBeenSet bool - Destination *Timestamp -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *TimestampFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *TimestampFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *TimestampFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *TimestampFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *TimestampFlag) TakesValue() bool { return true @@ -114,11 +77,6 @@ func (f *TimestampFlag) GetValue() string { return "" } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *TimestampFlag) IsVisible() bool { - return !f.Hidden -} - // GetDefaultText returns the default text for this flag func (f *TimestampFlag) GetDefaultText() string { if f.DefaultText != "" { diff --git a/vendor/github.com/urfave/cli/v2/flag_uint.go b/vendor/github.com/urfave/cli/v2/flag_uint.go index 0fd0777d7..1ec9713f8 100644 --- a/vendor/github.com/urfave/cli/v2/flag_uint.go +++ b/vendor/github.com/urfave/cli/v2/flag_uint.go @@ -6,42 +6,6 @@ import ( "strconv" ) -// UintFlag is a flag with type uint -type UintFlag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value uint - DefaultText string - Destination *uint - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *UintFlag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *UintFlag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *UintFlag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *UintFlag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *UintFlag) TakesValue() bool { return true @@ -52,11 +16,6 @@ func (f *UintFlag) GetUsage() string { return f.Usage } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *UintFlag) IsVisible() bool { - return !f.Hidden -} - // Apply populates the flag given the flag set and environment func (f *UintFlag) Apply(set *flag.FlagSet) error { if val, ok := flagFromEnvOrFile(f.EnvVars, f.FilePath); ok { diff --git a/vendor/github.com/urfave/cli/v2/flag_uint64.go b/vendor/github.com/urfave/cli/v2/flag_uint64.go index c8314ac00..55ba08a0c 100644 --- a/vendor/github.com/urfave/cli/v2/flag_uint64.go +++ b/vendor/github.com/urfave/cli/v2/flag_uint64.go @@ -6,42 +6,6 @@ import ( "strconv" ) -// Uint64Flag is a flag with type uint64 -type Uint64Flag struct { - Name string - Aliases []string - Usage string - EnvVars []string - FilePath string - Required bool - Hidden bool - Value uint64 - DefaultText string - Destination *uint64 - HasBeenSet bool -} - -// IsSet returns whether or not the flag has been set through env or file -func (f *Uint64Flag) IsSet() bool { - return f.HasBeenSet -} - -// String returns a readable representation of this value -// (for usage defaults) -func (f *Uint64Flag) String() string { - return FlagStringer(f) -} - -// Names returns the names of the flag -func (f *Uint64Flag) Names() []string { - return flagNames(f.Name, f.Aliases) -} - -// IsRequired returns whether or not the flag is required -func (f *Uint64Flag) IsRequired() bool { - return f.Required -} - // TakesValue returns true of the flag takes a value, otherwise false func (f *Uint64Flag) TakesValue() bool { return true @@ -52,11 +16,6 @@ func (f *Uint64Flag) GetUsage() string { return f.Usage } -// IsVisible returns true if the flag is not hidden, otherwise false -func (f *Uint64Flag) IsVisible() bool { - return !f.Hidden -} - // Apply populates the flag given the flag set and environment func (f *Uint64Flag) Apply(set *flag.FlagSet) error { if val, ok := flagFromEnvOrFile(f.EnvVars, f.FilePath); ok { diff --git a/vendor/github.com/urfave/cli/v2/godoc-current.txt b/vendor/github.com/urfave/cli/v2/godoc-current.txt new file mode 100644 index 000000000..90700ebde --- /dev/null +++ b/vendor/github.com/urfave/cli/v2/godoc-current.txt @@ -0,0 +1,2092 @@ +package cli // import "github.com/urfave/cli/v2" + +Package cli provides a minimal framework for creating and organizing command +line Go applications. cli is designed to be easy to understand and write, +the most simple cli application can be written as follows: + + func main() { + (&cli.App{}).Run(os.Args) + } + +Of course this application does not do much, so let's make this an actual +application: + + func main() { + app := &cli.App{ + Name: "greet", + Usage: "say a greeting", + Action: func(c *cli.Context) error { + fmt.Println("Greetings") + return nil + }, + } + + app.Run(os.Args) + } + +VARIABLES + +var AppHelpTemplate = `NAME: + {{.Name}}{{if .Usage}} - {{.Usage}}{{end}} + +USAGE: + {{if .UsageText}}{{.UsageText | nindent 3 | trim}}{{else}}{{.HelpName}} {{if .VisibleFlags}}[global options]{{end}}{{if .Commands}} command [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Version}}{{if not .HideVersion}} + +VERSION: + {{.Version}}{{end}}{{end}}{{if .Description}} + +DESCRIPTION: + {{.Description | nindent 3 | trim}}{{end}}{{if len .Authors}} + +AUTHOR{{with $length := len .Authors}}{{if ne 1 $length}}S{{end}}{{end}}: + {{range $index, $author := .Authors}}{{if $index}} + {{end}}{{$author}}{{end}}{{end}}{{if .VisibleCommands}} + +COMMANDS:{{range .VisibleCategories}}{{if .Name}} + {{.Name}}:{{range .VisibleCommands}} + {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{else}}{{range .VisibleCommands}} + {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{end}}{{end}}{{end}}{{if .VisibleFlags}} + +GLOBAL OPTIONS: + {{range $index, $option := .VisibleFlags}}{{if $index}} + {{end}}{{$option}}{{end}}{{end}}{{if .Copyright}} + +COPYRIGHT: + {{.Copyright}}{{end}} +` + AppHelpTemplate is the text template for the Default help topic. cli.go uses + text/template to render templates. You can render custom help text by + setting this variable. + +var CommandHelpTemplate = `NAME: + {{.HelpName}} - {{.Usage}} + +USAGE: + {{if .UsageText}}{{.UsageText | nindent 3 | trim}}{{else}}{{.HelpName}}{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Category}} + +CATEGORY: + {{.Category}}{{end}}{{if .Description}} + +DESCRIPTION: + {{.Description | nindent 3 | trim}}{{end}}{{if .VisibleFlags}} + +OPTIONS: + {{range .VisibleFlags}}{{.}} + {{end}}{{end}} +` + CommandHelpTemplate is the text template for the command help topic. cli.go + uses text/template to render templates. You can render custom help text by + setting this variable. + +var ErrWriter io.Writer = os.Stderr + ErrWriter is used to write errors to the user. This can be anything + implementing the io.Writer interface and defaults to os.Stderr. + +var FishCompletionTemplate = `# {{ .App.Name }} fish shell completion + +function __fish_{{ .App.Name }}_no_subcommand --description 'Test if there has been any subcommand yet' + for i in (commandline -opc) + if contains -- $i{{ range $v := .AllCommands }} {{ $v }}{{ end }} + return 1 + end + end + return 0 +end + +{{ range $v := .Completions }}{{ $v }} +{{ end }}` +var MarkdownDocTemplate = `{{if gt .SectionNum 0}}% {{ .App.Name }} {{ .SectionNum }} + +{{end}}# NAME + +{{ .App.Name }}{{ if .App.Usage }} - {{ .App.Usage }}{{ end }} + +# SYNOPSIS + +{{ .App.Name }} +{{ if .SynopsisArgs }} +` + "```" + ` +{{ range $v := .SynopsisArgs }}{{ $v }}{{ end }}` + "```" + ` +{{ end }}{{ if .App.Description }} +# DESCRIPTION + +{{ .App.Description }} +{{ end }} +**Usage**: + +` + "```" + `{{ if .App.UsageText }} +{{ .App.UsageText }} +{{ else }} +{{ .App.Name }} [GLOBAL OPTIONS] command [COMMAND OPTIONS] [ARGUMENTS...] +{{ end }}` + "```" + ` +{{ if .GlobalArgs }} +# GLOBAL OPTIONS +{{ range $v := .GlobalArgs }} +{{ $v }}{{ end }} +{{ end }}{{ if .Commands }} +# COMMANDS +{{ range $v := .Commands }} +{{ $v }}{{ end }}{{ end }}` +var OsExiter = os.Exit + OsExiter is the function used when the app exits. If not set defaults to + os.Exit. + +var SubcommandHelpTemplate = `NAME: + {{.HelpName}} - {{.Usage}} + +USAGE: + {{if .UsageText}}{{.UsageText | nindent 3 | trim}}{{else}}{{.HelpName}} command{{if .VisibleFlags}} [command options]{{end}} {{if .ArgsUsage}}{{.ArgsUsage}}{{else}}[arguments...]{{end}}{{end}}{{if .Description}} + +DESCRIPTION: + {{.Description | nindent 3 | trim}}{{end}} + +COMMANDS:{{range .VisibleCategories}}{{if .Name}} + {{.Name}}:{{range .VisibleCommands}} + {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{else}}{{range .VisibleCommands}} + {{join .Names ", "}}{{"\t"}}{{.Usage}}{{end}}{{end}}{{end}}{{if .VisibleFlags}} + +OPTIONS: + {{range .VisibleFlags}}{{.}} + {{end}}{{end}} +` + SubcommandHelpTemplate is the text template for the subcommand help topic. + cli.go uses text/template to render templates. You can render custom help + text by setting this variable. + +var VersionPrinter = printVersion + VersionPrinter prints the version for the App + +var HelpPrinter helpPrinter = printHelp + HelpPrinter is a function that writes the help output. If not set + explicitly, this calls HelpPrinterCustom using only the default template + functions. + + If custom logic for printing help is required, this function can be + overridden. If the ExtraInfo field is defined on an App, this function + should not be modified, as HelpPrinterCustom will be used directly in order + to capture the extra information. + +var HelpPrinterCustom helpPrinterCustom = printHelpCustom + HelpPrinterCustom is a function that writes the help output. It is used as + the default implementation of HelpPrinter, and may be called directly if the + ExtraInfo field is set on an App. + + +FUNCTIONS + +func DefaultAppComplete(cCtx *Context) + DefaultAppComplete prints the list of subcommands as the default app + completion method + +func DefaultCompleteWithFlags(cmd *Command) func(cCtx *Context) +func FlagNames(name string, aliases []string) []string +func HandleAction(action interface{}, cCtx *Context) (err error) + HandleAction attempts to figure out which Action signature was used. If it's + an ActionFunc or a func with the legacy signature for Action, the func is + run! + +func HandleExitCoder(err error) + HandleExitCoder handles errors implementing ExitCoder by printing their + message and calling OsExiter with the given exit code. + + If the given error instead implements MultiError, each error will be checked + for the ExitCoder interface, and OsExiter will be called with the last exit + code found, or exit code 1 if no ExitCoder is found. + + This function is the default error-handling behavior for an App. + +func ShowAppHelp(cCtx *Context) error + ShowAppHelp is an action that displays the help. + +func ShowAppHelpAndExit(c *Context, exitCode int) + ShowAppHelpAndExit - Prints the list of subcommands for the app and exits + with exit code. + +func ShowCommandCompletions(ctx *Context, command string) + ShowCommandCompletions prints the custom completions for a given command + +func ShowCommandHelp(ctx *Context, command string) error + ShowCommandHelp prints help for the given command + +func ShowCommandHelpAndExit(c *Context, command string, code int) + ShowCommandHelpAndExit - exits with code after showing help + +func ShowCompletions(cCtx *Context) + ShowCompletions prints the lists of commands within a given context + +func ShowSubcommandHelp(cCtx *Context) error + ShowSubcommandHelp prints help for the given subcommand + +func ShowSubcommandHelpAndExit(c *Context, exitCode int) + ShowSubcommandHelpAndExit - Prints help for the given subcommand and exits + with exit code. + +func ShowVersion(cCtx *Context) + ShowVersion prints the version number of the App + + +TYPES + +type ActionFunc func(*Context) error + ActionFunc is the action to execute when no subcommands are specified + +type AfterFunc func(*Context) error + AfterFunc is an action to execute after any subcommands are run, but after + the subcommand has finished it is run even if Action() panics + +type App struct { + // The name of the program. Defaults to path.Base(os.Args[0]) + Name string + // Full name of command for help, defaults to Name + HelpName string + // Description of the program. + Usage string + // Text to override the USAGE section of help + UsageText string + // Description of the program argument format. + ArgsUsage string + // Version of the program + Version string + // Description of the program + Description string + // List of commands to execute + Commands []*Command + // List of flags to parse + Flags []Flag + // Boolean to enable bash completion commands + EnableBashCompletion bool + // Boolean to hide built-in help command and help flag + HideHelp bool + // Boolean to hide built-in help command but keep help flag. + // Ignored if HideHelp is true. + HideHelpCommand bool + // Boolean to hide built-in version flag and the VERSION section of help + HideVersion bool + + // An action to execute when the shell completion flag is set + BashComplete BashCompleteFunc + // An action to execute before any subcommands are run, but after the context is ready + // If a non-nil error is returned, no subcommands are run + Before BeforeFunc + // An action to execute after any subcommands are run, but after the subcommand has finished + // It is run even if Action() panics + After AfterFunc + // The action to execute when no subcommands are specified + Action ActionFunc + // Execute this function if the proper command cannot be found + CommandNotFound CommandNotFoundFunc + // Execute this function if a usage error occurs + OnUsageError OnUsageErrorFunc + // Compilation date + Compiled time.Time + // List of all authors who contributed + Authors []*Author + // Copyright of the binary if any + Copyright string + // Reader reader to write input to (useful for tests) + Reader io.Reader + // Writer writer to write output to + Writer io.Writer + // ErrWriter writes error output + ErrWriter io.Writer + // ExitErrHandler processes any error encountered while running an App before + // it is returned to the caller. If no function is provided, HandleExitCoder + // is used as the default behavior. + ExitErrHandler ExitErrHandlerFunc + // Other custom info + Metadata map[string]interface{} + // Carries a function which returns app specific info. + ExtraInfo func() map[string]string + // CustomAppHelpTemplate the text template for app help topic. + // cli.go uses text/template to render templates. You can + // render custom help text by setting this variable. + CustomAppHelpTemplate string + // Boolean to enable short-option handling so user can combine several + // single-character bool arguments into one + // i.e. foobar -o -v -> foobar -ov + UseShortOptionHandling bool + // Enable suggestions for commands and flags + Suggest bool + + // Has unexported fields. +} + App is the main structure of a cli application. It is recommended that an + app be created with the cli.NewApp() function + +func NewApp() *App + NewApp creates a new cli Application with some reasonable defaults for Name, + Usage, Version and Action. + +func (a *App) Command(name string) *Command + Command returns the named command on App. Returns nil if the command does + not exist + +func (a *App) Run(arguments []string) (err error) + Run is the entry point to the cli app. Parses the arguments slice and routes + to the proper flag/args combination + +func (a *App) RunAndExitOnError() + RunAndExitOnError calls .Run() and exits non-zero if an error was returned + + Deprecated: instead you should return an error that fulfills cli.ExitCoder + to cli.App.Run. This will cause the application to exit with the given error + code in the cli.ExitCoder + +func (a *App) RunAsSubcommand(ctx *Context) (err error) + RunAsSubcommand invokes the subcommand given the context, parses ctx.Args() + to generate command-specific flags + +func (a *App) RunContext(ctx context.Context, arguments []string) (err error) + RunContext is like Run except it takes a Context that will be passed to its + commands and sub-commands. Through this, you can propagate timeouts and + cancellation requests + +func (a *App) Setup() + Setup runs initialization code to ensure all data structures are ready for + `Run` or inspection prior to `Run`. It is internally called by `Run`, but + will return early if setup has already happened. + +func (a *App) ToFishCompletion() (string, error) + ToFishCompletion creates a fish completion string for the `*App` The + function errors if either parsing or writing of the string fails. + +func (a *App) ToMan() (string, error) + ToMan creates a man page string for the `*App` The function errors if either + parsing or writing of the string fails. + +func (a *App) ToManWithSection(sectionNumber int) (string, error) + ToMan creates a man page string with section number for the `*App` The + function errors if either parsing or writing of the string fails. + +func (a *App) ToMarkdown() (string, error) + ToMarkdown creates a markdown string for the `*App` The function errors if + either parsing or writing of the string fails. + +func (a *App) VisibleCategories() []CommandCategory + VisibleCategories returns a slice of categories and commands that are + Hidden=false + +func (a *App) VisibleCommands() []*Command + VisibleCommands returns a slice of the Commands with Hidden=false + +func (a *App) VisibleFlags() []Flag + VisibleFlags returns a slice of the Flags with Hidden=false + +type Args interface { + // Get returns the nth argument, or else a blank string + Get(n int) string + // First returns the first argument, or else a blank string + First() string + // Tail returns the rest of the arguments (not the first one) + // or else an empty string slice + Tail() []string + // Len returns the length of the wrapped slice + Len() int + // Present checks if there are any arguments present + Present() bool + // Slice returns a copy of the internal slice + Slice() []string +} + +type Author struct { + Name string // The Authors name + Email string // The Authors email +} + Author represents someone who has contributed to a cli project. + +func (a *Author) String() string + String makes Author comply to the Stringer interface, to allow an easy print + in the templating process + +type BashCompleteFunc func(*Context) + BashCompleteFunc is an action to execute when the shell completion flag is + set + +type BeforeFunc func(*Context) error + BeforeFunc is an action to execute before any subcommands are run, but after + the context is ready if a non-nil error is returned, no subcommands are run + +type BoolFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value bool + Destination *bool + + Aliases []string + EnvVars []string +} + BoolFlag is a flag with type bool + +func (f *BoolFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *BoolFlag) Get(ctx *Context) bool + Get returns the flag’s value in the given Context. + +func (f *BoolFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *BoolFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *BoolFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *BoolFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *BoolFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *BoolFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *BoolFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *BoolFlag) Names() []string + Names returns the names of the flag + +func (f *BoolFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *BoolFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type Command struct { + // The name of the command + Name string + // A list of aliases for the command + Aliases []string + // A short description of the usage of this command + Usage string + // Custom text to show on USAGE section of help + UsageText string + // A longer explanation of how the command works + Description string + // A short description of the arguments of this command + ArgsUsage string + // The category the command is part of + Category string + // The function to call when checking for bash command completions + BashComplete BashCompleteFunc + // An action to execute before any sub-subcommands are run, but after the context is ready + // If a non-nil error is returned, no sub-subcommands are run + Before BeforeFunc + // An action to execute after any subcommands are run, but after the subcommand has finished + // It is run even if Action() panics + After AfterFunc + // The function to call when this command is invoked + Action ActionFunc + // Execute this function if a usage error occurs. + OnUsageError OnUsageErrorFunc + // List of child commands + Subcommands []*Command + // List of flags to parse + Flags []Flag + // Treat all flags as normal arguments if true + SkipFlagParsing bool + // Boolean to hide built-in help command and help flag + HideHelp bool + // Boolean to hide built-in help command but keep help flag + // Ignored if HideHelp is true. + HideHelpCommand bool + // Boolean to hide this command from help or completion + Hidden bool + // Boolean to enable short-option handling so user can combine several + // single-character bool arguments into one + // i.e. foobar -o -v -> foobar -ov + UseShortOptionHandling bool + + // Full name of command for help, defaults to full command name, including parent commands. + HelpName string + + // CustomHelpTemplate the text template for the command help topic. + // cli.go uses text/template to render templates. You can + // render custom help text by setting this variable. + CustomHelpTemplate string + // Has unexported fields. +} + Command is a subcommand for a cli.App. + +func (c *Command) FullName() string + FullName returns the full name of the command. For subcommands this ensures + that parent commands are part of the command path + +func (c *Command) HasName(name string) bool + HasName returns true if Command.Name matches given name + +func (c *Command) Names() []string + Names returns the names including short names and aliases. + +func (c *Command) Run(ctx *Context) (err error) + Run invokes the command given the context, parses ctx.Args() to generate + command-specific flags + +func (c *Command) VisibleFlags() []Flag + VisibleFlags returns a slice of the Flags with Hidden=false + +type CommandCategories interface { + // AddCommand adds a command to a category, creating a new category if necessary. + AddCommand(category string, command *Command) + // categories returns a copy of the category slice + Categories() []CommandCategory +} + CommandCategories interface allows for category manipulation + +type CommandCategory interface { + // Name returns the category name string + Name() string + // VisibleCommands returns a slice of the Commands with Hidden=false + VisibleCommands() []*Command +} + CommandCategory is a category containing commands. + +type CommandNotFoundFunc func(*Context, string) + CommandNotFoundFunc is executed if the proper command cannot be found + +type Commands []*Command + +type CommandsByName []*Command + +func (c CommandsByName) Len() int + +func (c CommandsByName) Less(i, j int) bool + +func (c CommandsByName) Swap(i, j int) + +type Context struct { + context.Context + App *App + Command *Command + + // Has unexported fields. +} + Context is a type that is passed through to each Handler action in a cli + application. Context can be used to retrieve context-specific args and + parsed command-line options. + +func NewContext(app *App, set *flag.FlagSet, parentCtx *Context) *Context + NewContext creates a new context. For use in when invoking an App or Command + action. + +func (cCtx *Context) Args() Args + Args returns the command line arguments associated with the context. + +func (cCtx *Context) Bool(name string) bool + Bool looks up the value of a local BoolFlag, returns false if not found + +func (cCtx *Context) Duration(name string) time.Duration + Duration looks up the value of a local DurationFlag, returns 0 if not found + +func (cCtx *Context) FlagNames() []string + FlagNames returns a slice of flag names used by the this context and all of + its parent contexts. + +func (cCtx *Context) Float64(name string) float64 + Float64 looks up the value of a local Float64Flag, returns 0 if not found + +func (cCtx *Context) Float64Slice(name string) []float64 + Float64Slice looks up the value of a local Float64SliceFlag, returns nil if + not found + +func (cCtx *Context) Generic(name string) interface{} + Generic looks up the value of a local GenericFlag, returns nil if not found + +func (cCtx *Context) Int(name string) int + Int looks up the value of a local IntFlag, returns 0 if not found + +func (cCtx *Context) Int64(name string) int64 + Int64 looks up the value of a local Int64Flag, returns 0 if not found + +func (cCtx *Context) Int64Slice(name string) []int64 + Int64Slice looks up the value of a local Int64SliceFlag, returns nil if not + found + +func (cCtx *Context) IntSlice(name string) []int + IntSlice looks up the value of a local IntSliceFlag, returns nil if not + found + +func (cCtx *Context) IsSet(name string) bool + IsSet determines if the flag was actually set + +func (cCtx *Context) Lineage() []*Context + Lineage returns *this* context and all of its ancestor contexts in order + from child to parent + +func (cCtx *Context) LocalFlagNames() []string + LocalFlagNames returns a slice of flag names used in this context. + +func (cCtx *Context) NArg() int + NArg returns the number of the command line arguments. + +func (cCtx *Context) NumFlags() int + NumFlags returns the number of flags set + +func (cCtx *Context) Path(name string) string + Path looks up the value of a local PathFlag, returns "" if not found + +func (cCtx *Context) Set(name, value string) error + Set sets a context flag to a value. + +func (cCtx *Context) String(name string) string + String looks up the value of a local StringFlag, returns "" if not found + +func (cCtx *Context) StringSlice(name string) []string + StringSlice looks up the value of a local StringSliceFlag, returns nil if + not found + +func (cCtx *Context) Timestamp(name string) *time.Time + Timestamp gets the timestamp from a flag name + +func (cCtx *Context) Uint(name string) uint + Uint looks up the value of a local UintFlag, returns 0 if not found + +func (cCtx *Context) Uint64(name string) uint64 + Uint64 looks up the value of a local Uint64Flag, returns 0 if not found + +func (cCtx *Context) Value(name string) interface{} + Value returns the value of the flag corresponding to `name` + +type DocGenerationFlag interface { + Flag + + // TakesValue returns true if the flag takes a value, otherwise false + TakesValue() bool + + // GetUsage returns the usage string for the flag + GetUsage() string + + // GetValue returns the flags value as string representation and an empty + // string if the flag takes no value at all. + GetValue() string + + // GetDefaultText returns the default text for this flag + GetDefaultText() string + + // GetEnvVars returns the env vars for this flag + GetEnvVars() []string +} + DocGenerationFlag is an interface that allows documentation generation for + the flag + +type DurationFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value time.Duration + Destination *time.Duration + + Aliases []string + EnvVars []string +} + DurationFlag is a flag with type time.Duration + +func (f *DurationFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *DurationFlag) Get(ctx *Context) time.Duration + Get returns the flag’s value in the given Context. + +func (f *DurationFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *DurationFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *DurationFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *DurationFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *DurationFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *DurationFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *DurationFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *DurationFlag) Names() []string + Names returns the names of the flag + +func (f *DurationFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *DurationFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type ErrorFormatter interface { + Format(s fmt.State, verb rune) +} + ErrorFormatter is the interface that will suitably format the error output + +type ExitCoder interface { + error + ExitCode() int +} + ExitCoder is the interface checked by `App` and `Command` for a custom exit + code + +func Exit(message interface{}, exitCode int) ExitCoder + Exit wraps a message and exit code into an error, which by default is + handled with a call to os.Exit during default error handling. + + This is the simplest way to trigger a non-zero exit code for an App without + having to call os.Exit manually. During testing, this behavior can be + avoided by overiding the ExitErrHandler function on an App or the + package-global OsExiter function. + +func NewExitError(message interface{}, exitCode int) ExitCoder + NewExitError calls Exit to create a new ExitCoder. + + Deprecated: This function is a duplicate of Exit and will eventually be + removed. + +type ExitErrHandlerFunc func(cCtx *Context, err error) + ExitErrHandlerFunc is executed if provided in order to handle exitError + values returned by Actions and Before/After functions. + +type Flag interface { + fmt.Stringer + // Apply Flag settings to the given flag set + Apply(*flag.FlagSet) error + Names() []string + IsSet() bool +} + Flag is a common interface related to parsing flags in cli. For more + advanced flag parsing techniques, it is recommended that this interface be + implemented. + +var BashCompletionFlag Flag = &BoolFlag{ + Name: "generate-bash-completion", + Hidden: true, +} + BashCompletionFlag enables bash-completion for all commands and subcommands + +var HelpFlag Flag = &BoolFlag{ + Name: "help", + Aliases: []string{"h"}, + Usage: "show help", +} + HelpFlag prints the help for all commands and subcommands. Set to nil to + disable the flag. The subcommand will still be added unless HideHelp or + HideHelpCommand is set to true. + +var VersionFlag Flag = &BoolFlag{ + Name: "version", + Aliases: []string{"v"}, + Usage: "print the version", +} + VersionFlag prints the version for the application + +type FlagEnvHintFunc func(envVars []string, str string) string + FlagEnvHintFunc is used by the default FlagStringFunc to annotate flag help + with the environment variable details. + +var FlagEnvHinter FlagEnvHintFunc = withEnvHint + FlagEnvHinter annotates flag help message with the environment variable + details. This is used by the default FlagStringer. + +type FlagFileHintFunc func(filePath, str string) string + FlagFileHintFunc is used by the default FlagStringFunc to annotate flag help + with the file path details. + +var FlagFileHinter FlagFileHintFunc = withFileHint + FlagFileHinter annotates flag help message with the environment variable + details. This is used by the default FlagStringer. + +type FlagNamePrefixFunc func(fullName []string, placeholder string) string + FlagNamePrefixFunc is used by the default FlagStringFunc to create prefix + text for a flag's full name. + +var FlagNamePrefixer FlagNamePrefixFunc = prefixedNames + FlagNamePrefixer converts a full flag name and its placeholder into the help + message flag prefix. This is used by the default FlagStringer. + +type FlagStringFunc func(Flag) string + FlagStringFunc is used by the help generation to display a flag, which is + expected to be a single line. + +var FlagStringer FlagStringFunc = stringifyFlag + FlagStringer converts a flag definition to a string. This is used by help to + display a flag. + +type FlagsByName []Flag + FlagsByName is a slice of Flag. + +func (f FlagsByName) Len() int + +func (f FlagsByName) Less(i, j int) bool + +func (f FlagsByName) Swap(i, j int) + +type Float64Flag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value float64 + Destination *float64 + + Aliases []string + EnvVars []string +} + Float64Flag is a flag with type float64 + +func (f *Float64Flag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *Float64Flag) Get(ctx *Context) float64 + Get returns the flag’s value in the given Context. + +func (f *Float64Flag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *Float64Flag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *Float64Flag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *Float64Flag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *Float64Flag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *Float64Flag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *Float64Flag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *Float64Flag) Names() []string + Names returns the names of the flag + +func (f *Float64Flag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *Float64Flag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type Float64Slice struct { + // Has unexported fields. +} + Float64Slice wraps []float64 to satisfy flag.Value + +func NewFloat64Slice(defaults ...float64) *Float64Slice + NewFloat64Slice makes a *Float64Slice with default values + +func (f *Float64Slice) Get() interface{} + Get returns the slice of float64s set by this flag + +func (f *Float64Slice) Serialize() string + Serialize allows Float64Slice to fulfill Serializer + +func (f *Float64Slice) Set(value string) error + Set parses the value into a float64 and appends it to the list of values + +func (f *Float64Slice) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *Float64Slice) Value() []float64 + Value returns the slice of float64s set by this flag + +type Float64SliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *Float64Slice + Destination *Float64Slice + + Aliases []string + EnvVars []string +} + Float64SliceFlag is a flag with type *Float64Slice + +func (f *Float64SliceFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *Float64SliceFlag) Get(ctx *Context) []float64 + Get returns the flag’s value in the given Context. + +func (f *Float64SliceFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *Float64SliceFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *Float64SliceFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *Float64SliceFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *Float64SliceFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *Float64SliceFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *Float64SliceFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *Float64SliceFlag) Names() []string + Names returns the names of the flag + +func (f *Float64SliceFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *Float64SliceFlag) TakesValue() bool + TakesValue returns true if the flag takes a value, otherwise false + +type Generic interface { + Set(value string) error + String() string +} + Generic is a generic parseable type identified by a specific flag + +type GenericFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value Generic + Destination *Generic + + Aliases []string + EnvVars []string + + TakesFile bool +} + GenericFlag is a flag with type Generic + +func (f GenericFlag) Apply(set *flag.FlagSet) error + Apply takes the flagset and calls Set on the generic flag with the value + provided by the user for parsing by the flag + +func (f *GenericFlag) Get(ctx *Context) interface{} + Get returns the flag’s value in the given Context. + +func (f *GenericFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *GenericFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *GenericFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *GenericFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *GenericFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *GenericFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *GenericFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *GenericFlag) Names() []string + Names returns the names of the flag + +func (f *GenericFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *GenericFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type Int64Flag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value int64 + Destination *int64 + + Aliases []string + EnvVars []string +} + Int64Flag is a flag with type int64 + +func (f *Int64Flag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *Int64Flag) Get(ctx *Context) int64 + Get returns the flag’s value in the given Context. + +func (f *Int64Flag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *Int64Flag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *Int64Flag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *Int64Flag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *Int64Flag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *Int64Flag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *Int64Flag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *Int64Flag) Names() []string + Names returns the names of the flag + +func (f *Int64Flag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *Int64Flag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type Int64Slice struct { + // Has unexported fields. +} + Int64Slice wraps []int64 to satisfy flag.Value + +func NewInt64Slice(defaults ...int64) *Int64Slice + NewInt64Slice makes an *Int64Slice with default values + +func (i *Int64Slice) Get() interface{} + Get returns the slice of ints set by this flag + +func (i *Int64Slice) Serialize() string + Serialize allows Int64Slice to fulfill Serializer + +func (i *Int64Slice) Set(value string) error + Set parses the value into an integer and appends it to the list of values + +func (i *Int64Slice) String() string + String returns a readable representation of this value (for usage defaults) + +func (i *Int64Slice) Value() []int64 + Value returns the slice of ints set by this flag + +type Int64SliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *Int64Slice + Destination *Int64Slice + + Aliases []string + EnvVars []string +} + Int64SliceFlag is a flag with type *Int64Slice + +func (f *Int64SliceFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *Int64SliceFlag) Get(ctx *Context) []int64 + Get returns the flag’s value in the given Context. + +func (f *Int64SliceFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *Int64SliceFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f Int64SliceFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *Int64SliceFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *Int64SliceFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *Int64SliceFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *Int64SliceFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *Int64SliceFlag) Names() []string + Names returns the names of the flag + +func (f *Int64SliceFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *Int64SliceFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type IntFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value int + Destination *int + + Aliases []string + EnvVars []string +} + IntFlag is a flag with type int + +func (f *IntFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *IntFlag) Get(ctx *Context) int + Get returns the flag’s value in the given Context. + +func (f *IntFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *IntFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *IntFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *IntFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *IntFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *IntFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *IntFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *IntFlag) Names() []string + Names returns the names of the flag + +func (f *IntFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *IntFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type IntSlice struct { + // Has unexported fields. +} + IntSlice wraps []int to satisfy flag.Value + +func NewIntSlice(defaults ...int) *IntSlice + NewIntSlice makes an *IntSlice with default values + +func (i *IntSlice) Get() interface{} + Get returns the slice of ints set by this flag + +func (i *IntSlice) Serialize() string + Serialize allows IntSlice to fulfill Serializer + +func (i *IntSlice) Set(value string) error + Set parses the value into an integer and appends it to the list of values + +func (i *IntSlice) SetInt(value int) + TODO: Consistently have specific Set function for Int64 and Float64 ? SetInt + directly adds an integer to the list of values + +func (i *IntSlice) String() string + String returns a readable representation of this value (for usage defaults) + +func (i *IntSlice) Value() []int + Value returns the slice of ints set by this flag + +type IntSliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *IntSlice + Destination *IntSlice + + Aliases []string + EnvVars []string +} + IntSliceFlag is a flag with type *IntSlice + +func (f *IntSliceFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *IntSliceFlag) Get(ctx *Context) []int + Get returns the flag’s value in the given Context. + +func (f *IntSliceFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *IntSliceFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f IntSliceFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *IntSliceFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *IntSliceFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *IntSliceFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *IntSliceFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *IntSliceFlag) Names() []string + Names returns the names of the flag + +func (f *IntSliceFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *IntSliceFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type MultiError interface { + error + Errors() []error +} + MultiError is an error that wraps multiple errors. + +type OnUsageErrorFunc func(cCtx *Context, err error, isSubcommand bool) error + OnUsageErrorFunc is executed if a usage error occurs. This is useful for + displaying customized usage error messages. This function is able to replace + the original error messages. If this function is not set, the "Incorrect + usage" is displayed and the execution is interrupted. + +type Path = string + +type PathFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value Path + Destination *Path + + Aliases []string + EnvVars []string + + TakesFile bool +} + PathFlag is a flag with type Path + +func (f *PathFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *PathFlag) Get(ctx *Context) string + Get returns the flag’s value in the given Context. + +func (f *PathFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *PathFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *PathFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *PathFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *PathFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *PathFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *PathFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *PathFlag) Names() []string + Names returns the names of the flag + +func (f *PathFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *PathFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type RequiredFlag interface { + Flag + + IsRequired() bool +} + RequiredFlag is an interface that allows us to mark flags as required it + allows flags required flags to be backwards compatible with the Flag + interface + +type Serializer interface { + Serialize() string +} + Serializer is used to circumvent the limitations of flag.FlagSet.Set + +type StringFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value string + Destination *string + + Aliases []string + EnvVars []string + + TakesFile bool +} + StringFlag is a flag with type string + +func (f *StringFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *StringFlag) Get(ctx *Context) string + Get returns the flag’s value in the given Context. + +func (f *StringFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *StringFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *StringFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *StringFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *StringFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *StringFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *StringFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *StringFlag) Names() []string + Names returns the names of the flag + +func (f *StringFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *StringFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type StringSlice struct { + // Has unexported fields. +} + StringSlice wraps a []string to satisfy flag.Value + +func NewStringSlice(defaults ...string) *StringSlice + NewStringSlice creates a *StringSlice with default values + +func (s *StringSlice) Get() interface{} + Get returns the slice of strings set by this flag + +func (s *StringSlice) Serialize() string + Serialize allows StringSlice to fulfill Serializer + +func (s *StringSlice) Set(value string) error + Set appends the string value to the list of values + +func (s *StringSlice) String() string + String returns a readable representation of this value (for usage defaults) + +func (s *StringSlice) Value() []string + Value returns the slice of strings set by this flag + +type StringSliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *StringSlice + Destination *StringSlice + + Aliases []string + EnvVars []string + + TakesFile bool +} + StringSliceFlag is a flag with type *StringSlice + +func (f *StringSliceFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *StringSliceFlag) Get(ctx *Context) []string + Get returns the flag’s value in the given Context. + +func (f *StringSliceFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *StringSliceFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *StringSliceFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *StringSliceFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *StringSliceFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *StringSliceFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *StringSliceFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *StringSliceFlag) Names() []string + Names returns the names of the flag + +func (f *StringSliceFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *StringSliceFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type Timestamp struct { + // Has unexported fields. +} + Timestamp wrap to satisfy golang's flag interface. + +func NewTimestamp(timestamp time.Time) *Timestamp + Timestamp constructor + +func (t *Timestamp) Get() interface{} + Get returns the flag structure + +func (t *Timestamp) Set(value string) error + Parses the string value to timestamp + +func (t *Timestamp) SetLayout(layout string) + Set the timestamp string layout for future parsing + +func (t *Timestamp) SetTimestamp(value time.Time) + Set the timestamp value directly + +func (t *Timestamp) String() string + String returns a readable representation of this value (for usage defaults) + +func (t *Timestamp) Value() *time.Time + Value returns the timestamp value stored in the flag + +type TimestampFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *Timestamp + Destination *Timestamp + + Aliases []string + EnvVars []string + + Layout string +} + TimestampFlag is a flag with type *Timestamp + +func (f *TimestampFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *TimestampFlag) Get(ctx *Context) *time.Time + Get returns the flag’s value in the given Context. + +func (f *TimestampFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *TimestampFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *TimestampFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *TimestampFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *TimestampFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *TimestampFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *TimestampFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *TimestampFlag) Names() []string + Names returns the names of the flag + +func (f *TimestampFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *TimestampFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type Uint64Flag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value uint64 + Destination *uint64 + + Aliases []string + EnvVars []string +} + Uint64Flag is a flag with type uint64 + +func (f *Uint64Flag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *Uint64Flag) Get(ctx *Context) uint64 + Get returns the flag’s value in the given Context. + +func (f *Uint64Flag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *Uint64Flag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *Uint64Flag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *Uint64Flag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *Uint64Flag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *Uint64Flag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *Uint64Flag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *Uint64Flag) Names() []string + Names returns the names of the flag + +func (f *Uint64Flag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *Uint64Flag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type UintFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value uint + Destination *uint + + Aliases []string + EnvVars []string +} + UintFlag is a flag with type uint + +func (f *UintFlag) Apply(set *flag.FlagSet) error + Apply populates the flag given the flag set and environment + +func (f *UintFlag) Get(ctx *Context) uint + Get returns the flag’s value in the given Context. + +func (f *UintFlag) GetDefaultText() string + GetDefaultText returns the default text for this flag + +func (f *UintFlag) GetEnvVars() []string + GetEnvVars returns the env vars for this flag + +func (f *UintFlag) GetUsage() string + GetUsage returns the usage string for the flag + +func (f *UintFlag) GetValue() string + GetValue returns the flags value as string representation and an empty + string if the flag takes no value at all. + +func (f *UintFlag) IsRequired() bool + IsRequired returns whether or not the flag is required + +func (f *UintFlag) IsSet() bool + IsSet returns whether or not the flag has been set through env or file + +func (f *UintFlag) IsVisible() bool + IsVisible returns true if the flag is not hidden, otherwise false + +func (f *UintFlag) Names() []string + Names returns the names of the flag + +func (f *UintFlag) String() string + String returns a readable representation of this value (for usage defaults) + +func (f *UintFlag) TakesValue() bool + TakesValue returns true of the flag takes a value, otherwise false + +type VisibleFlag interface { + Flag + + // IsVisible returns true if the flag is not hidden, otherwise false + IsVisible() bool +} + VisibleFlag is an interface that allows to check if a flag is visible + +package altsrc // import "github.com/urfave/cli/v2/altsrc" + + +FUNCTIONS + +func ApplyInputSourceValues(cCtx *cli.Context, inputSourceContext InputSourceContext, flags []cli.Flag) error + ApplyInputSourceValues iterates over all provided flags and executes + ApplyInputSourceValue on flags implementing the FlagInputSourceExtension + interface to initialize these flags to an alternate input source. + +func InitInputSource(flags []cli.Flag, createInputSource func() (InputSourceContext, error)) cli.BeforeFunc + InitInputSource is used to to setup an InputSourceContext on a cli.Command + Before method. It will create a new input source based on the func provided. + If there is no error it will then apply the new input source to any flags + that are supported by the input source + +func InitInputSourceWithContext(flags []cli.Flag, createInputSource func(cCtx *cli.Context) (InputSourceContext, error)) cli.BeforeFunc + InitInputSourceWithContext is used to to setup an InputSourceContext on a + cli.Command Before method. It will create a new input source based on the + func provided with potentially using existing cli.Context values to + initialize itself. If there is no error it will then apply the new input + source to any flags that are supported by the input source + +func NewJSONSourceFromFlagFunc(flag string) func(c *cli.Context) (InputSourceContext, error) + NewJSONSourceFromFlagFunc returns a func that takes a cli.Context and + returns an InputSourceContext suitable for retrieving config variables from + a file containing JSON data with the file name defined by the given flag. + +func NewTomlSourceFromFlagFunc(flagFileName string) func(cCtx *cli.Context) (InputSourceContext, error) + NewTomlSourceFromFlagFunc creates a new TOML InputSourceContext from a + provided flag name and source context. + +func NewYamlSourceFromFlagFunc(flagFileName string) func(cCtx *cli.Context) (InputSourceContext, error) + NewYamlSourceFromFlagFunc creates a new Yaml InputSourceContext from a + provided flag name and source context. + + +TYPES + +type BoolFlag struct { + *cli.BoolFlag + // Has unexported fields. +} + BoolFlag is the flag type that wraps cli.BoolFlag to allow for other values + to be specified + +func NewBoolFlag(fl *cli.BoolFlag) *BoolFlag + NewBoolFlag creates a new BoolFlag + +func (f *BoolFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + BoolFlag.Apply + +func (f *BoolFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a Bool value to the flagSet if required + +type DurationFlag struct { + *cli.DurationFlag + // Has unexported fields. +} + DurationFlag is the flag type that wraps cli.DurationFlag to allow for other + values to be specified + +func NewDurationFlag(fl *cli.DurationFlag) *DurationFlag + NewDurationFlag creates a new DurationFlag + +func (f *DurationFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + DurationFlag.Apply + +func (f *DurationFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a Duration value to the flagSet if required + +type FlagInputSourceExtension interface { + cli.Flag + ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error +} + FlagInputSourceExtension is an extension interface of cli.Flag that allows a + value to be set on the existing parsed flags. + +type Float64Flag struct { + *cli.Float64Flag + // Has unexported fields. +} + Float64Flag is the flag type that wraps cli.Float64Flag to allow for other + values to be specified + +func NewFloat64Flag(fl *cli.Float64Flag) *Float64Flag + NewFloat64Flag creates a new Float64Flag + +func (f *Float64Flag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + Float64Flag.Apply + +func (f *Float64Flag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a Float64 value to the flagSet if required + +type Float64SliceFlag struct { + *cli.Float64SliceFlag + // Has unexported fields. +} + Float64SliceFlag is the flag type that wraps cli.Float64SliceFlag to allow + for other values to be specified + +func NewFloat64SliceFlag(fl *cli.Float64SliceFlag) *Float64SliceFlag + NewFloat64SliceFlag creates a new Float64SliceFlag + +func (f *Float64SliceFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + Float64SliceFlag.Apply + +type GenericFlag struct { + *cli.GenericFlag + // Has unexported fields. +} + GenericFlag is the flag type that wraps cli.GenericFlag to allow for other + values to be specified + +func NewGenericFlag(fl *cli.GenericFlag) *GenericFlag + NewGenericFlag creates a new GenericFlag + +func (f *GenericFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + GenericFlag.Apply + +func (f *GenericFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a generic value to the flagSet if required + +type InputSourceContext interface { + Source() string + + Int(name string) (int, error) + Duration(name string) (time.Duration, error) + Float64(name string) (float64, error) + String(name string) (string, error) + StringSlice(name string) ([]string, error) + IntSlice(name string) ([]int, error) + Generic(name string) (cli.Generic, error) + Bool(name string) (bool, error) + + // Has unexported methods. +} + InputSourceContext is an interface used to allow other input sources to be + implemented as needed. + + Source returns an identifier for the input source. In case of file source it + should return path to the file. + +func NewJSONSource(data []byte) (InputSourceContext, error) + NewJSONSource returns an InputSourceContext suitable for retrieving config + variables from raw JSON data. + +func NewJSONSourceFromFile(f string) (InputSourceContext, error) + NewJSONSourceFromFile returns an InputSourceContext suitable for retrieving + config variables from a file (or url) containing JSON data. + +func NewJSONSourceFromReader(r io.Reader) (InputSourceContext, error) + NewJSONSourceFromReader returns an InputSourceContext suitable for + retrieving config variables from an io.Reader that returns JSON data. + +func NewTomlSourceFromFile(file string) (InputSourceContext, error) + NewTomlSourceFromFile creates a new TOML InputSourceContext from a filepath. + +func NewYamlSourceFromFile(file string) (InputSourceContext, error) + NewYamlSourceFromFile creates a new Yaml InputSourceContext from a filepath. + +type Int64Flag struct { + *cli.Int64Flag + // Has unexported fields. +} + Int64Flag is the flag type that wraps cli.Int64Flag to allow for other + values to be specified + +func NewInt64Flag(fl *cli.Int64Flag) *Int64Flag + NewInt64Flag creates a new Int64Flag + +func (f *Int64Flag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + Int64Flag.Apply + +type Int64SliceFlag struct { + *cli.Int64SliceFlag + // Has unexported fields. +} + Int64SliceFlag is the flag type that wraps cli.Int64SliceFlag to allow for + other values to be specified + +func NewInt64SliceFlag(fl *cli.Int64SliceFlag) *Int64SliceFlag + NewInt64SliceFlag creates a new Int64SliceFlag + +func (f *Int64SliceFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + Int64SliceFlag.Apply + +type IntFlag struct { + *cli.IntFlag + // Has unexported fields. +} + IntFlag is the flag type that wraps cli.IntFlag to allow for other values to + be specified + +func NewIntFlag(fl *cli.IntFlag) *IntFlag + NewIntFlag creates a new IntFlag + +func (f *IntFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + IntFlag.Apply + +func (f *IntFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a int value to the flagSet if required + +type IntSliceFlag struct { + *cli.IntSliceFlag + // Has unexported fields. +} + IntSliceFlag is the flag type that wraps cli.IntSliceFlag to allow for other + values to be specified + +func NewIntSliceFlag(fl *cli.IntSliceFlag) *IntSliceFlag + NewIntSliceFlag creates a new IntSliceFlag + +func (f *IntSliceFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + IntSliceFlag.Apply + +func (f *IntSliceFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a IntSlice value if required + +type MapInputSource struct { + // Has unexported fields. +} + MapInputSource implements InputSourceContext to return data from the map + that is loaded. + +func NewMapInputSource(file string, valueMap map[interface{}]interface{}) *MapInputSource + NewMapInputSource creates a new MapInputSource for implementing custom input + sources. + +func (fsm *MapInputSource) Bool(name string) (bool, error) + Bool returns an bool from the map otherwise returns false + +func (fsm *MapInputSource) Duration(name string) (time.Duration, error) + Duration returns a duration from the map if it exists otherwise returns 0 + +func (fsm *MapInputSource) Float64(name string) (float64, error) + Float64 returns an float64 from the map if it exists otherwise returns 0 + +func (fsm *MapInputSource) Generic(name string) (cli.Generic, error) + Generic returns an cli.Generic from the map if it exists otherwise returns + nil + +func (fsm *MapInputSource) Int(name string) (int, error) + Int returns an int from the map if it exists otherwise returns 0 + +func (fsm *MapInputSource) IntSlice(name string) ([]int, error) + IntSlice returns an []int from the map if it exists otherwise returns nil + +func (fsm *MapInputSource) Source() string + Source returns the path of the source file + +func (fsm *MapInputSource) String(name string) (string, error) + String returns a string from the map if it exists otherwise returns an empty + string + +func (fsm *MapInputSource) StringSlice(name string) ([]string, error) + StringSlice returns an []string from the map if it exists otherwise returns + nil + +type PathFlag struct { + *cli.PathFlag + // Has unexported fields. +} + PathFlag is the flag type that wraps cli.PathFlag to allow for other values + to be specified + +func NewPathFlag(fl *cli.PathFlag) *PathFlag + NewPathFlag creates a new PathFlag + +func (f *PathFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + PathFlag.Apply + +func (f *PathFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a Path value to the flagSet if required + +type StringFlag struct { + *cli.StringFlag + // Has unexported fields. +} + StringFlag is the flag type that wraps cli.StringFlag to allow for other + values to be specified + +func NewStringFlag(fl *cli.StringFlag) *StringFlag + NewStringFlag creates a new StringFlag + +func (f *StringFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + StringFlag.Apply + +func (f *StringFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a String value to the flagSet if required + +type StringSliceFlag struct { + *cli.StringSliceFlag + // Has unexported fields. +} + StringSliceFlag is the flag type that wraps cli.StringSliceFlag to allow for + other values to be specified + +func NewStringSliceFlag(fl *cli.StringSliceFlag) *StringSliceFlag + NewStringSliceFlag creates a new StringSliceFlag + +func (f *StringSliceFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + StringSliceFlag.Apply + +func (f *StringSliceFlag) ApplyInputSourceValue(cCtx *cli.Context, isc InputSourceContext) error + ApplyInputSourceValue applies a StringSlice value to the flagSet if required + +type Uint64Flag struct { + *cli.Uint64Flag + // Has unexported fields. +} + Uint64Flag is the flag type that wraps cli.Uint64Flag to allow for other + values to be specified + +func NewUint64Flag(fl *cli.Uint64Flag) *Uint64Flag + NewUint64Flag creates a new Uint64Flag + +func (f *Uint64Flag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + Uint64Flag.Apply + +type UintFlag struct { + *cli.UintFlag + // Has unexported fields. +} + UintFlag is the flag type that wraps cli.UintFlag to allow for other values + to be specified + +func NewUintFlag(fl *cli.UintFlag) *UintFlag + NewUintFlag creates a new UintFlag + +func (f *UintFlag) Apply(set *flag.FlagSet) error + Apply saves the flagSet for later usage calls, then calls the wrapped + UintFlag.Apply + diff --git a/vendor/github.com/urfave/cli/v2/help.go b/vendor/github.com/urfave/cli/v2/help.go index 2f8156fca..51033928c 100644 --- a/vendor/github.com/urfave/cli/v2/help.go +++ b/vendor/github.com/urfave/cli/v2/help.go @@ -10,9 +10,14 @@ import ( "unicode/utf8" ) +const ( + helpName = "help" + helpAlias = "h" +) + var helpCommand = &Command{ - Name: "help", - Aliases: []string{"h"}, + Name: helpName, + Aliases: []string{helpAlias}, Usage: "Shows a list of commands or help for one command", ArgsUsage: "[command]", Action: func(cCtx *Context) error { @@ -27,8 +32,8 @@ var helpCommand = &Command{ } var helpSubcommand = &Command{ - Name: "help", - Aliases: []string{"h"}, + Name: helpName, + Aliases: []string{helpAlias}, Usage: "Shows a list of commands or help for one command", ArgsUsage: "[command]", Action: func(cCtx *Context) error { @@ -214,7 +219,13 @@ func ShowCommandHelp(ctx *Context, command string) error { } if ctx.App.CommandNotFound == nil { - return Exit(fmt.Sprintf("No help topic for '%v'", command), 3) + errMsg := fmt.Sprintf("No help topic for '%v'", command) + if ctx.App.Suggest { + if suggestion := suggestCommand(ctx.App.Commands, command); suggestion != "" { + errMsg += ". " + suggestion + } + } + return Exit(errMsg, 3) } ctx.App.CommandNotFound(ctx, command) diff --git a/vendor/github.com/urfave/cli/v2/mkdocs-requirements.txt b/vendor/github.com/urfave/cli/v2/mkdocs-requirements.txt new file mode 100644 index 000000000..482ad0622 --- /dev/null +++ b/vendor/github.com/urfave/cli/v2/mkdocs-requirements.txt @@ -0,0 +1,5 @@ +mkdocs-git-revision-date-localized-plugin~=1.0 +mkdocs-material-extensions~=1.0 +mkdocs-material~=8.2 +mkdocs~=1.3 +pygments~=2.12 diff --git a/vendor/github.com/urfave/cli/v2/mkdocs.yml b/vendor/github.com/urfave/cli/v2/mkdocs.yml new file mode 100644 index 000000000..73b88c509 --- /dev/null +++ b/vendor/github.com/urfave/cli/v2/mkdocs.yml @@ -0,0 +1,62 @@ +# NOTE: the mkdocs dependencies will need to be installed out of +# band until this whole thing gets more automated: +# +# pip install -r mkdocs-requirements.txt +# + +site_name: urfave/cli +site_url: https://cli.urfave.org/ +repo_url: https://github.com/urfave/cli +edit_uri: edit/main/docs/ +nav: + - Home: index.md + - v2 Manual: v2/index.md + - v1 Manual: v1/index.md +theme: + name: material + palette: + - media: "(prefers-color-scheme: light)" + scheme: default + toggle: + icon: material/brightness-4 + name: dark mode + - media: "(prefers-color-scheme: dark)" + scheme: slate + toggle: + icon: material/brightness-7 + name: light mode +plugins: + - git-revision-date-localized + - search +# NOTE: this is the recommended configuration from +# https://squidfunk.github.io/mkdocs-material/setup/extensions/#recommended-configuration +markdown_extensions: + - abbr + - admonition + - attr_list + - def_list + - footnotes + - meta + - md_in_html + - toc: + permalink: true + - pymdownx.arithmatex: + generic: true + - pymdownx.betterem: + smart_enable: all + - pymdownx.caret + - pymdownx.details + - pymdownx.emoji: + emoji_index: !!python/name:materialx.emoji.twemoji + emoji_generator: !!python/name:materialx.emoji.to_svg + - pymdownx.highlight + - pymdownx.inlinehilite + - pymdownx.keys + - pymdownx.mark + - pymdownx.smartsymbols + - pymdownx.superfences + - pymdownx.tabbed: + alternate_style: true + - pymdownx.tasklist: + custom_checkbox: true + - pymdownx.tilde diff --git a/vendor/github.com/urfave/cli/v2/parse.go b/vendor/github.com/urfave/cli/v2/parse.go index 7df17296a..a2db306e1 100644 --- a/vendor/github.com/urfave/cli/v2/parse.go +++ b/vendor/github.com/urfave/cli/v2/parse.go @@ -26,9 +26,8 @@ func parseIter(set *flag.FlagSet, ip iterativeParser, args []string, shellComple return err } - errStr := err.Error() - trimmed := strings.TrimPrefix(errStr, "flag provided but not defined: -") - if errStr == trimmed { + trimmed, trimErr := flagFromError(err) + if trimErr != nil { return err } @@ -67,6 +66,19 @@ func parseIter(set *flag.FlagSet, ip iterativeParser, args []string, shellComple } } +const providedButNotDefinedErrMsg = "flag provided but not defined: -" + +// flagFromError tries to parse a provided flag from an error message. If the +// parsing fials, it returns the input error and an empty string +func flagFromError(err error) (string, error) { + errStr := err.Error() + trimmed := strings.TrimPrefix(errStr, providedButNotDefinedErrMsg) + if errStr == trimmed { + return "", err + } + return trimmed, nil +} + func splitShortOptions(set *flag.FlagSet, arg string) []string { shortFlagsExist := func(s string) bool { for _, c := range s[1:] { diff --git a/vendor/github.com/urfave/cli/v2/suggestions.go b/vendor/github.com/urfave/cli/v2/suggestions.go new file mode 100644 index 000000000..476af4de5 --- /dev/null +++ b/vendor/github.com/urfave/cli/v2/suggestions.go @@ -0,0 +1,75 @@ +package cli + +import ( + "fmt" + + "github.com/antzucaro/matchr" +) + +const didYouMeanTemplate = "Did you mean '%s'?" + +func (a *App) suggestFlagFromError(err error, command string) (string, error) { + flag, parseErr := flagFromError(err) + if parseErr != nil { + return "", err + } + + flags := a.Flags + if command != "" { + cmd := a.Command(command) + if cmd == nil { + return "", err + } + flags = cmd.Flags + } + + suggestion := a.suggestFlag(flags, flag) + if len(suggestion) == 0 { + return "", err + } + + return fmt.Sprintf(didYouMeanTemplate+"\n\n", suggestion), nil +} + +func (a *App) suggestFlag(flags []Flag, provided string) (suggestion string) { + distance := 0.0 + + for _, flag := range flags { + flagNames := flag.Names() + if !a.HideHelp { + flagNames = append(flagNames, HelpFlag.Names()...) + } + for _, name := range flagNames { + newDistance := matchr.JaroWinkler(name, provided, true) + if newDistance > distance { + distance = newDistance + suggestion = name + } + } + } + + if len(suggestion) == 1 { + suggestion = "-" + suggestion + } else if len(suggestion) > 1 { + suggestion = "--" + suggestion + } + + return suggestion +} + +// suggestCommand takes a list of commands and a provided string to suggest a +// command name +func suggestCommand(commands []*Command, provided string) (suggestion string) { + distance := 0.0 + for _, command := range commands { + for _, name := range append(command.Names(), helpName, helpAlias) { + newDistance := matchr.JaroWinkler(name, provided, true) + if newDistance > distance { + distance = newDistance + suggestion = name + } + } + } + + return fmt.Sprintf(didYouMeanTemplate, suggestion) +} diff --git a/vendor/github.com/urfave/cli/v2/zz_generated.flags.go b/vendor/github.com/urfave/cli/v2/zz_generated.flags.go new file mode 100644 index 000000000..6c16c3e75 --- /dev/null +++ b/vendor/github.com/urfave/cli/v2/zz_generated.flags.go @@ -0,0 +1,657 @@ +// WARNING: this file is generated. DO NOT EDIT + +package cli + +import "time" + +// Float64SliceFlag is a flag with type *Float64Slice +type Float64SliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *Float64Slice + Destination *Float64Slice + + Aliases []string + EnvVars []string +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *Float64SliceFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *Float64SliceFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *Float64SliceFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *Float64SliceFlag) IsVisible() bool { + return !f.Hidden +} + +// GenericFlag is a flag with type Generic +type GenericFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value Generic + Destination *Generic + + Aliases []string + EnvVars []string + + TakesFile bool +} + +// String returns a readable representation of this value (for usage defaults) +func (f *GenericFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *GenericFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *GenericFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *GenericFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *GenericFlag) IsVisible() bool { + return !f.Hidden +} + +// Int64SliceFlag is a flag with type *Int64Slice +type Int64SliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *Int64Slice + Destination *Int64Slice + + Aliases []string + EnvVars []string +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *Int64SliceFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *Int64SliceFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *Int64SliceFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *Int64SliceFlag) IsVisible() bool { + return !f.Hidden +} + +// IntSliceFlag is a flag with type *IntSlice +type IntSliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *IntSlice + Destination *IntSlice + + Aliases []string + EnvVars []string +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *IntSliceFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *IntSliceFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *IntSliceFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *IntSliceFlag) IsVisible() bool { + return !f.Hidden +} + +// PathFlag is a flag with type Path +type PathFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value Path + Destination *Path + + Aliases []string + EnvVars []string + + TakesFile bool +} + +// String returns a readable representation of this value (for usage defaults) +func (f *PathFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *PathFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *PathFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *PathFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *PathFlag) IsVisible() bool { + return !f.Hidden +} + +// StringSliceFlag is a flag with type *StringSlice +type StringSliceFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *StringSlice + Destination *StringSlice + + Aliases []string + EnvVars []string + + TakesFile bool +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *StringSliceFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *StringSliceFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *StringSliceFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *StringSliceFlag) IsVisible() bool { + return !f.Hidden +} + +// TimestampFlag is a flag with type *Timestamp +type TimestampFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value *Timestamp + Destination *Timestamp + + Aliases []string + EnvVars []string + + Layout string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *TimestampFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *TimestampFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *TimestampFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *TimestampFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *TimestampFlag) IsVisible() bool { + return !f.Hidden +} + +// BoolFlag is a flag with type bool +type BoolFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value bool + Destination *bool + + Aliases []string + EnvVars []string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *BoolFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *BoolFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *BoolFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *BoolFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *BoolFlag) IsVisible() bool { + return !f.Hidden +} + +// Float64Flag is a flag with type float64 +type Float64Flag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value float64 + Destination *float64 + + Aliases []string + EnvVars []string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *Float64Flag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *Float64Flag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *Float64Flag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *Float64Flag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *Float64Flag) IsVisible() bool { + return !f.Hidden +} + +// IntFlag is a flag with type int +type IntFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value int + Destination *int + + Aliases []string + EnvVars []string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *IntFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *IntFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *IntFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *IntFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *IntFlag) IsVisible() bool { + return !f.Hidden +} + +// Int64Flag is a flag with type int64 +type Int64Flag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value int64 + Destination *int64 + + Aliases []string + EnvVars []string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *Int64Flag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *Int64Flag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *Int64Flag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *Int64Flag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *Int64Flag) IsVisible() bool { + return !f.Hidden +} + +// StringFlag is a flag with type string +type StringFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value string + Destination *string + + Aliases []string + EnvVars []string + + TakesFile bool +} + +// String returns a readable representation of this value (for usage defaults) +func (f *StringFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *StringFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *StringFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *StringFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *StringFlag) IsVisible() bool { + return !f.Hidden +} + +// DurationFlag is a flag with type time.Duration +type DurationFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value time.Duration + Destination *time.Duration + + Aliases []string + EnvVars []string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *DurationFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *DurationFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *DurationFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *DurationFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *DurationFlag) IsVisible() bool { + return !f.Hidden +} + +// UintFlag is a flag with type uint +type UintFlag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value uint + Destination *uint + + Aliases []string + EnvVars []string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *UintFlag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *UintFlag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *UintFlag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *UintFlag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *UintFlag) IsVisible() bool { + return !f.Hidden +} + +// Uint64Flag is a flag with type uint64 +type Uint64Flag struct { + Name string + + DefaultText string + FilePath string + Usage string + + Required bool + Hidden bool + HasBeenSet bool + + Value uint64 + Destination *uint64 + + Aliases []string + EnvVars []string +} + +// String returns a readable representation of this value (for usage defaults) +func (f *Uint64Flag) String() string { + return FlagStringer(f) +} + +// IsSet returns whether or not the flag has been set through env or file +func (f *Uint64Flag) IsSet() bool { + return f.HasBeenSet +} + +// Names returns the names of the flag +func (f *Uint64Flag) Names() []string { + return FlagNames(f.Name, f.Aliases) +} + +// IsRequired returns whether or not the flag is required +func (f *Uint64Flag) IsRequired() bool { + return f.Required +} + +// IsVisible returns true if the flag is not hidden, otherwise false +func (f *Uint64Flag) IsVisible() bool { + return !f.Hidden +} + +// vim:ro diff --git a/vendor/golang.org/x/net/http2/hpack/huffman.go b/vendor/golang.org/x/net/http2/hpack/huffman.go index fe0b84ccd..20d083a71 100644 --- a/vendor/golang.org/x/net/http2/hpack/huffman.go +++ b/vendor/golang.org/x/net/http2/hpack/huffman.go @@ -169,25 +169,50 @@ func buildRootHuffmanNode() { // AppendHuffmanString appends s, as encoded in Huffman codes, to dst // and returns the extended buffer. func AppendHuffmanString(dst []byte, s string) []byte { - rembits := uint8(8) - + // This relies on the maximum huffman code length being 30 (See tables.go huffmanCodeLen array) + // So if a uint64 buffer has less than 32 valid bits can always accommodate another huffmanCode. + var ( + x uint64 // buffer + n uint // number valid of bits present in x + ) for i := 0; i < len(s); i++ { - if rembits == 8 { - dst = append(dst, 0) + c := s[i] + n += uint(huffmanCodeLen[c]) + x <<= huffmanCodeLen[c] % 64 + x |= uint64(huffmanCodes[c]) + if n >= 32 { + n %= 32 // Normally would be -= 32 but %= 32 informs compiler 0 <= n <= 31 for upcoming shift + y := uint32(x >> n) // Compiler doesn't combine memory writes if y isn't uint32 + dst = append(dst, byte(y>>24), byte(y>>16), byte(y>>8), byte(y)) } - dst, rembits = appendByteToHuffmanCode(dst, rembits, s[i]) } - - if rembits < 8 { - // special EOS symbol - code := uint32(0x3fffffff) - nbits := uint8(30) - - t := uint8(code >> (nbits - rembits)) - dst[len(dst)-1] |= t + // Add padding bits if necessary + if over := n % 8; over > 0 { + const ( + eosCode = 0x3fffffff + eosNBits = 30 + eosPadByte = eosCode >> (eosNBits - 8) + ) + pad := 8 - over + x = (x << pad) | (eosPadByte >> over) + n += pad // 8 now divides into n exactly } - - return dst + // n in (0, 8, 16, 24, 32) + switch n / 8 { + case 0: + return dst + case 1: + return append(dst, byte(x)) + case 2: + y := uint16(x) + return append(dst, byte(y>>8), byte(y)) + case 3: + y := uint16(x >> 8) + return append(dst, byte(y>>8), byte(y), byte(x)) + } + // case 4: + y := uint32(x) + return append(dst, byte(y>>24), byte(y>>16), byte(y>>8), byte(y)) } // HuffmanEncodeLength returns the number of bytes required to encode @@ -199,35 +224,3 @@ func HuffmanEncodeLength(s string) uint64 { } return (n + 7) / 8 } - -// appendByteToHuffmanCode appends Huffman code for c to dst and -// returns the extended buffer and the remaining bits in the last -// element. The appending is not byte aligned and the remaining bits -// in the last element of dst is given in rembits. -func appendByteToHuffmanCode(dst []byte, rembits uint8, c byte) ([]byte, uint8) { - code := huffmanCodes[c] - nbits := huffmanCodeLen[c] - - for { - if rembits > nbits { - t := uint8(code << (rembits - nbits)) - dst[len(dst)-1] |= t - rembits -= nbits - break - } - - t := uint8(code >> (nbits - rembits)) - dst[len(dst)-1] |= t - - nbits -= rembits - rembits = 8 - - if nbits == 0 { - break - } - - dst = append(dst, 0) - } - - return dst, rembits -} diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index 4bb0d66e3..2d859af8f 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -2645,8 +2645,7 @@ func checkWriteHeaderCode(code int) { // Issue 22880: require valid WriteHeader status codes. // For now we only enforce that it's three digits. // In the future we might block things over 599 (600 and above aren't defined - // at http://httpwg.org/specs/rfc7231.html#status.codes) - // and we might block under 200 (once we have more mature 1xx support). + // at http://httpwg.org/specs/rfc7231.html#status.codes). // But for now any three digits. // // We used to send "HTTP/1.1 000 0" on the wire in responses but there's @@ -2667,13 +2666,41 @@ func (w *responseWriter) WriteHeader(code int) { } func (rws *responseWriterState) writeHeader(code int) { - if !rws.wroteHeader { - checkWriteHeaderCode(code) - rws.wroteHeader = true - rws.status = code - if len(rws.handlerHeader) > 0 { - rws.snapHeader = cloneHeader(rws.handlerHeader) + if rws.wroteHeader { + return + } + + checkWriteHeaderCode(code) + + // Handle informational headers + if code >= 100 && code <= 199 { + // Per RFC 8297 we must not clear the current header map + h := rws.handlerHeader + + _, cl := h["Content-Length"] + _, te := h["Transfer-Encoding"] + if cl || te { + h = h.Clone() + h.Del("Content-Length") + h.Del("Transfer-Encoding") } + + if rws.conn.writeHeaders(rws.stream, &writeResHeaders{ + streamID: rws.stream.id, + httpResCode: code, + h: h, + endStream: rws.handlerDone && !rws.hasTrailers(), + }) != nil { + rws.dirty = true + } + + return + } + + rws.wroteHeader = true + rws.status = code + if len(rws.handlerHeader) > 0 { + rws.snapHeader = cloneHeader(rws.handlerHeader) } } diff --git a/vendor/golang.org/x/sync/errgroup/errgroup.go b/vendor/golang.org/x/sync/errgroup/errgroup.go index 9857fe53d..1eab2fdf9 100644 --- a/vendor/golang.org/x/sync/errgroup/errgroup.go +++ b/vendor/golang.org/x/sync/errgroup/errgroup.go @@ -8,9 +8,12 @@ package errgroup import ( "context" + "fmt" "sync" ) +type token struct{} + // A Group is a collection of goroutines working on subtasks that are part of // the same overall task. // @@ -20,10 +23,19 @@ type Group struct { wg sync.WaitGroup + sem chan token + errOnce sync.Once err error } +func (g *Group) done() { + if g.sem != nil { + <-g.sem + } + g.wg.Done() +} + // WithContext returns a new Group and an associated Context derived from ctx. // // The derived Context is canceled the first time a function passed to Go @@ -45,14 +57,19 @@ func (g *Group) Wait() error { } // Go calls the given function in a new goroutine. +// It blocks until the new goroutine can be added without the number of +// active goroutines in the group exceeding the configured limit. // // The first call to return a non-nil error cancels the group; its error will be // returned by Wait. func (g *Group) Go(f func() error) { - g.wg.Add(1) + if g.sem != nil { + g.sem <- token{} + } + g.wg.Add(1) go func() { - defer g.wg.Done() + defer g.done() if err := f(); err != nil { g.errOnce.Do(func() { @@ -64,3 +81,51 @@ func (g *Group) Go(f func() error) { } }() } + +// TryGo calls the given function in a new goroutine only if the number of +// active goroutines in the group is currently below the configured limit. +// +// The return value reports whether the goroutine was started. +func (g *Group) TryGo(f func() error) bool { + if g.sem != nil { + select { + case g.sem <- token{}: + // Note: this allows barging iff channels in general allow barging. + default: + return false + } + } + + g.wg.Add(1) + go func() { + defer g.done() + + if err := f(); err != nil { + g.errOnce.Do(func() { + g.err = err + if g.cancel != nil { + g.cancel() + } + }) + } + }() + return true +} + +// SetLimit limits the number of active goroutines in this group to at most n. +// A negative value indicates no limit. +// +// Any subsequent call to the Go method will block until it can add an active +// goroutine without exceeding the configured limit. +// +// The limit must not be modified while any goroutines in the group are active. +func (g *Group) SetLimit(n int) { + if n < 0 { + g.sem = nil + return + } + if len(g.sem) != 0 { + panic(fmt.Errorf("errgroup: modify limit while %v goroutines in the group are still active", len(g.sem))) + } + g.sem = make(chan token, n) +} diff --git a/vendor/golang.org/x/sys/unix/ifreq_linux.go b/vendor/golang.org/x/sys/unix/ifreq_linux.go index 934af313c..15721a510 100644 --- a/vendor/golang.org/x/sys/unix/ifreq_linux.go +++ b/vendor/golang.org/x/sys/unix/ifreq_linux.go @@ -8,7 +8,6 @@ package unix import ( - "bytes" "unsafe" ) @@ -45,13 +44,7 @@ func NewIfreq(name string) (*Ifreq, error) { // Name returns the interface name associated with the Ifreq. func (ifr *Ifreq) Name() string { - // BytePtrToString requires a NULL terminator or the program may crash. If - // one is not present, just return the empty string. - if !bytes.Contains(ifr.raw.Ifrn[:], []byte{0x00}) { - return "" - } - - return BytePtrToString(&ifr.raw.Ifrn[0]) + return ByteSliceToString(ifr.raw.Ifrn[:]) } // According to netdevice(7), only AF_INET addresses are returned for numerous diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go index 09a25c653..e5448cc93 100644 --- a/vendor/golang.org/x/sys/unix/syscall_darwin.go +++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go @@ -504,6 +504,7 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { //sys Mkdirat(dirfd int, path string, mode uint32) (err error) //sys Mkfifo(path string, mode uint32) (err error) //sys Mknod(path string, mode uint32, dev int) (err error) +//sys Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) //sys Open(path string, mode int, perm uint32) (fd int, err error) //sys Openat(dirfd int, path string, mode int, perm uint32) (fd int, err error) //sys Pathconf(path string, name int) (val int, err error) @@ -572,7 +573,6 @@ func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) { // Nfssvc // Getfh // Quotactl -// Mount // Csops // Waitid // Add_profil diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go index 234fd4a5d..1b305fab1 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go @@ -5,7 +5,7 @@ // +build 386,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go index 58619b758..6bcdef5dd 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go @@ -5,7 +5,7 @@ // +build amd64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go index 3a64ff59d..e65df0f8d 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go @@ -5,7 +5,7 @@ // +build arm,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go index abe0b9257..c7021115a 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go @@ -5,7 +5,7 @@ // +build arm64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go index ebc5f3218..0d83a1cd4 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_loong64.go @@ -5,7 +5,7 @@ // +build loong64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go index 14d7a8439..7f44a495b 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go @@ -5,7 +5,7 @@ // +build mips,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go index 99e7c4ac0..2f92b4e48 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go @@ -5,7 +5,7 @@ // +build mips64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go index 496364c33..f5367a966 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go @@ -5,7 +5,7 @@ // +build mips64le,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go index 3e4083085..2e22337d7 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go @@ -5,7 +5,7 @@ // +build mipsle,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go index 1151a7dfa..858c4f30f 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go @@ -5,7 +5,7 @@ // +build ppc,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go index ed17f249e..af2a7ba6e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go @@ -5,7 +5,7 @@ // +build ppc64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go index d84a37c1a..eaa2eb8e2 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go @@ -5,7 +5,7 @@ // +build ppc64le,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go index 5cafba83f..faaa9f063 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go @@ -5,7 +5,7 @@ // +build riscv64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go index 6d122da41..0d161f0b7 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go @@ -5,7 +5,7 @@ // +build s390x,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go index 6bd19e51d..4fd497a3e 100644 --- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go @@ -5,7 +5,7 @@ // +build sparc64,linux // Code generated by cmd/cgo -godefs; DO NOT EDIT. -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include _const.go package unix diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go index 879376589..467deed76 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go @@ -1643,6 +1643,30 @@ var libc_mknod_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Open(path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s index 8da90cf0e..7e308a476 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s @@ -600,6 +600,12 @@ TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) + +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go index f47eedd5a..35938d34f 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go @@ -1643,6 +1643,30 @@ var libc_mknod_trampoline_addr uintptr // THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT +func Mount(fsType string, dir string, flags int, data unsafe.Pointer) (err error) { + var _p0 *byte + _p0, err = BytePtrFromString(fsType) + if err != nil { + return + } + var _p1 *byte + _p1, err = BytePtrFromString(dir) + if err != nil { + return + } + _, _, e1 := syscall_syscall6(libc_mount_trampoline_addr, uintptr(unsafe.Pointer(_p0)), uintptr(unsafe.Pointer(_p1)), uintptr(flags), uintptr(data), 0, 0) + if e1 != 0 { + err = errnoErr(e1) + } + return +} + +var libc_mount_trampoline_addr uintptr + +//go:cgo_import_dynamic libc_mount mount "/usr/lib/libSystem.B.dylib" + +// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT + func Open(path string, mode int, perm uint32) (fd int, err error) { var _p0 *byte _p0, err = BytePtrFromString(path) diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s index 4d26f7d01..b09e5bb0e 100644 --- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s +++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s @@ -600,6 +600,12 @@ TEXT libc_mknod_trampoline<>(SB),NOSPLIT,$0-0 GLOBL ·libc_mknod_trampoline_addr(SB), RODATA, $8 DATA ·libc_mknod_trampoline_addr(SB)/8, $libc_mknod_trampoline<>(SB) +TEXT libc_mount_trampoline<>(SB),NOSPLIT,$0-0 + JMP libc_mount(SB) + +GLOBL ·libc_mount_trampoline_addr(SB), RODATA, $8 +DATA ·libc_mount_trampoline_addr(SB)/8, $libc_mount_trampoline<>(SB) + TEXT libc_open_trampoline<>(SB),NOSPLIT,$0-0 JMP libc_open(SB) diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go index 531409256..4948362f2 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build 386 && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go index b02ab83db..f64345e0e 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build amd64 && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go index 9e6871d2e..72469c79e 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go index b732d1255..68f072283 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build arm64 && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go index 61fbb24f8..090ae46c6 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_loong64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build loong64 && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go index 5310f71ea..03604cca1 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go index 219bbb126..fe57a7b26 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64 && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go index be9432da5..3f0db4da8 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mips64le && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go index d0155a42e..70ecd3b23 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build mipsle && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go index 01c17bcc6..4e700120d 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go index 944a9c3c7..34a57c699 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64 && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go index 5d2c90e1c..6b84a4729 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build ppc64le && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go index e173cb515..c4a305fe2 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build riscv64 && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go index 6106715d5..a1f1e4c9e 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build s390x && linux diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go index ca7b37b4b..df95ebf3a 100644 --- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go +++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go @@ -1,4 +1,4 @@ -// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go +// cgo -godefs -- -Wall -Werror -static -I/tmp/include linux/types.go | go run mkpost.go // Code generated by the command above; see README.md. DO NOT EDIT. //go:build sparc64 && linux diff --git a/vendor/google.golang.org/api/internal/version.go b/vendor/google.golang.org/api/internal/version.go index da7c6a545..64a30b48e 100644 --- a/vendor/google.golang.org/api/internal/version.go +++ b/vendor/google.golang.org/api/internal/version.go @@ -5,4 +5,4 @@ package internal // Version is the current tagged release of the library. -const Version = "0.78.0" +const Version = "0.80.0" diff --git a/vendor/google.golang.org/api/storage/v1/storage-api.json b/vendor/google.golang.org/api/storage/v1/storage-api.json index 998eac671..8b0a8f87d 100644 --- a/vendor/google.golang.org/api/storage/v1/storage-api.json +++ b/vendor/google.golang.org/api/storage/v1/storage-api.json @@ -26,7 +26,7 @@ "description": "Stores and retrieves potentially large, immutable data objects.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/storage/docs/json_api/", - "etag": "\"37343432393730373535343630303638323335\"", + "etag": "\"3135383434363131313530373135383336353335\"", "icons": { "x16": "https://www.google.com/images/icons/product/cloud_storage-16.png", "x32": "https://www.google.com/images/icons/product/cloud_storage-32.png" @@ -3005,7 +3005,7 @@ } } }, - "revision": "20220401", + "revision": "20220509", "rootUrl": "https://storage.googleapis.com/", "schemas": { "Bucket": { @@ -3223,6 +3223,13 @@ "description": "A regular expression that satisfies the RE2 syntax. This condition is satisfied when the name of the object matches the RE2 pattern. Note: This feature is currently in the \"Early Access\" launch stage and is only available to a whitelisted set of users; that means that this feature may be changed in backward-incompatible ways and that it is not guaranteed to be released.", "type": "string" }, + "matchesPrefix": { + "description": "List of object name prefixes. This condition will be satisfied when at least one of the prefixes exactly matches the beginning of the object name.", + "items": { + "type": "string" + }, + "type": "array" + }, "matchesStorageClass": { "description": "Objects having any of the storage classes specified by this condition will be matched. Values include MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, and DURABLE_REDUCED_AVAILABILITY.", "items": { @@ -3230,6 +3237,13 @@ }, "type": "array" }, + "matchesSuffix": { + "description": "List of object name suffixes. This condition will be satisfied when at least one of the suffixes exactly matches the end of the object name.", + "items": { + "type": "string" + }, + "type": "array" + }, "noncurrentTimeBefore": { "description": "A date in RFC 3339 format with only the date part (for instance, \"2013-01-15\"). This condition is satisfied when the noncurrent time on an object is before this date in UTC. This condition is relevant only for versioned objects.", "format": "date", diff --git a/vendor/google.golang.org/api/storage/v1/storage-gen.go b/vendor/google.golang.org/api/storage/v1/storage-gen.go index a5bb739f9..8ef427200 100644 --- a/vendor/google.golang.org/api/storage/v1/storage-gen.go +++ b/vendor/google.golang.org/api/storage/v1/storage-gen.go @@ -827,12 +827,22 @@ type BucketLifecycleRuleCondition struct { // ways and that it is not guaranteed to be released. MatchesPattern string `json:"matchesPattern,omitempty"` + // MatchesPrefix: List of object name prefixes. This condition will be + // satisfied when at least one of the prefixes exactly matches the + // beginning of the object name. + MatchesPrefix []string `json:"matchesPrefix,omitempty"` + // MatchesStorageClass: Objects having any of the storage classes // specified by this condition will be matched. Values include // MULTI_REGIONAL, REGIONAL, NEARLINE, COLDLINE, ARCHIVE, STANDARD, and // DURABLE_REDUCED_AVAILABILITY. MatchesStorageClass []string `json:"matchesStorageClass,omitempty"` + // MatchesSuffix: List of object name suffixes. This condition will be + // satisfied when at least one of the suffixes exactly matches the end + // of the object name. + MatchesSuffix []string `json:"matchesSuffix,omitempty"` + // NoncurrentTimeBefore: A date in RFC 3339 format with only the date // part (for instance, "2013-01-15"). This condition is satisfied when // the noncurrent time on an object is before this date in UTC. This diff --git a/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go b/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go index a6e73835b..e47839582 100644 --- a/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go +++ b/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go @@ -176,7 +176,7 @@ func (x ServiceConstants_Values) Number() protoreflect.EnumNumber { // Deprecated: Use ServiceConstants_Values.Descriptor instead. func (ServiceConstants_Values) EnumDescriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 0} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{37, 0} } // Request message for DeleteBucket. @@ -192,8 +192,6 @@ type DeleteBucketRequest struct { // If set, only deletes the bucket if its metageneration does not match this // value. IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *DeleteBucketRequest) Reset() { @@ -249,13 +247,6 @@ func (x *DeleteBucketRequest) GetIfMetagenerationNotMatch() int64 { return 0 } -func (x *DeleteBucketRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request message for GetBucket. type GetBucketRequest struct { state protoimpl.MessageState @@ -270,8 +261,6 @@ type GetBucketRequest struct { // If set, and if the bucket's current metageneration matches the specified // value, the request will return an error. IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` // Mask specifying which fields to read. // A "*" field may be used to indicate all fields. // If no mask is specified, will default to all fields. @@ -331,13 +320,6 @@ func (x *GetBucketRequest) GetIfMetagenerationNotMatch() int64 { return 0 } -func (x *GetBucketRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - func (x *GetBucketRequest) GetReadMask() *fieldmaskpb.FieldMask { if x != nil { return x.ReadMask @@ -354,8 +336,9 @@ type CreateBucketRequest struct { // Required. The project to which this bucket will belong. Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"` // Required. Properties of the new bucket being inserted. - // The project and name of the bucket are specified in this request, not in - // the bucket resource. + // The project and name of the bucket are specified in the parent and + // bucket_id fields, respectively. Populating those fields in `bucket` will + // result in an error. Bucket *Bucket `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"` // Required. The ID to use for this bucket, which will become the final component of // the bucket's resource name. For example, the value `foo` might result in @@ -461,8 +444,6 @@ type ListBucketsRequest struct { // items.acl, and items.default_object_acl. // * may be used to mean "all fields". ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *ListBucketsRequest) Reset() { @@ -532,13 +513,6 @@ func (x *ListBucketsRequest) GetReadMask() *fieldmaskpb.FieldMask { return nil } -func (x *ListBucketsRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // The result of a call to Buckets.ListBuckets type ListBucketsResponse struct { state protoimpl.MessageState @@ -609,8 +583,6 @@ type LockBucketRetentionPolicyRequest struct { // Makes the operation conditional on whether bucket's current metageneration // matches the given value. Must be positive. IfMetagenerationMatch int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *LockBucketRetentionPolicyRequest) Reset() { @@ -659,13 +631,6 @@ func (x *LockBucketRetentionPolicyRequest) GetIfMetagenerationMatch() int64 { return 0 } -func (x *LockBucketRetentionPolicyRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request for UpdateBucket method. type UpdateBucketRequest struct { state protoimpl.MessageState @@ -700,8 +665,6 @@ type UpdateBucketRequest struct { // Not specifying a field while setting that field to a non-default value is // an error. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,7,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *UpdateBucketRequest) Reset() { @@ -778,13 +741,6 @@ func (x *UpdateBucketRequest) GetUpdateMask() *fieldmaskpb.FieldMask { return nil } -func (x *UpdateBucketRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request message for DeleteNotification. type DeleteNotificationRequest struct { state protoimpl.MessageState @@ -1103,8 +1059,6 @@ type ComposeObjectRequest struct { KmsKey string `protobuf:"bytes,6,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,7,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,8,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *ComposeObjectRequest) Reset() { @@ -1188,13 +1142,6 @@ func (x *ComposeObjectRequest) GetCommonObjectRequestParams() *CommonObjectReque return nil } -func (x *ComposeObjectRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Message for deleting an object. // Either `bucket` and `object` *or* `upload_id` **must** be set (but not both). type DeleteObjectRequest struct { @@ -1230,8 +1177,6 @@ type DeleteObjectRequest struct { IfMetagenerationNotMatch *int64 `protobuf:"varint,8,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *DeleteObjectRequest) Reset() { @@ -1329,13 +1274,6 @@ func (x *DeleteObjectRequest) GetCommonObjectRequestParams() *CommonObjectReques return nil } -func (x *DeleteObjectRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request message for ReadObject. type ReadObjectRequest struct { state protoimpl.MessageState @@ -1384,8 +1322,6 @@ type ReadObjectRequest struct { IfMetagenerationNotMatch *int64 `protobuf:"varint,9,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` // Mask specifying which fields to read. // The checksummed_data field and its children will always be present. // If no mask is specified, will default to all fields except metadata.owner @@ -1496,13 +1432,6 @@ func (x *ReadObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestP return nil } -func (x *ReadObjectRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - func (x *ReadObjectRequest) GetReadMask() *fieldmaskpb.FieldMask { if x != nil { return x.ReadMask @@ -1540,8 +1469,6 @@ type GetObjectRequest struct { IfMetagenerationNotMatch *int64 `protobuf:"varint,7,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` // Mask specifying which fields to read. // If no mask is specified, will default to all fields except metadata.acl and // metadata.owner. @@ -1637,13 +1564,6 @@ func (x *GetObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestPa return nil } -func (x *GetObjectRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - func (x *GetObjectRequest) GetReadMask() *fieldmaskpb.FieldMask { if x != nil { return x.ReadMask @@ -1883,8 +1803,6 @@ type WriteObjectRequest struct { FinishWrite bool `protobuf:"varint,7,opt,name=finish_write,json=finishWrite,proto3" json:"finish_write,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *WriteObjectRequest) Reset() { @@ -1982,13 +1900,6 @@ func (x *WriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequest return nil } -func (x *WriteObjectRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - type isWriteObjectRequest_FirstMessage interface { isWriteObjectRequest_FirstMessage() } @@ -2157,8 +2068,6 @@ type ListObjectsRequest struct { // have names between lexicographic_start (inclusive) and lexicographic_end // (exclusive). LexicographicEnd string `protobuf:"bytes,11,opt,name=lexicographic_end,json=lexicographicEnd,proto3" json:"lexicographic_end,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *ListObjectsRequest) Reset() { @@ -2263,13 +2172,6 @@ func (x *ListObjectsRequest) GetLexicographicEnd() string { return "" } -func (x *ListObjectsRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request object for `QueryWriteStatus`. type QueryWriteStatusRequest struct { state protoimpl.MessageState @@ -2281,8 +2183,6 @@ type QueryWriteStatusRequest struct { UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,2,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *QueryWriteStatusRequest) Reset() { @@ -2331,13 +2231,6 @@ func (x *QueryWriteStatusRequest) GetCommonObjectRequestParams() *CommonObjectRe return nil } -func (x *QueryWriteStatusRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Response object for `QueryWriteStatus`. type QueryWriteStatusResponse struct { state protoimpl.MessageState @@ -2530,8 +2423,6 @@ type RewriteObjectRequest struct { CopySourceEncryptionKeySha256Bytes []byte `protobuf:"bytes,22,opt,name=copy_source_encryption_key_sha256_bytes,json=copySourceEncryptionKeySha256Bytes,proto3" json:"copy_source_encryption_key_sha256_bytes,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,19,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,20,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *RewriteObjectRequest) Reset() { @@ -2720,13 +2611,6 @@ func (x *RewriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectReque return nil } -func (x *RewriteObjectRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // A rewrite response. type RewriteResponse struct { state protoimpl.MessageState @@ -2827,8 +2711,6 @@ type StartResumableWriteRequest struct { WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,1,opt,name=write_object_spec,json=writeObjectSpec,proto3" json:"write_object_spec,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,3,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *StartResumableWriteRequest) Reset() { @@ -2877,13 +2759,6 @@ func (x *StartResumableWriteRequest) GetCommonObjectRequestParams() *CommonObjec return nil } -func (x *StartResumableWriteRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Response object for `StartResumableWrite`. type StartResumableWriteResponse struct { state protoimpl.MessageState @@ -2978,8 +2853,6 @@ type UpdateObjectRequest struct { UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` // A set of parameters common to Storage API requests concerning an object. CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *UpdateObjectRequest) Reset() { @@ -3070,13 +2943,6 @@ func (x *UpdateObjectRequest) GetCommonObjectRequestParams() *CommonObjectReques return nil } -func (x *UpdateObjectRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request message for GetServiceAccount. type GetServiceAccountRequest struct { state protoimpl.MessageState @@ -3085,8 +2951,6 @@ type GetServiceAccountRequest struct { // Required. Project ID. Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *GetServiceAccountRequest) Reset() { @@ -3128,13 +2992,6 @@ func (x *GetServiceAccountRequest) GetProject() string { return "" } -func (x *GetServiceAccountRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request message for CreateHmacKey. type CreateHmacKeyRequest struct { state protoimpl.MessageState @@ -3145,8 +3002,6 @@ type CreateHmacKeyRequest struct { Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"` // Required. The service account to create the HMAC for. ServiceAccountEmail string `protobuf:"bytes,2,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *CreateHmacKeyRequest) Reset() { @@ -3195,13 +3050,6 @@ func (x *CreateHmacKeyRequest) GetServiceAccountEmail() string { return "" } -func (x *CreateHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Create hmac response. The only time the secret for an HMAC will be returned. type CreateHmacKeyResponse struct { state protoimpl.MessageState @@ -3271,8 +3119,6 @@ type DeleteHmacKeyRequest struct { AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` // Required. The project id the HMAC key lies in. Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *DeleteHmacKeyRequest) Reset() { @@ -3321,13 +3167,6 @@ func (x *DeleteHmacKeyRequest) GetProject() string { return "" } -func (x *DeleteHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request object to get metadata on a given HMAC key. type GetHmacKeyRequest struct { state protoimpl.MessageState @@ -3338,8 +3177,6 @@ type GetHmacKeyRequest struct { AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"` // Required. The project id the HMAC key lies in. Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *GetHmacKeyRequest) Reset() { @@ -3388,13 +3225,6 @@ func (x *GetHmacKeyRequest) GetProject() string { return "" } -func (x *GetHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Request to fetch a list of HMAC keys under a given project. type ListHmacKeysRequest struct { state protoimpl.MessageState @@ -3411,8 +3241,6 @@ type ListHmacKeysRequest struct { ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` // Optional. If set, return deleted keys that have not yet been wiped out. ShowDeletedKeys bool `protobuf:"varint,5,opt,name=show_deleted_keys,json=showDeletedKeys,proto3" json:"show_deleted_keys,omitempty"` - // Optional. A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` } func (x *ListHmacKeysRequest) Reset() { @@ -3482,13 +3310,6 @@ func (x *ListHmacKeysRequest) GetShowDeletedKeys() bool { return false } -func (x *ListHmacKeysRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - // Hmac key list response with next page information. type ListHmacKeysResponse struct { state protoimpl.MessageState @@ -3559,8 +3380,6 @@ type UpdateHmacKeyRequest struct { // Otherwise, the hmac_key's access_id and project fields will be used to // identify the key. HmacKey *HmacKeyMetadata `protobuf:"bytes,1,opt,name=hmac_key,json=hmacKey,proto3" json:"hmac_key,omitempty"` - // A set of parameters common to all Storage API requests. - CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"` // Update mask for hmac_key. UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"` } @@ -3604,13 +3423,6 @@ func (x *UpdateHmacKeyRequest) GetHmacKey() *HmacKeyMetadata { return nil } -func (x *UpdateHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams { - if x != nil { - return x.CommonRequestParams - } - return nil -} - func (x *UpdateHmacKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask { if x != nil { return x.UpdateMask @@ -3688,55 +3500,6 @@ func (x *CommonObjectRequestParams) GetEncryptionKeySha256Bytes() []byte { return nil } -// Parameters that can be passed to any request. -type CommonRequestParams struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - // Required. Required when using buckets with Requestor Pays feature enabled. - UserProject string `protobuf:"bytes,1,opt,name=user_project,json=userProject,proto3" json:"user_project,omitempty"` -} - -func (x *CommonRequestParams) Reset() { - *x = CommonRequestParams{} - if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[37] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *CommonRequestParams) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*CommonRequestParams) ProtoMessage() {} - -func (x *CommonRequestParams) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[37] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use CommonRequestParams.ProtoReflect.Descriptor instead. -func (*CommonRequestParams) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{37} -} - -func (x *CommonRequestParams) GetUserProject() string { - if x != nil { - return x.UserProject - } - return "" -} - // Shared constants. type ServiceConstants struct { state protoimpl.MessageState @@ -3747,7 +3510,7 @@ type ServiceConstants struct { func (x *ServiceConstants) Reset() { *x = ServiceConstants{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[38] + mi := &file_google_storage_v2_storage_proto_msgTypes[37] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3760,7 +3523,7 @@ func (x *ServiceConstants) String() string { func (*ServiceConstants) ProtoMessage() {} func (x *ServiceConstants) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[38] + mi := &file_google_storage_v2_storage_proto_msgTypes[37] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3773,7 +3536,7 @@ func (x *ServiceConstants) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceConstants.ProtoReflect.Descriptor instead. func (*ServiceConstants) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{37} } // A bucket. @@ -3828,8 +3591,7 @@ type Bucket struct { // [https://developers.google.com/storage/docs/lifecycle]Lifecycle Management] // for more information. Lifecycle *Bucket_Lifecycle `protobuf:"bytes,10,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"` - // Output only. The creation time of the bucket in - // [https://tools.ietf.org/html/rfc3339][RFC 3339] format. + // Output only. The creation time of the bucket. // Attempting to set or update this field will result in a // [FieldViolation][google.rpc.BadRequest.FieldViolation]. CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` @@ -3894,7 +3656,7 @@ type Bucket struct { func (x *Bucket) Reset() { *x = Bucket{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[39] + mi := &file_google_storage_v2_storage_proto_msgTypes[38] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -3907,7 +3669,7 @@ func (x *Bucket) String() string { func (*Bucket) ProtoMessage() {} func (x *Bucket) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[39] + mi := &file_google_storage_v2_storage_proto_msgTypes[38] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -3920,7 +3682,7 @@ func (x *Bucket) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket.ProtoReflect.Descriptor instead. func (*Bucket) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38} } func (x *Bucket) GetName() string { @@ -4144,7 +3906,7 @@ type BucketAccessControl struct { func (x *BucketAccessControl) Reset() { *x = BucketAccessControl{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[40] + mi := &file_google_storage_v2_storage_proto_msgTypes[39] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4157,7 +3919,7 @@ func (x *BucketAccessControl) String() string { func (*BucketAccessControl) ProtoMessage() {} func (x *BucketAccessControl) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[40] + mi := &file_google_storage_v2_storage_proto_msgTypes[39] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4170,7 +3932,7 @@ func (x *BucketAccessControl) ProtoReflect() protoreflect.Message { // Deprecated: Use BucketAccessControl.ProtoReflect.Descriptor instead. func (*BucketAccessControl) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{40} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39} } func (x *BucketAccessControl) GetRole() string { @@ -4238,7 +4000,7 @@ type ChecksummedData struct { func (x *ChecksummedData) Reset() { *x = ChecksummedData{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[41] + mi := &file_google_storage_v2_storage_proto_msgTypes[40] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4251,7 +4013,7 @@ func (x *ChecksummedData) String() string { func (*ChecksummedData) ProtoMessage() {} func (x *ChecksummedData) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[41] + mi := &file_google_storage_v2_storage_proto_msgTypes[40] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4264,7 +4026,7 @@ func (x *ChecksummedData) ProtoReflect() protoreflect.Message { // Deprecated: Use ChecksummedData.ProtoReflect.Descriptor instead. func (*ChecksummedData) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{41} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{40} } func (x *ChecksummedData) GetContent() []byte { @@ -4305,7 +4067,7 @@ type ObjectChecksums struct { func (x *ObjectChecksums) Reset() { *x = ObjectChecksums{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[42] + mi := &file_google_storage_v2_storage_proto_msgTypes[41] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4318,7 +4080,7 @@ func (x *ObjectChecksums) String() string { func (*ObjectChecksums) ProtoMessage() {} func (x *ObjectChecksums) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[42] + mi := &file_google_storage_v2_storage_proto_msgTypes[41] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4331,7 +4093,7 @@ func (x *ObjectChecksums) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectChecksums.ProtoReflect.Descriptor instead. func (*ObjectChecksums) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{42} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{41} } func (x *ObjectChecksums) GetCrc32C() uint32 { @@ -4364,16 +4126,16 @@ type HmacKeyMetadata struct { ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"` // State of the key. One of ACTIVE, INACTIVE, or DELETED. State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"` - // The creation time of the HMAC key in RFC 3339 format. + // The creation time of the HMAC key. CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"` - // The last modification time of the HMAC key metadata in RFC 3339 format. + // The last modification time of the HMAC key metadata. UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"` } func (x *HmacKeyMetadata) Reset() { *x = HmacKeyMetadata{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[43] + mi := &file_google_storage_v2_storage_proto_msgTypes[42] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4386,7 +4148,7 @@ func (x *HmacKeyMetadata) String() string { func (*HmacKeyMetadata) ProtoMessage() {} func (x *HmacKeyMetadata) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[43] + mi := &file_google_storage_v2_storage_proto_msgTypes[42] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4399,7 +4161,7 @@ func (x *HmacKeyMetadata) ProtoReflect() protoreflect.Message { // Deprecated: Use HmacKeyMetadata.ProtoReflect.Descriptor instead. func (*HmacKeyMetadata) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{43} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{42} } func (x *HmacKeyMetadata) GetId() string { @@ -4481,7 +4243,7 @@ type Notification struct { func (x *Notification) Reset() { *x = Notification{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[44] + mi := &file_google_storage_v2_storage_proto_msgTypes[43] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4494,7 +4256,7 @@ func (x *Notification) String() string { func (*Notification) ProtoMessage() {} func (x *Notification) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[44] + mi := &file_google_storage_v2_storage_proto_msgTypes[43] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4507,7 +4269,7 @@ func (x *Notification) ProtoReflect() protoreflect.Message { // Deprecated: Use Notification.ProtoReflect.Descriptor instead. func (*Notification) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{44} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{43} } func (x *Notification) GetName() string { @@ -4569,7 +4331,7 @@ type CustomerEncryption struct { func (x *CustomerEncryption) Reset() { *x = CustomerEncryption{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[45] + mi := &file_google_storage_v2_storage_proto_msgTypes[44] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4582,7 +4344,7 @@ func (x *CustomerEncryption) String() string { func (*CustomerEncryption) ProtoMessage() {} func (x *CustomerEncryption) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[45] + mi := &file_google_storage_v2_storage_proto_msgTypes[44] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4595,7 +4357,7 @@ func (x *CustomerEncryption) ProtoReflect() protoreflect.Message { // Deprecated: Use CustomerEncryption.ProtoReflect.Descriptor instead. func (*CustomerEncryption) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{45} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{44} } func (x *CustomerEncryption) GetEncryptionAlgorithm() string { @@ -4704,8 +4466,7 @@ type Object struct { // temporary hold does not impact retention expiration time of an object. TemporaryHold bool `protobuf:"varint,20,opt,name=temporary_hold,json=temporaryHold,proto3" json:"temporary_hold,omitempty"` // A server-determined value that specifies the earliest time that the - // object's retention period expires. This value is in - // [https://tools.ietf.org/html/rfc3339][RFC 3339] format. + // object's retention period expires. // Note 1: This field is not provided for objects with an active event-based // hold, since retention expiration is unknown until the hold is removed. // Note 2: This value can be provided even when temporary hold is set (so that @@ -4740,7 +4501,7 @@ type Object struct { func (x *Object) Reset() { *x = Object{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[46] + mi := &file_google_storage_v2_storage_proto_msgTypes[45] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -4753,7 +4514,7 @@ func (x *Object) String() string { func (*Object) ProtoMessage() {} func (x *Object) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[46] + mi := &file_google_storage_v2_storage_proto_msgTypes[45] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -4766,7 +4527,7 @@ func (x *Object) ProtoReflect() protoreflect.Message { // Deprecated: Use Object.ProtoReflect.Descriptor instead. func (*Object) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{46} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{45} } func (x *Object) GetName() string { @@ -4990,7 +4751,7 @@ type ObjectAccessControl struct { func (x *ObjectAccessControl) Reset() { *x = ObjectAccessControl{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[47] + mi := &file_google_storage_v2_storage_proto_msgTypes[46] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5003,7 +4764,7 @@ func (x *ObjectAccessControl) String() string { func (*ObjectAccessControl) ProtoMessage() {} func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[47] + mi := &file_google_storage_v2_storage_proto_msgTypes[46] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5016,7 +4777,7 @@ func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message { // Deprecated: Use ObjectAccessControl.ProtoReflect.Descriptor instead. func (*ObjectAccessControl) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{47} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{46} } func (x *ObjectAccessControl) GetRole() string { @@ -5087,7 +4848,7 @@ type ListObjectsResponse struct { func (x *ListObjectsResponse) Reset() { *x = ListObjectsResponse{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[48] + mi := &file_google_storage_v2_storage_proto_msgTypes[47] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5100,7 +4861,7 @@ func (x *ListObjectsResponse) String() string { func (*ListObjectsResponse) ProtoMessage() {} func (x *ListObjectsResponse) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[48] + mi := &file_google_storage_v2_storage_proto_msgTypes[47] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5113,7 +4874,7 @@ func (x *ListObjectsResponse) ProtoReflect() protoreflect.Message { // Deprecated: Use ListObjectsResponse.ProtoReflect.Descriptor instead. func (*ListObjectsResponse) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{48} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{47} } func (x *ListObjectsResponse) GetObjects() []*Object { @@ -5152,7 +4913,7 @@ type ProjectTeam struct { func (x *ProjectTeam) Reset() { *x = ProjectTeam{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[49] + mi := &file_google_storage_v2_storage_proto_msgTypes[48] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5165,7 +4926,7 @@ func (x *ProjectTeam) String() string { func (*ProjectTeam) ProtoMessage() {} func (x *ProjectTeam) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[49] + mi := &file_google_storage_v2_storage_proto_msgTypes[48] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5178,7 +4939,7 @@ func (x *ProjectTeam) ProtoReflect() protoreflect.Message { // Deprecated: Use ProjectTeam.ProtoReflect.Descriptor instead. func (*ProjectTeam) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{49} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{48} } func (x *ProjectTeam) GetProjectNumber() string { @@ -5210,7 +4971,7 @@ type ServiceAccount struct { func (x *ServiceAccount) Reset() { *x = ServiceAccount{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[50] + mi := &file_google_storage_v2_storage_proto_msgTypes[49] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5223,7 +4984,7 @@ func (x *ServiceAccount) String() string { func (*ServiceAccount) ProtoMessage() {} func (x *ServiceAccount) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[50] + mi := &file_google_storage_v2_storage_proto_msgTypes[49] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5236,7 +4997,7 @@ func (x *ServiceAccount) ProtoReflect() protoreflect.Message { // Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead. func (*ServiceAccount) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{50} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{49} } func (x *ServiceAccount) GetEmailAddress() string { @@ -5261,7 +5022,7 @@ type Owner struct { func (x *Owner) Reset() { *x = Owner{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[51] + mi := &file_google_storage_v2_storage_proto_msgTypes[50] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5274,7 +5035,7 @@ func (x *Owner) String() string { func (*Owner) ProtoMessage() {} func (x *Owner) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[51] + mi := &file_google_storage_v2_storage_proto_msgTypes[50] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5287,7 +5048,7 @@ func (x *Owner) ProtoReflect() protoreflect.Message { // Deprecated: Use Owner.ProtoReflect.Descriptor instead. func (*Owner) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{51} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{50} } func (x *Owner) GetEntity() string { @@ -5321,7 +5082,7 @@ type ContentRange struct { func (x *ContentRange) Reset() { *x = ContentRange{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[52] + mi := &file_google_storage_v2_storage_proto_msgTypes[51] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5334,7 +5095,7 @@ func (x *ContentRange) String() string { func (*ContentRange) ProtoMessage() {} func (x *ContentRange) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[52] + mi := &file_google_storage_v2_storage_proto_msgTypes[51] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5347,7 +5108,7 @@ func (x *ContentRange) ProtoReflect() protoreflect.Message { // Deprecated: Use ContentRange.ProtoReflect.Descriptor instead. func (*ContentRange) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{52} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{51} } func (x *ContentRange) GetStart() int64 { @@ -5389,7 +5150,7 @@ type ComposeObjectRequest_SourceObject struct { func (x *ComposeObjectRequest_SourceObject) Reset() { *x = ComposeObjectRequest_SourceObject{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[53] + mi := &file_google_storage_v2_storage_proto_msgTypes[52] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5402,7 +5163,7 @@ func (x *ComposeObjectRequest_SourceObject) String() string { func (*ComposeObjectRequest_SourceObject) ProtoMessage() {} func (x *ComposeObjectRequest_SourceObject) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[53] + mi := &file_google_storage_v2_storage_proto_msgTypes[52] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5454,7 +5215,7 @@ type ComposeObjectRequest_SourceObject_ObjectPreconditions struct { func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) Reset() { *x = ComposeObjectRequest_SourceObject_ObjectPreconditions{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[54] + mi := &file_google_storage_v2_storage_proto_msgTypes[53] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5467,7 +5228,7 @@ func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) String() string func (*ComposeObjectRequest_SourceObject_ObjectPreconditions) ProtoMessage() {} func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[54] + mi := &file_google_storage_v2_storage_proto_msgTypes[53] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5503,7 +5264,7 @@ type Bucket_Billing struct { func (x *Bucket_Billing) Reset() { *x = Bucket_Billing{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[55] + mi := &file_google_storage_v2_storage_proto_msgTypes[54] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5516,7 +5277,7 @@ func (x *Bucket_Billing) String() string { func (*Bucket_Billing) ProtoMessage() {} func (x *Bucket_Billing) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[55] + mi := &file_google_storage_v2_storage_proto_msgTypes[54] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5529,7 +5290,7 @@ func (x *Bucket_Billing) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Billing.ProtoReflect.Descriptor instead. func (*Bucket_Billing) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 0} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 0} } func (x *Bucket_Billing) GetRequesterPays() bool { @@ -5569,7 +5330,7 @@ type Bucket_Cors struct { func (x *Bucket_Cors) Reset() { *x = Bucket_Cors{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[56] + mi := &file_google_storage_v2_storage_proto_msgTypes[55] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5582,7 +5343,7 @@ func (x *Bucket_Cors) String() string { func (*Bucket_Cors) ProtoMessage() {} func (x *Bucket_Cors) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[56] + mi := &file_google_storage_v2_storage_proto_msgTypes[55] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5595,7 +5356,7 @@ func (x *Bucket_Cors) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Cors.ProtoReflect.Descriptor instead. func (*Bucket_Cors) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 1} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 1} } func (x *Bucket_Cors) GetOrigin() []string { @@ -5640,7 +5401,7 @@ type Bucket_Encryption struct { func (x *Bucket_Encryption) Reset() { *x = Bucket_Encryption{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[57] + mi := &file_google_storage_v2_storage_proto_msgTypes[56] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5653,7 +5414,7 @@ func (x *Bucket_Encryption) String() string { func (*Bucket_Encryption) ProtoMessage() {} func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[57] + mi := &file_google_storage_v2_storage_proto_msgTypes[56] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5666,7 +5427,7 @@ func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Encryption.ProtoReflect.Descriptor instead. func (*Bucket_Encryption) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 2} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 2} } func (x *Bucket_Encryption) GetDefaultKmsKey() string { @@ -5692,7 +5453,7 @@ type Bucket_IamConfig struct { func (x *Bucket_IamConfig) Reset() { *x = Bucket_IamConfig{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[58] + mi := &file_google_storage_v2_storage_proto_msgTypes[57] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5705,7 +5466,7 @@ func (x *Bucket_IamConfig) String() string { func (*Bucket_IamConfig) ProtoMessage() {} func (x *Bucket_IamConfig) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[58] + mi := &file_google_storage_v2_storage_proto_msgTypes[57] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5718,7 +5479,7 @@ func (x *Bucket_IamConfig) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_IamConfig.ProtoReflect.Descriptor instead. func (*Bucket_IamConfig) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 3} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 3} } func (x *Bucket_IamConfig) GetUniformBucketLevelAccess() *Bucket_IamConfig_UniformBucketLevelAccess { @@ -5750,7 +5511,7 @@ type Bucket_Lifecycle struct { func (x *Bucket_Lifecycle) Reset() { *x = Bucket_Lifecycle{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[59] + mi := &file_google_storage_v2_storage_proto_msgTypes[58] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5763,7 +5524,7 @@ func (x *Bucket_Lifecycle) String() string { func (*Bucket_Lifecycle) ProtoMessage() {} func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[59] + mi := &file_google_storage_v2_storage_proto_msgTypes[58] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5776,7 +5537,7 @@ func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Lifecycle.ProtoReflect.Descriptor instead. func (*Bucket_Lifecycle) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4} } func (x *Bucket_Lifecycle) GetRule() []*Bucket_Lifecycle_Rule { @@ -5801,7 +5562,7 @@ type Bucket_Logging struct { func (x *Bucket_Logging) Reset() { *x = Bucket_Logging{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[60] + mi := &file_google_storage_v2_storage_proto_msgTypes[59] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5814,7 +5575,7 @@ func (x *Bucket_Logging) String() string { func (*Bucket_Logging) ProtoMessage() {} func (x *Bucket_Logging) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[60] + mi := &file_google_storage_v2_storage_proto_msgTypes[59] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5827,7 +5588,7 @@ func (x *Bucket_Logging) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Logging.ProtoReflect.Descriptor instead. func (*Bucket_Logging) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 5} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 5} } func (x *Bucket_Logging) GetLogBucket() string { @@ -5851,8 +5612,7 @@ type Bucket_RetentionPolicy struct { unknownFields protoimpl.UnknownFields // Server-determined value that indicates the time from which policy was - // enforced and effective. This value is in - // [https://tools.ietf.org/html/rfc3339][RFC 3339] format. + // enforced and effective. EffectiveTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"` // Once locked, an object retention policy cannot be modified. IsLocked bool `protobuf:"varint,2,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"` @@ -5866,7 +5626,7 @@ type Bucket_RetentionPolicy struct { func (x *Bucket_RetentionPolicy) Reset() { *x = Bucket_RetentionPolicy{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[61] + mi := &file_google_storage_v2_storage_proto_msgTypes[60] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5879,7 +5639,7 @@ func (x *Bucket_RetentionPolicy) String() string { func (*Bucket_RetentionPolicy) ProtoMessage() {} func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[61] + mi := &file_google_storage_v2_storage_proto_msgTypes[60] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5892,7 +5652,7 @@ func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_RetentionPolicy.ProtoReflect.Descriptor instead. func (*Bucket_RetentionPolicy) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 6} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 6} } func (x *Bucket_RetentionPolicy) GetEffectiveTime() *timestamppb.Timestamp { @@ -5931,7 +5691,7 @@ type Bucket_Versioning struct { func (x *Bucket_Versioning) Reset() { *x = Bucket_Versioning{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[62] + mi := &file_google_storage_v2_storage_proto_msgTypes[61] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -5944,7 +5704,7 @@ func (x *Bucket_Versioning) String() string { func (*Bucket_Versioning) ProtoMessage() {} func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[62] + mi := &file_google_storage_v2_storage_proto_msgTypes[61] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -5957,7 +5717,7 @@ func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Versioning.ProtoReflect.Descriptor instead. func (*Bucket_Versioning) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 7} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 7} } func (x *Bucket_Versioning) GetEnabled() bool { @@ -5991,7 +5751,7 @@ type Bucket_Website struct { func (x *Bucket_Website) Reset() { *x = Bucket_Website{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[63] + mi := &file_google_storage_v2_storage_proto_msgTypes[62] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6004,7 +5764,7 @@ func (x *Bucket_Website) String() string { func (*Bucket_Website) ProtoMessage() {} func (x *Bucket_Website) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[63] + mi := &file_google_storage_v2_storage_proto_msgTypes[62] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6017,7 +5777,7 @@ func (x *Bucket_Website) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Website.ProtoReflect.Descriptor instead. func (*Bucket_Website) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 8} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 8} } func (x *Bucket_Website) GetMainPageSuffix() string { @@ -6052,7 +5812,7 @@ type Bucket_Autoclass struct { func (x *Bucket_Autoclass) Reset() { *x = Bucket_Autoclass{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[64] + mi := &file_google_storage_v2_storage_proto_msgTypes[63] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6065,7 +5825,7 @@ func (x *Bucket_Autoclass) String() string { func (*Bucket_Autoclass) ProtoMessage() {} func (x *Bucket_Autoclass) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[64] + mi := &file_google_storage_v2_storage_proto_msgTypes[63] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6078,7 +5838,7 @@ func (x *Bucket_Autoclass) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Autoclass.ProtoReflect.Descriptor instead. func (*Bucket_Autoclass) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 9} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 9} } func (x *Bucket_Autoclass) GetEnabled() bool { @@ -6105,8 +5865,7 @@ type Bucket_IamConfig_UniformBucketLevelAccess struct { // If set, access checks only use bucket-level IAM policies or above. Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"` // The deadline time for changing - // `iamConfig.uniformBucketLevelAccess.enabled` from - // true to false in [RFC 3339](https://tools.ietf.org/html/rfc3339). + // `iamConfig.uniformBucketLevelAccess.enabled` from `true` to `false`. // Mutable until the specified deadline is reached, but not afterward. LockTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=lock_time,json=lockTime,proto3" json:"lock_time,omitempty"` } @@ -6114,7 +5873,7 @@ type Bucket_IamConfig_UniformBucketLevelAccess struct { func (x *Bucket_IamConfig_UniformBucketLevelAccess) Reset() { *x = Bucket_IamConfig_UniformBucketLevelAccess{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[66] + mi := &file_google_storage_v2_storage_proto_msgTypes[65] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6127,7 +5886,7 @@ func (x *Bucket_IamConfig_UniformBucketLevelAccess) String() string { func (*Bucket_IamConfig_UniformBucketLevelAccess) ProtoMessage() {} func (x *Bucket_IamConfig_UniformBucketLevelAccess) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[66] + mi := &file_google_storage_v2_storage_proto_msgTypes[65] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6140,7 +5899,7 @@ func (x *Bucket_IamConfig_UniformBucketLevelAccess) ProtoReflect() protoreflect. // Deprecated: Use Bucket_IamConfig_UniformBucketLevelAccess.ProtoReflect.Descriptor instead. func (*Bucket_IamConfig_UniformBucketLevelAccess) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 3, 0} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 3, 0} } func (x *Bucket_IamConfig_UniformBucketLevelAccess) GetEnabled() bool { @@ -6173,7 +5932,7 @@ type Bucket_Lifecycle_Rule struct { func (x *Bucket_Lifecycle_Rule) Reset() { *x = Bucket_Lifecycle_Rule{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[67] + mi := &file_google_storage_v2_storage_proto_msgTypes[66] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6186,7 +5945,7 @@ func (x *Bucket_Lifecycle_Rule) String() string { func (*Bucket_Lifecycle_Rule) ProtoMessage() {} func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[67] + mi := &file_google_storage_v2_storage_proto_msgTypes[66] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6199,7 +5958,7 @@ func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Lifecycle_Rule.ProtoReflect.Descriptor instead. func (*Bucket_Lifecycle_Rule) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4, 0} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4, 0} } func (x *Bucket_Lifecycle_Rule) GetAction() *Bucket_Lifecycle_Rule_Action { @@ -6233,7 +5992,7 @@ type Bucket_Lifecycle_Rule_Action struct { func (x *Bucket_Lifecycle_Rule_Action) Reset() { *x = Bucket_Lifecycle_Rule_Action{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[68] + mi := &file_google_storage_v2_storage_proto_msgTypes[67] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6246,7 +6005,7 @@ func (x *Bucket_Lifecycle_Rule_Action) String() string { func (*Bucket_Lifecycle_Rule_Action) ProtoMessage() {} func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[68] + mi := &file_google_storage_v2_storage_proto_msgTypes[67] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6259,7 +6018,7 @@ func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Lifecycle_Rule_Action.ProtoReflect.Descriptor instead. func (*Bucket_Lifecycle_Rule_Action) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4, 0, 0} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4, 0, 0} } func (x *Bucket_Lifecycle_Rule_Action) GetType() string { @@ -6331,7 +6090,7 @@ type Bucket_Lifecycle_Rule_Condition struct { func (x *Bucket_Lifecycle_Rule_Condition) Reset() { *x = Bucket_Lifecycle_Rule_Condition{} if protoimpl.UnsafeEnabled { - mi := &file_google_storage_v2_storage_proto_msgTypes[69] + mi := &file_google_storage_v2_storage_proto_msgTypes[68] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } @@ -6344,7 +6103,7 @@ func (x *Bucket_Lifecycle_Rule_Condition) String() string { func (*Bucket_Lifecycle_Rule_Condition) ProtoMessage() {} func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message { - mi := &file_google_storage_v2_storage_proto_msgTypes[69] + mi := &file_google_storage_v2_storage_proto_msgTypes[68] if protoimpl.UnsafeEnabled && x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { @@ -6357,7 +6116,7 @@ func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message { // Deprecated: Use Bucket_Lifecycle_Rule_Condition.ProtoReflect.Descriptor instead. func (*Bucket_Lifecycle_Rule_Condition) Descriptor() ([]byte, []int) { - return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4, 0, 1} + return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 4, 0, 1} } func (x *Bucket_Lifecycle_Rule_Condition) GetAgeDays() int32 { @@ -6459,7 +6218,7 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, - 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x02, + 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8d, 0x02, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, @@ -6473,107 +6232,84 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, - 0x01, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x1a, 0x0a, - 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, + 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, + 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd6, 0x02, + 0x0a, 0x10, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, + 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, + 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xb2, 0x03, 0x0a, 0x10, 0x47, 0x65, - 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, - 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, - 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x15, 0x69, 0x66, - 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x18, 0x69, - 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, - 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, - 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x02, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, - 0x6b, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xa6, - 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x01, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3c, + 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x02, 0x52, + 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, + 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, + 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xa6, 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, + 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, + 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x62, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x1d, + 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x1a, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x22, + 0x81, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, - 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x25, 0x0a, - 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, - 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1a, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x22, 0xdd, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, - 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, - 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, - 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, - 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, - 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, - 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x00, - 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, - 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, - 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x72, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, - 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, - 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf5, 0x01, 0x0a, 0x20, - 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, - 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, - 0x36, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, - 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, - 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x22, 0x88, 0x04, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, + 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, + 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, + 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, + 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, + 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x22, 0x72, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x99, 0x01, 0x0a, 0x20, 0x4c, 0x6f, 0x63, 0x6b, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, + 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x36, 0x0a, 0x17, 0x69, + 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x15, 0x69, 0x66, + 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, + 0x74, 0x63, 0x68, 0x22, 0xac, 0x03, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, @@ -6596,199 +6332,176 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, - 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x5c, - 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e, - 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41, - 0x25, 0x0a, 0x23, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x16, - 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, + 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x22, 0x5c, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, - 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48, - 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73, - 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, - 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, - 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, - 0x22, 0x8a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45, - 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xd0, 0x07, - 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72, - 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, - 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, - 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, - 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, - 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x3f, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, + 0x41, 0x02, 0xfa, 0x41, 0x25, 0x0a, 0x23, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x53, 0x0a, 0x16, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, + 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x12, 0x48, 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0x0a, + 0x18, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x8a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x45, 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, + 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, + 0x6e, 0x22, 0xf4, 0x06, 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, + 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x3c, 0x0a, 0x1a, 0x64, 0x65, 0x73, + 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, + 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x18, 0x64, + 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, + 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, + 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, + 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73, + 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, + 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, + 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, + 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xa8, 0x02, 0x0a, 0x0c, 0x53, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x14, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, + 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x1a, 0x62, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, + 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, + 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, + 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xdd, 0x04, 0x0a, 0x13, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, + 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, + 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, + 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, + 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, + 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x15, 0x69, 0x66, 0x4d, + 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, - 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, - 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x1a, 0xa8, 0x02, 0x0a, 0x0c, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, - 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x14, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, - 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x62, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, - 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, - 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x16, 0x0a, 0x14, - 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x22, 0xb9, 0x05, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, - 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, - 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, - 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, - 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, - 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, - 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, - 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, - 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, - 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x9c, 0x06, 0x0a, - 0x11, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, - 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, - 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, - 0x69, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, - 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, - 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, - 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, - 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, + 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, + 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, + 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, + 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, - 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, + 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, + 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, + 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xc0, 0x05, 0x0a, 0x11, 0x52, 0x65, 0x61, + 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, + 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, + 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, + 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, + 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, + 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x33, + 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, + 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, + 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, + 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, + 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, + 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, + 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, @@ -6800,7 +6513,7 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, - 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xe5, 0x05, 0x0a, 0x10, + 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x89, 0x05, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, @@ -6829,169 +6542,146 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, - 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, - 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, - 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, - 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, - 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, - 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, - 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, - 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, - 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, - 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x35, - 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd1, 0x03, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, - 0x63, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, - 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, - 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, - 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, - 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, - 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, - 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, - 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, - 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, - 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, - 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, - 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, + 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd4, 0x04, 0x0a, 0x12, 0x57, 0x72, - 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, - 0x50, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00, - 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, - 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, - 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x68, 0x65, - 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, - 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, - 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x06, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, - 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e, - 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, - 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x1c, + 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, + 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x02, 0x0a, 0x12, 0x52, 0x65, 0x61, 0x64, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, + 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, + 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, + 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x52, 0x0f, 0x63, 0x68, + 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, + 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x44, 0x0a, 0x0d, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67, 0x65, 0x18, 0x03, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, + 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, + 0x67, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xd1, 0x03, 0x0a, 0x0f, 0x57, 0x72, + 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x35, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, + 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, + 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, + 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, + 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, + 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, + 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, + 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, + 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, + 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, + 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, + 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, + 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xf8, 0x03, + 0x0a, 0x12, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, + 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, + 0x64, 0x49, 0x64, 0x12, 0x50, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x48, 0x00, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, + 0x52, 0x0b, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4f, 0x0a, + 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, + 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, + 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, + 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, 0x0a, + 0x0c, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, + 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, + 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, + 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, + 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, + 0x0f, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, + 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, + 0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x22, 0xc9, 0x03, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, + 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, + 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, + 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, + 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x72, + 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, + 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, + 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, + 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, + 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, + 0x68, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x12, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74, + 0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, + 0x70, 0x68, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, + 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x45, 0x6e, 0x64, + 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaa, + 0x01, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, + 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x70, + 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74, - 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, - 0x22, 0x87, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, - 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, - 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, - 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, - 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa5, 0x04, 0x0a, 0x12, 0x4c, - 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09, - 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x69, 0x6e, - 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64, - 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, - 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44, - 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, - 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x09, - 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x72, - 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x65, - 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, - 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6c, - 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, - 0x61, 0x70, 0x68, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, - 0x73, 0x6b, 0x22, 0x86, 0x02, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, - 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, - 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, - 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73, @@ -7001,7 +6691,7 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x9a, 0x0e, 0x0a, 0x14, 0x52, + 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xbe, 0x0d, 0x0a, 0x14, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, @@ -7093,163 +6783,120 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, - 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, - 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, - 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, + 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, + 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, + 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, + 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, - 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, - 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, - 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, - 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, 0x0a, - 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, + 0x1d, 0x0a, 0x1b, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, + 0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd6, 0x01, 0x0a, 0x0f, + 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, + 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, + 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, + 0x74, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, + 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72, + 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x35, 0x0a, + 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x22, 0xdb, 0x01, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, + 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, + 0x65, 0x63, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, + 0x70, 0x65, 0x63, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, + 0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, + 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0xfd, + 0x04, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, - 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, - 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd6, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x72, - 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x74, - 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, - 0x74, 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, - 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, - 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, - 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, - 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, - 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, - 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, - 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x22, 0xb7, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, - 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4e, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, - 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, - 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, + 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, + 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, + 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, + 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, + 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, + 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, + 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, + 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x70, + 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, + 0x63, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, + 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, + 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, - 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x53, 0x74, - 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, - 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, - 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, - 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0xd9, 0x05, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, - 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, - 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, - 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, - 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, - 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, - 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, - 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, - 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, - 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, - 0x88, 0x01, 0x01, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, - 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x65, - 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, - 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, - 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, - 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, - 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, - 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, - 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, - 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, - 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16, + 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x22, 0xc5, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, - 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5a, - 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, - 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x14, 0x43, - 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, - 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, - 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x5a, 0x0a, 0x15, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x63, - 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x14, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, - 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, - 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, + 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, + 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x69, + 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, + 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, + 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x9e, 0x01, 0x0a, 0x14, 0x43, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, + 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x43, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, + 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, + 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, + 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x87, + 0x01, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, @@ -7257,805 +6904,789 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{ 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, - 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, - 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x22, 0xf5, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, - 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, - 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, - 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, - 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x68, - 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x77, - 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x63, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, - 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, - 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, - 0x6d, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x7f, 0x0a, 0x14, - 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, - 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, - 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x6d, 0x61, - 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, - 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf3, 0x01, - 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, - 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, - 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, - 0x02, 0x52, 0x07, 0x68, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, - 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, - 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, - 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, - 0x61, 0x73, 0x6b, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, - 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, - 0x28, 0x0c, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, - 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, - 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x65, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, - 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x56, 0x0a, 0x0c, - 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x22, 0xca, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x05, 0x0a, 0x06, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x5f, 0x55, - 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14, - 0x4d, 0x41, 0x58, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, - 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x4d, 0x41, 0x58, - 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, - 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4d, 0x41, 0x58, 0x5f, 0x4f, - 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4d, 0x42, 0x10, 0x80, 0x80, - 0xc0, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, - 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, - 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x08, 0x12, 0x2a, 0x0a, - 0x25, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, - 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, - 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x20, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, - 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, - 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, - 0x53, 0x10, 0x80, 0x40, 0x12, 0x2a, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x55, 0x43, 0x4b, - 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41, - 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0xa0, 0x01, - 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, - 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x5f, 0x50, 0x45, 0x52, - 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x41, 0x58, - 0x5f, 0x4c, 0x49, 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, - 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x26, 0x0a, - 0x22, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, - 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, - 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, - 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, - 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c, - 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x02, 0x12, 0x33, 0x0a, 0x2e, 0x4d, 0x41, 0x58, 0x5f, - 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, - 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x08, 0x12, 0x1c, 0x0a, - 0x18, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x52, - 0x49, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x40, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, - 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, - 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1a, - 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, - 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x01, 0x12, 0x2e, 0x0a, - 0x29, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x53, 0x5f, - 0x50, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, - 0x54, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xe8, 0x07, 0x12, 0x1e, 0x0a, - 0x1a, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x58, - 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x0e, 0x1a, 0x02, 0x10, - 0x01, 0x22, 0xcf, 0x1c, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x62, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x2d, + 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x84, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, + 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, + 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, + 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, + 0x94, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, - 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, - 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x70, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x72, 0x70, 0x6f, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x03, - 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, - 0x54, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, - 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x09, 0x6c, - 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x6f, - 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x40, - 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, - 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, - 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, - 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, - 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x07, 0x77, 0x65, - 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, - 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x6c, - 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, - 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, - 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e, 0x65, - 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x44, 0x0a, - 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x63, - 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x15, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, - 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, - 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, - 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x61, 0x6d, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, - 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, - 0x09, 0x69, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, - 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, - 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, - 0x41, 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1c, 0x20, 0x01, - 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x75, - 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x1a, 0x30, 0x0a, 0x07, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, - 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, - 0x50, 0x61, 0x79, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, - 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, - 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, - 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a, - 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, - 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, - 0x0d, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x5c, - 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, - 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, - 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x1a, 0xb1, 0x02, 0x0a, - 0x09, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x1b, 0x75, 0x6e, - 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x76, - 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18, 0x75, - 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, - 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, - 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, - 0x6e, 0x1a, 0x6d, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, - 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, - 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, - 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, - 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, - 0x1a, 0xdb, 0x07, 0x0a, 0x09, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3c, - 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, - 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x8f, 0x07, 0x0a, - 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, - 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, - 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, - 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x64, - 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x1a, 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, - 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, - 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, - 0x61, 0x73, 0x73, 0x1a, 0xa8, 0x05, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x61, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, - 0x01, 0x12, 0x38, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, - 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x69, - 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, - 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6e, 0x75, 0x6d, - 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, - 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x65, - 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x74, - 0x63, 0x68, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, - 0x12, 0x38, 0x0a, 0x16, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, - 0x48, 0x03, 0x52, 0x13, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, - 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x1a, 0x64, - 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, - 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, - 0x04, 0x52, 0x17, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x6e, 0x63, - 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, - 0x16, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, - 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, - 0x52, 0x14, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, - 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, - 0x73, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, - 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, - 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, - 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x75, - 0x66, 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, - 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x15, 0x0a, - 0x13, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, - 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, - 0x1d, 0x0a, 0x1b, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, - 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x54, - 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, - 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, - 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, - 0x65, 0x66, 0x69, 0x78, 0x1a, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, - 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, - 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, - 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, - 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, - 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, - 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, - 0x69, 0x6f, 0x64, 0x1a, 0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, - 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x59, 0x0a, 0x07, 0x57, - 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, - 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, - 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x61, - 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, - 0x6e, 0x64, 0x50, 0x61, 0x67, 0x65, 0x1a, 0x67, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, - 0x0b, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x08, + 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x37, 0x0a, 0x15, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, + 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x77, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x22, 0x7f, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, + 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, + 0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, + 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, + 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, + 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, + 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x97, 0x01, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x12, 0x42, 0x0a, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, + 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x07, 0x68, 0x6d, 0x61, + 0x63, 0x4b, 0x65, 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, + 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, + 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, + 0x6b, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, + 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, + 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, + 0x68, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, + 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, + 0x79, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, + 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, + 0x74, 0x65, 0x73, 0x22, 0xca, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, + 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x05, 0x0a, 0x06, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x5f, 0x55, 0x4e, + 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14, 0x4d, + 0x41, 0x58, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, + 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x4d, 0x41, 0x58, 0x5f, + 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, 0x45, + 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, + 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4d, 0x42, 0x10, 0x80, 0x80, 0xc0, + 0x02, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, + 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, + 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x08, 0x12, 0x2a, 0x0a, 0x25, + 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, + 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, + 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x20, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, + 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, + 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, + 0x10, 0x80, 0x40, 0x12, 0x2a, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, + 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, + 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0xa0, 0x01, 0x12, + 0x27, 0x0a, 0x23, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, + 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x41, 0x58, 0x5f, + 0x4c, 0x49, 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, + 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, + 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, + 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, + 0x45, 0x53, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, + 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, + 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x45, + 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x02, 0x12, 0x33, 0x0a, 0x2e, 0x4d, 0x41, 0x58, 0x5f, 0x4e, + 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, + 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x08, 0x12, 0x1c, 0x0a, 0x18, + 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x49, + 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x40, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, + 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, + 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1a, 0x4d, + 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, + 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x01, 0x12, 0x2e, 0x0a, 0x29, + 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x53, 0x5f, 0x50, + 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, + 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xe8, 0x07, 0x12, 0x1e, 0x0a, 0x1a, + 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, + 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x0e, 0x1a, 0x02, 0x10, 0x01, + 0x22, 0xcf, 0x1c, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, + 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x62, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x2d, 0x0a, + 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x07, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x70, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x03, 0x72, 0x70, 0x6f, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x54, + 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, + 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x09, 0x6c, 0x69, + 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, + 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x6f, 0x72, + 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x40, 0x0a, + 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, - 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, - 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, - 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x47, 0xea, 0x41, 0x44, 0x0a, - 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, - 0x65, 0x74, 0x7d, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, - 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, - 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, - 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, - 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, - 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, - 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, - 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, - 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, - 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x07, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x42, - 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x54, 0x0a, 0x0f, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x1b, 0x0a, - 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, - 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, - 0x35, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x64, - 0x35, 0x48, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, - 0x22, 0xce, 0x02, 0x0a, 0x0f, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, - 0x64, 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, - 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, - 0x64, 0x12, 0x4a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x30, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, - 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, - 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, - 0x6c, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, - 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, + 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, + 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, + 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, + 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x07, 0x77, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, + 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52, 0x0a, + 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x6c, 0x6f, + 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52, 0x07, + 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, + 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, + 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x44, 0x0a, 0x0a, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x63, 0x72, + 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x42, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, + 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, + 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x61, 0x6d, 0x5f, 0x63, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, + 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x09, + 0x69, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x74, + 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, + 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12, 0x41, + 0x0a, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x1c, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x41, 0x75, 0x74, + 0x6f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x52, 0x09, 0x61, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x1a, 0x30, 0x0a, 0x07, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, + 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x50, + 0x61, 0x79, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, + 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, + 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, + 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, + 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, + 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x5c, 0x0a, + 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, + 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x1a, 0xb1, 0x02, 0x0a, 0x09, + 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x1b, 0x75, 0x6e, 0x69, + 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, + 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, + 0x66, 0x69, 0x67, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18, 0x75, 0x6e, + 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, + 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, + 0x1a, 0x6d, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, + 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, + 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, + 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, - 0x65, 0x22, 0xe7, 0x03, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, - 0x6f, 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x74, - 0x6f, 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, - 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, - 0x52, 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x11, - 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, - 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, - 0xe0, 0x41, 0x01, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, - 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, - 0x6d, 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, - 0x6f, 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, - 0x72, 0x6d, 0x61, 0x74, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, - 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, - 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x70, 0xea, 0x41, 0x6d, 0x0a, 0x23, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, - 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, - 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x71, 0x0a, 0x12, 0x43, - 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, - 0x69, 0x74, 0x68, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, - 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, - 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xd8, - 0x0b, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, - 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, - 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, - 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, - 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, - 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, - 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, - 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x09, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, - 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x29, 0x0a, 0x10, - 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, - 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, - 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, - 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, + 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x1a, + 0xdb, 0x07, 0x0a, 0x09, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3c, 0x0a, + 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, + 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0x8f, 0x07, 0x0a, 0x04, + 0x52, 0x75, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, + 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x41, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, + 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, + 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, + 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, + 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, + 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, + 0x73, 0x73, 0x1a, 0xa8, 0x05, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x61, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, + 0x12, 0x38, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, + 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x69, 0x73, + 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, 0x69, + 0x73, 0x4c, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, + 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, + 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x65, 0x72, + 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x74, 0x63, + 0x68, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, + 0x38, 0x0a, 0x16, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x48, + 0x03, 0x52, 0x13, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, + 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, + 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, + 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x1a, 0x64, 0x61, + 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, + 0x52, 0x17, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x75, + 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x16, + 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, + 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, + 0x14, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, + 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, + 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x0b, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, + 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x25, 0x0a, 0x0e, + 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x0c, + 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x75, 0x66, + 0x66, 0x69, 0x78, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, + 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x15, 0x0a, 0x13, + 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, + 0x6f, 0x6e, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, + 0x63, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1d, + 0x0a, 0x1b, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, + 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x54, 0x0a, + 0x07, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, + 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, + 0x66, 0x69, 0x78, 0x1a, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, + 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, + 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, + 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, + 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, + 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, + 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x03, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, + 0x6f, 0x64, 0x1a, 0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, + 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, + 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x59, 0x0a, 0x07, 0x57, 0x65, + 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, + 0x67, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, + 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x67, + 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, + 0x64, 0x50, 0x61, 0x67, 0x65, 0x1a, 0x67, 0x0a, 0x09, 0x41, 0x75, 0x74, 0x6f, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x40, 0x0a, 0x0b, + 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, - 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, - 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x63, 0x6f, - 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x09, - 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x75, 0x6d, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, - 0x75, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x41, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x39, + 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, + 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, + 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x47, 0xea, 0x41, 0x44, 0x0a, 0x1d, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, + 0x74, 0x7d, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, + 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, + 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, + 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, + 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x54, 0x65, 0x61, 0x6d, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, + 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, + 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x07, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x42, 0x09, + 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x54, 0x0a, 0x0f, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x06, + 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, 0x06, + 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, 0x35, + 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x64, 0x35, + 0x48, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, + 0xce, 0x02, 0x0a, 0x0f, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, + 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, + 0x12, 0x4a, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x30, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x15, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, + 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, + 0x69, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, - 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, - 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, - 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, - 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x69, - 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, - 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, - 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x4e, 0x0a, 0x15, 0x72, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, - 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, - 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x45, - 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, - 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, - 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, - 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, - 0x6c, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, - 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, - 0x65, 0x72, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x65, - 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, - 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, - 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x75, - 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x75, 0x73, - 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, - 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, - 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, - 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, + 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, + 0x22, 0xe7, 0x03, 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, + 0x70, 0x69, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, + 0x74, 0x6f, 0x70, 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, + 0x0a, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x11, 0x63, + 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x01, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, + 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, + 0x65, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, + 0x61, 0x64, 0x5f, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, + 0x6d, 0x61, 0x74, 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, + 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, + 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x70, 0xea, 0x41, 0x6d, 0x0a, 0x23, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, + 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x71, 0x0a, 0x12, 0x43, 0x75, + 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, + 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, + 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, + 0x74, 0x68, 0x6d, 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, + 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6b, + 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xd8, 0x0b, + 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, + 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, + 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, + 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, + 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, + 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, + 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x09, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, - 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x13, - 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, - 0x20, 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, - 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, - 0x69, 0x78, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, - 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, - 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b, - 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, - 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, - 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, - 0x6c, 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x0c, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, - 0x05, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, - 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, - 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x43, - 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, - 0x65, 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, - 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0xb0, 0x1b, 0x0a, - 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, - 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, + 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, + 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, + 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, + 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, + 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, + 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, + 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, + 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x69, + 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, + 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, + 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, + 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, + 0x6f, 0x6c, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6f, + 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x4e, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x65, + 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, + 0x61, 0x6d, 0x70, 0x52, 0x13, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, + 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, + 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, + 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, + 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, + 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x05, + 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, + 0x72, 0x12, 0x56, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x6e, + 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, + 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x75, 0x73, + 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, + 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, + 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, + 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, + 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, + 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, + 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x4c, + 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x12, 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, + 0x03, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x65, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, + 0x78, 0x65, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, + 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b, 0x50, + 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, + 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, + 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x5f, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x05, + 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, + 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x43, 0x6f, + 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x12, 0x10, 0x0a, 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, + 0x6e, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, + 0x65, 0x6e, 0x67, 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, + 0x70, 0x6c, 0x65, 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x32, 0xb0, 0x1b, 0x0a, 0x07, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x57, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x54, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, + 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x07, 0xda, + 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6d, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x1a, 0xda, 0x41, 0x17, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x67, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x76, + 0x0a, 0x19, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, + 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, + 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x09, 0xda, 0x41, 0x06, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, + 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, + 0x79, 0x22, 0x0b, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5d, + 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, + 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x12, 0xda, 0x41, 0x0f, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x82, 0x01, + 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, + 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, + 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, + 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0xda, 0x41, 0x14, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, + 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, + 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x15, 0xda, 0x41, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, + 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a, 0x12, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, + 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x54, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x07, - 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6d, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x1a, 0xda, 0x41, 0x17, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x62, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x67, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, - 0x76, 0x0a, 0x19, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, - 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x33, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, - 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x09, 0xda, 0x41, - 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, - 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, - 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, - 0x63, 0x79, 0x22, 0x0b, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, - 0x5d, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, - 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, - 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x12, 0xda, 0x41, 0x0f, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x82, - 0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, - 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, - 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, - 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x17, 0xda, 0x41, 0x14, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, - 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x15, 0xda, 0x41, 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a, - 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, - 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, - 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, - 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, - 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, - 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x16, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4e, - 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x0c, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, - 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, - 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x78, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, - 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0xda, 0x41, - 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, - 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, - 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x0c, 0x55, - 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x15, - 0xda, 0x41, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x60, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, - 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, - 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, - 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x67, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, + 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, + 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, - 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x12, 0x5e, 0x0a, 0x0d, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, - 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, - 0x12, 0x76, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, - 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, - 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, - 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, + 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, + 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x12, 0x7b, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, + 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, + 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x78, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, + 0x88, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0xda, 0x41, 0x0d, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, + 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, + 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x15, 0xda, + 0x41, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x60, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, + 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, + 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x67, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, + 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, + 0x5e, 0x0a, 0x0d, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, + 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, + 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, + 0x76, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, + 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, - 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, - 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, - 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0c, 0xda, 0x41, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, - 0x5f, 0x69, 0x64, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, - 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, - 0x6a, 0x65, 0x63, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, - 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, - 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xda, 0x41, 0x1d, 0x70, 0x72, - 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, - 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x14, 0xda, - 0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, - 0x79, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, + 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, + 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, + 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0c, 0xda, 0x41, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, + 0x69, 0x64, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, + 0x65, 0x63, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, + 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, + 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, + 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x20, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, + 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x44, 0x65, + 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, + 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x14, 0xda, 0x41, + 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, + 0x63, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, + 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, + 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x14, 0xda, 0x41, 0x11, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, + 0x12, 0x6b, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, + 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, + 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, + 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, + 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x22, 0x0a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x75, 0x0a, + 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, + 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, - 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x14, 0xda, 0x41, 0x11, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, - 0x74, 0x12, 0x6b, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, - 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, - 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, - 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x22, 0x0a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x75, - 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, - 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, - 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, - 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x17, 0xda, 0x41, - 0x14, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, - 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0xa7, 0x02, 0xca, 0x41, 0x16, 0x73, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, - 0x6d, 0xd2, 0x41, 0x8a, 0x02, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0x17, 0xda, 0x41, 0x14, + 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, + 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0xa7, 0x02, 0xca, 0x41, 0x16, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, + 0xd2, 0x41, 0x8a, 0x02, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, - 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, - 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, - 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, - 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, - 0xdc, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, - 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, - 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, - 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, - 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x74, 0x6f, 0x72, - 0x61, 0x67, 0x65, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, - 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, - 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, - 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, - 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, - 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, + 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, + 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, + 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, + 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, + 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, + 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xdc, + 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, + 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, + 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, + 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, + 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, + 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -8071,7 +7702,7 @@ func file_google_storage_v2_storage_proto_rawDescGZIP() []byte { } var file_google_storage_v2_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_google_storage_v2_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 72) +var file_google_storage_v2_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 71) var file_google_storage_v2_storage_proto_goTypes = []interface{}{ (ServiceConstants_Values)(0), // 0: google.storage.v2.ServiceConstants.Values (*DeleteBucketRequest)(nil), // 1: google.storage.v2.DeleteBucketRequest @@ -8111,221 +7742,199 @@ var file_google_storage_v2_storage_proto_goTypes = []interface{}{ (*ListHmacKeysResponse)(nil), // 35: google.storage.v2.ListHmacKeysResponse (*UpdateHmacKeyRequest)(nil), // 36: google.storage.v2.UpdateHmacKeyRequest (*CommonObjectRequestParams)(nil), // 37: google.storage.v2.CommonObjectRequestParams - (*CommonRequestParams)(nil), // 38: google.storage.v2.CommonRequestParams - (*ServiceConstants)(nil), // 39: google.storage.v2.ServiceConstants - (*Bucket)(nil), // 40: google.storage.v2.Bucket - (*BucketAccessControl)(nil), // 41: google.storage.v2.BucketAccessControl - (*ChecksummedData)(nil), // 42: google.storage.v2.ChecksummedData - (*ObjectChecksums)(nil), // 43: google.storage.v2.ObjectChecksums - (*HmacKeyMetadata)(nil), // 44: google.storage.v2.HmacKeyMetadata - (*Notification)(nil), // 45: google.storage.v2.Notification - (*CustomerEncryption)(nil), // 46: google.storage.v2.CustomerEncryption - (*Object)(nil), // 47: google.storage.v2.Object - (*ObjectAccessControl)(nil), // 48: google.storage.v2.ObjectAccessControl - (*ListObjectsResponse)(nil), // 49: google.storage.v2.ListObjectsResponse - (*ProjectTeam)(nil), // 50: google.storage.v2.ProjectTeam - (*ServiceAccount)(nil), // 51: google.storage.v2.ServiceAccount - (*Owner)(nil), // 52: google.storage.v2.Owner - (*ContentRange)(nil), // 53: google.storage.v2.ContentRange - (*ComposeObjectRequest_SourceObject)(nil), // 54: google.storage.v2.ComposeObjectRequest.SourceObject - (*ComposeObjectRequest_SourceObject_ObjectPreconditions)(nil), // 55: google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions - (*Bucket_Billing)(nil), // 56: google.storage.v2.Bucket.Billing - (*Bucket_Cors)(nil), // 57: google.storage.v2.Bucket.Cors - (*Bucket_Encryption)(nil), // 58: google.storage.v2.Bucket.Encryption - (*Bucket_IamConfig)(nil), // 59: google.storage.v2.Bucket.IamConfig - (*Bucket_Lifecycle)(nil), // 60: google.storage.v2.Bucket.Lifecycle - (*Bucket_Logging)(nil), // 61: google.storage.v2.Bucket.Logging - (*Bucket_RetentionPolicy)(nil), // 62: google.storage.v2.Bucket.RetentionPolicy - (*Bucket_Versioning)(nil), // 63: google.storage.v2.Bucket.Versioning - (*Bucket_Website)(nil), // 64: google.storage.v2.Bucket.Website - (*Bucket_Autoclass)(nil), // 65: google.storage.v2.Bucket.Autoclass - nil, // 66: google.storage.v2.Bucket.LabelsEntry - (*Bucket_IamConfig_UniformBucketLevelAccess)(nil), // 67: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess - (*Bucket_Lifecycle_Rule)(nil), // 68: google.storage.v2.Bucket.Lifecycle.Rule - (*Bucket_Lifecycle_Rule_Action)(nil), // 69: google.storage.v2.Bucket.Lifecycle.Rule.Action - (*Bucket_Lifecycle_Rule_Condition)(nil), // 70: google.storage.v2.Bucket.Lifecycle.Rule.Condition - nil, // 71: google.storage.v2.Notification.CustomAttributesEntry - nil, // 72: google.storage.v2.Object.MetadataEntry - (*fieldmaskpb.FieldMask)(nil), // 73: google.protobuf.FieldMask - (*timestamppb.Timestamp)(nil), // 74: google.protobuf.Timestamp - (*date.Date)(nil), // 75: google.type.Date - (*v1.GetIamPolicyRequest)(nil), // 76: google.iam.v1.GetIamPolicyRequest - (*v1.SetIamPolicyRequest)(nil), // 77: google.iam.v1.SetIamPolicyRequest - (*v1.TestIamPermissionsRequest)(nil), // 78: google.iam.v1.TestIamPermissionsRequest - (*emptypb.Empty)(nil), // 79: google.protobuf.Empty - (*v1.Policy)(nil), // 80: google.iam.v1.Policy - (*v1.TestIamPermissionsResponse)(nil), // 81: google.iam.v1.TestIamPermissionsResponse + (*ServiceConstants)(nil), // 38: google.storage.v2.ServiceConstants + (*Bucket)(nil), // 39: google.storage.v2.Bucket + (*BucketAccessControl)(nil), // 40: google.storage.v2.BucketAccessControl + (*ChecksummedData)(nil), // 41: google.storage.v2.ChecksummedData + (*ObjectChecksums)(nil), // 42: google.storage.v2.ObjectChecksums + (*HmacKeyMetadata)(nil), // 43: google.storage.v2.HmacKeyMetadata + (*Notification)(nil), // 44: google.storage.v2.Notification + (*CustomerEncryption)(nil), // 45: google.storage.v2.CustomerEncryption + (*Object)(nil), // 46: google.storage.v2.Object + (*ObjectAccessControl)(nil), // 47: google.storage.v2.ObjectAccessControl + (*ListObjectsResponse)(nil), // 48: google.storage.v2.ListObjectsResponse + (*ProjectTeam)(nil), // 49: google.storage.v2.ProjectTeam + (*ServiceAccount)(nil), // 50: google.storage.v2.ServiceAccount + (*Owner)(nil), // 51: google.storage.v2.Owner + (*ContentRange)(nil), // 52: google.storage.v2.ContentRange + (*ComposeObjectRequest_SourceObject)(nil), // 53: google.storage.v2.ComposeObjectRequest.SourceObject + (*ComposeObjectRequest_SourceObject_ObjectPreconditions)(nil), // 54: google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions + (*Bucket_Billing)(nil), // 55: google.storage.v2.Bucket.Billing + (*Bucket_Cors)(nil), // 56: google.storage.v2.Bucket.Cors + (*Bucket_Encryption)(nil), // 57: google.storage.v2.Bucket.Encryption + (*Bucket_IamConfig)(nil), // 58: google.storage.v2.Bucket.IamConfig + (*Bucket_Lifecycle)(nil), // 59: google.storage.v2.Bucket.Lifecycle + (*Bucket_Logging)(nil), // 60: google.storage.v2.Bucket.Logging + (*Bucket_RetentionPolicy)(nil), // 61: google.storage.v2.Bucket.RetentionPolicy + (*Bucket_Versioning)(nil), // 62: google.storage.v2.Bucket.Versioning + (*Bucket_Website)(nil), // 63: google.storage.v2.Bucket.Website + (*Bucket_Autoclass)(nil), // 64: google.storage.v2.Bucket.Autoclass + nil, // 65: google.storage.v2.Bucket.LabelsEntry + (*Bucket_IamConfig_UniformBucketLevelAccess)(nil), // 66: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess + (*Bucket_Lifecycle_Rule)(nil), // 67: google.storage.v2.Bucket.Lifecycle.Rule + (*Bucket_Lifecycle_Rule_Action)(nil), // 68: google.storage.v2.Bucket.Lifecycle.Rule.Action + (*Bucket_Lifecycle_Rule_Condition)(nil), // 69: google.storage.v2.Bucket.Lifecycle.Rule.Condition + nil, // 70: google.storage.v2.Notification.CustomAttributesEntry + nil, // 71: google.storage.v2.Object.MetadataEntry + (*fieldmaskpb.FieldMask)(nil), // 72: google.protobuf.FieldMask + (*timestamppb.Timestamp)(nil), // 73: google.protobuf.Timestamp + (*date.Date)(nil), // 74: google.type.Date + (*v1.GetIamPolicyRequest)(nil), // 75: google.iam.v1.GetIamPolicyRequest + (*v1.SetIamPolicyRequest)(nil), // 76: google.iam.v1.SetIamPolicyRequest + (*v1.TestIamPermissionsRequest)(nil), // 77: google.iam.v1.TestIamPermissionsRequest + (*emptypb.Empty)(nil), // 78: google.protobuf.Empty + (*v1.Policy)(nil), // 79: google.iam.v1.Policy + (*v1.TestIamPermissionsResponse)(nil), // 80: google.iam.v1.TestIamPermissionsResponse } var file_google_storage_v2_storage_proto_depIdxs = []int32{ - 38, // 0: google.storage.v2.DeleteBucketRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 38, // 1: google.storage.v2.GetBucketRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 73, // 2: google.storage.v2.GetBucketRequest.read_mask:type_name -> google.protobuf.FieldMask - 40, // 3: google.storage.v2.CreateBucketRequest.bucket:type_name -> google.storage.v2.Bucket - 73, // 4: google.storage.v2.ListBucketsRequest.read_mask:type_name -> google.protobuf.FieldMask - 38, // 5: google.storage.v2.ListBucketsRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 40, // 6: google.storage.v2.ListBucketsResponse.buckets:type_name -> google.storage.v2.Bucket - 38, // 7: google.storage.v2.LockBucketRetentionPolicyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 40, // 8: google.storage.v2.UpdateBucketRequest.bucket:type_name -> google.storage.v2.Bucket - 73, // 9: google.storage.v2.UpdateBucketRequest.update_mask:type_name -> google.protobuf.FieldMask - 38, // 10: google.storage.v2.UpdateBucketRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 45, // 11: google.storage.v2.CreateNotificationRequest.notification:type_name -> google.storage.v2.Notification - 45, // 12: google.storage.v2.ListNotificationsResponse.notifications:type_name -> google.storage.v2.Notification - 47, // 13: google.storage.v2.ComposeObjectRequest.destination:type_name -> google.storage.v2.Object - 54, // 14: google.storage.v2.ComposeObjectRequest.source_objects:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject - 37, // 15: google.storage.v2.ComposeObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 16: google.storage.v2.ComposeObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 37, // 17: google.storage.v2.DeleteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 18: google.storage.v2.DeleteObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 37, // 19: google.storage.v2.ReadObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 20: google.storage.v2.ReadObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 73, // 21: google.storage.v2.ReadObjectRequest.read_mask:type_name -> google.protobuf.FieldMask - 37, // 22: google.storage.v2.GetObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 23: google.storage.v2.GetObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 73, // 24: google.storage.v2.GetObjectRequest.read_mask:type_name -> google.protobuf.FieldMask - 42, // 25: google.storage.v2.ReadObjectResponse.checksummed_data:type_name -> google.storage.v2.ChecksummedData - 43, // 26: google.storage.v2.ReadObjectResponse.object_checksums:type_name -> google.storage.v2.ObjectChecksums - 53, // 27: google.storage.v2.ReadObjectResponse.content_range:type_name -> google.storage.v2.ContentRange - 47, // 28: google.storage.v2.ReadObjectResponse.metadata:type_name -> google.storage.v2.Object - 47, // 29: google.storage.v2.WriteObjectSpec.resource:type_name -> google.storage.v2.Object - 18, // 30: google.storage.v2.WriteObjectRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec - 42, // 31: google.storage.v2.WriteObjectRequest.checksummed_data:type_name -> google.storage.v2.ChecksummedData - 43, // 32: google.storage.v2.WriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums - 37, // 33: google.storage.v2.WriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 34: google.storage.v2.WriteObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 47, // 35: google.storage.v2.WriteObjectResponse.resource:type_name -> google.storage.v2.Object - 73, // 36: google.storage.v2.ListObjectsRequest.read_mask:type_name -> google.protobuf.FieldMask - 38, // 37: google.storage.v2.ListObjectsRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 37, // 38: google.storage.v2.QueryWriteStatusRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 39: google.storage.v2.QueryWriteStatusRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 47, // 40: google.storage.v2.QueryWriteStatusResponse.resource:type_name -> google.storage.v2.Object - 47, // 41: google.storage.v2.RewriteObjectRequest.destination:type_name -> google.storage.v2.Object - 37, // 42: google.storage.v2.RewriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 43: google.storage.v2.RewriteObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 47, // 44: google.storage.v2.RewriteResponse.resource:type_name -> google.storage.v2.Object - 18, // 45: google.storage.v2.StartResumableWriteRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec - 37, // 46: google.storage.v2.StartResumableWriteRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 47: google.storage.v2.StartResumableWriteRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 47, // 48: google.storage.v2.UpdateObjectRequest.object:type_name -> google.storage.v2.Object - 73, // 49: google.storage.v2.UpdateObjectRequest.update_mask:type_name -> google.protobuf.FieldMask - 37, // 50: google.storage.v2.UpdateObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams - 38, // 51: google.storage.v2.UpdateObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 38, // 52: google.storage.v2.GetServiceAccountRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 38, // 53: google.storage.v2.CreateHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 44, // 54: google.storage.v2.CreateHmacKeyResponse.metadata:type_name -> google.storage.v2.HmacKeyMetadata - 38, // 55: google.storage.v2.DeleteHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 38, // 56: google.storage.v2.GetHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 38, // 57: google.storage.v2.ListHmacKeysRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 44, // 58: google.storage.v2.ListHmacKeysResponse.hmac_keys:type_name -> google.storage.v2.HmacKeyMetadata - 44, // 59: google.storage.v2.UpdateHmacKeyRequest.hmac_key:type_name -> google.storage.v2.HmacKeyMetadata - 38, // 60: google.storage.v2.UpdateHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams - 73, // 61: google.storage.v2.UpdateHmacKeyRequest.update_mask:type_name -> google.protobuf.FieldMask - 41, // 62: google.storage.v2.Bucket.acl:type_name -> google.storage.v2.BucketAccessControl - 48, // 63: google.storage.v2.Bucket.default_object_acl:type_name -> google.storage.v2.ObjectAccessControl - 60, // 64: google.storage.v2.Bucket.lifecycle:type_name -> google.storage.v2.Bucket.Lifecycle - 74, // 65: google.storage.v2.Bucket.create_time:type_name -> google.protobuf.Timestamp - 57, // 66: google.storage.v2.Bucket.cors:type_name -> google.storage.v2.Bucket.Cors - 74, // 67: google.storage.v2.Bucket.update_time:type_name -> google.protobuf.Timestamp - 66, // 68: google.storage.v2.Bucket.labels:type_name -> google.storage.v2.Bucket.LabelsEntry - 64, // 69: google.storage.v2.Bucket.website:type_name -> google.storage.v2.Bucket.Website - 63, // 70: google.storage.v2.Bucket.versioning:type_name -> google.storage.v2.Bucket.Versioning - 61, // 71: google.storage.v2.Bucket.logging:type_name -> google.storage.v2.Bucket.Logging - 52, // 72: google.storage.v2.Bucket.owner:type_name -> google.storage.v2.Owner - 58, // 73: google.storage.v2.Bucket.encryption:type_name -> google.storage.v2.Bucket.Encryption - 56, // 74: google.storage.v2.Bucket.billing:type_name -> google.storage.v2.Bucket.Billing - 62, // 75: google.storage.v2.Bucket.retention_policy:type_name -> google.storage.v2.Bucket.RetentionPolicy - 59, // 76: google.storage.v2.Bucket.iam_config:type_name -> google.storage.v2.Bucket.IamConfig - 65, // 77: google.storage.v2.Bucket.autoclass:type_name -> google.storage.v2.Bucket.Autoclass - 50, // 78: google.storage.v2.BucketAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam - 74, // 79: google.storage.v2.HmacKeyMetadata.create_time:type_name -> google.protobuf.Timestamp - 74, // 80: google.storage.v2.HmacKeyMetadata.update_time:type_name -> google.protobuf.Timestamp - 71, // 81: google.storage.v2.Notification.custom_attributes:type_name -> google.storage.v2.Notification.CustomAttributesEntry - 48, // 82: google.storage.v2.Object.acl:type_name -> google.storage.v2.ObjectAccessControl - 74, // 83: google.storage.v2.Object.delete_time:type_name -> google.protobuf.Timestamp - 74, // 84: google.storage.v2.Object.create_time:type_name -> google.protobuf.Timestamp - 43, // 85: google.storage.v2.Object.checksums:type_name -> google.storage.v2.ObjectChecksums - 74, // 86: google.storage.v2.Object.update_time:type_name -> google.protobuf.Timestamp - 74, // 87: google.storage.v2.Object.update_storage_class_time:type_name -> google.protobuf.Timestamp - 74, // 88: google.storage.v2.Object.retention_expire_time:type_name -> google.protobuf.Timestamp - 72, // 89: google.storage.v2.Object.metadata:type_name -> google.storage.v2.Object.MetadataEntry - 52, // 90: google.storage.v2.Object.owner:type_name -> google.storage.v2.Owner - 46, // 91: google.storage.v2.Object.customer_encryption:type_name -> google.storage.v2.CustomerEncryption - 74, // 92: google.storage.v2.Object.custom_time:type_name -> google.protobuf.Timestamp - 50, // 93: google.storage.v2.ObjectAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam - 47, // 94: google.storage.v2.ListObjectsResponse.objects:type_name -> google.storage.v2.Object - 55, // 95: google.storage.v2.ComposeObjectRequest.SourceObject.object_preconditions:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions - 67, // 96: google.storage.v2.Bucket.IamConfig.uniform_bucket_level_access:type_name -> google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess - 68, // 97: google.storage.v2.Bucket.Lifecycle.rule:type_name -> google.storage.v2.Bucket.Lifecycle.Rule - 74, // 98: google.storage.v2.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp - 74, // 99: google.storage.v2.Bucket.Autoclass.toggle_time:type_name -> google.protobuf.Timestamp - 74, // 100: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess.lock_time:type_name -> google.protobuf.Timestamp - 69, // 101: google.storage.v2.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Action - 70, // 102: google.storage.v2.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Condition - 75, // 103: google.storage.v2.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.type.Date - 75, // 104: google.storage.v2.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.type.Date - 75, // 105: google.storage.v2.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.type.Date - 1, // 106: google.storage.v2.Storage.DeleteBucket:input_type -> google.storage.v2.DeleteBucketRequest - 2, // 107: google.storage.v2.Storage.GetBucket:input_type -> google.storage.v2.GetBucketRequest - 3, // 108: google.storage.v2.Storage.CreateBucket:input_type -> google.storage.v2.CreateBucketRequest - 4, // 109: google.storage.v2.Storage.ListBuckets:input_type -> google.storage.v2.ListBucketsRequest - 6, // 110: google.storage.v2.Storage.LockBucketRetentionPolicy:input_type -> google.storage.v2.LockBucketRetentionPolicyRequest - 76, // 111: google.storage.v2.Storage.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest - 77, // 112: google.storage.v2.Storage.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest - 78, // 113: google.storage.v2.Storage.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest - 7, // 114: google.storage.v2.Storage.UpdateBucket:input_type -> google.storage.v2.UpdateBucketRequest - 8, // 115: google.storage.v2.Storage.DeleteNotification:input_type -> google.storage.v2.DeleteNotificationRequest - 9, // 116: google.storage.v2.Storage.GetNotification:input_type -> google.storage.v2.GetNotificationRequest - 10, // 117: google.storage.v2.Storage.CreateNotification:input_type -> google.storage.v2.CreateNotificationRequest - 11, // 118: google.storage.v2.Storage.ListNotifications:input_type -> google.storage.v2.ListNotificationsRequest - 13, // 119: google.storage.v2.Storage.ComposeObject:input_type -> google.storage.v2.ComposeObjectRequest - 14, // 120: google.storage.v2.Storage.DeleteObject:input_type -> google.storage.v2.DeleteObjectRequest - 16, // 121: google.storage.v2.Storage.GetObject:input_type -> google.storage.v2.GetObjectRequest - 15, // 122: google.storage.v2.Storage.ReadObject:input_type -> google.storage.v2.ReadObjectRequest - 28, // 123: google.storage.v2.Storage.UpdateObject:input_type -> google.storage.v2.UpdateObjectRequest - 19, // 124: google.storage.v2.Storage.WriteObject:input_type -> google.storage.v2.WriteObjectRequest - 21, // 125: google.storage.v2.Storage.ListObjects:input_type -> google.storage.v2.ListObjectsRequest - 24, // 126: google.storage.v2.Storage.RewriteObject:input_type -> google.storage.v2.RewriteObjectRequest - 26, // 127: google.storage.v2.Storage.StartResumableWrite:input_type -> google.storage.v2.StartResumableWriteRequest - 22, // 128: google.storage.v2.Storage.QueryWriteStatus:input_type -> google.storage.v2.QueryWriteStatusRequest - 29, // 129: google.storage.v2.Storage.GetServiceAccount:input_type -> google.storage.v2.GetServiceAccountRequest - 30, // 130: google.storage.v2.Storage.CreateHmacKey:input_type -> google.storage.v2.CreateHmacKeyRequest - 32, // 131: google.storage.v2.Storage.DeleteHmacKey:input_type -> google.storage.v2.DeleteHmacKeyRequest - 33, // 132: google.storage.v2.Storage.GetHmacKey:input_type -> google.storage.v2.GetHmacKeyRequest - 34, // 133: google.storage.v2.Storage.ListHmacKeys:input_type -> google.storage.v2.ListHmacKeysRequest - 36, // 134: google.storage.v2.Storage.UpdateHmacKey:input_type -> google.storage.v2.UpdateHmacKeyRequest - 79, // 135: google.storage.v2.Storage.DeleteBucket:output_type -> google.protobuf.Empty - 40, // 136: google.storage.v2.Storage.GetBucket:output_type -> google.storage.v2.Bucket - 40, // 137: google.storage.v2.Storage.CreateBucket:output_type -> google.storage.v2.Bucket - 5, // 138: google.storage.v2.Storage.ListBuckets:output_type -> google.storage.v2.ListBucketsResponse - 40, // 139: google.storage.v2.Storage.LockBucketRetentionPolicy:output_type -> google.storage.v2.Bucket - 80, // 140: google.storage.v2.Storage.GetIamPolicy:output_type -> google.iam.v1.Policy - 80, // 141: google.storage.v2.Storage.SetIamPolicy:output_type -> google.iam.v1.Policy - 81, // 142: google.storage.v2.Storage.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse - 40, // 143: google.storage.v2.Storage.UpdateBucket:output_type -> google.storage.v2.Bucket - 79, // 144: google.storage.v2.Storage.DeleteNotification:output_type -> google.protobuf.Empty - 45, // 145: google.storage.v2.Storage.GetNotification:output_type -> google.storage.v2.Notification - 45, // 146: google.storage.v2.Storage.CreateNotification:output_type -> google.storage.v2.Notification - 12, // 147: google.storage.v2.Storage.ListNotifications:output_type -> google.storage.v2.ListNotificationsResponse - 47, // 148: google.storage.v2.Storage.ComposeObject:output_type -> google.storage.v2.Object - 79, // 149: google.storage.v2.Storage.DeleteObject:output_type -> google.protobuf.Empty - 47, // 150: google.storage.v2.Storage.GetObject:output_type -> google.storage.v2.Object - 17, // 151: google.storage.v2.Storage.ReadObject:output_type -> google.storage.v2.ReadObjectResponse - 47, // 152: google.storage.v2.Storage.UpdateObject:output_type -> google.storage.v2.Object - 20, // 153: google.storage.v2.Storage.WriteObject:output_type -> google.storage.v2.WriteObjectResponse - 49, // 154: google.storage.v2.Storage.ListObjects:output_type -> google.storage.v2.ListObjectsResponse - 25, // 155: google.storage.v2.Storage.RewriteObject:output_type -> google.storage.v2.RewriteResponse - 27, // 156: google.storage.v2.Storage.StartResumableWrite:output_type -> google.storage.v2.StartResumableWriteResponse - 23, // 157: google.storage.v2.Storage.QueryWriteStatus:output_type -> google.storage.v2.QueryWriteStatusResponse - 51, // 158: google.storage.v2.Storage.GetServiceAccount:output_type -> google.storage.v2.ServiceAccount - 31, // 159: google.storage.v2.Storage.CreateHmacKey:output_type -> google.storage.v2.CreateHmacKeyResponse - 79, // 160: google.storage.v2.Storage.DeleteHmacKey:output_type -> google.protobuf.Empty - 44, // 161: google.storage.v2.Storage.GetHmacKey:output_type -> google.storage.v2.HmacKeyMetadata - 35, // 162: google.storage.v2.Storage.ListHmacKeys:output_type -> google.storage.v2.ListHmacKeysResponse - 44, // 163: google.storage.v2.Storage.UpdateHmacKey:output_type -> google.storage.v2.HmacKeyMetadata - 135, // [135:164] is the sub-list for method output_type - 106, // [106:135] is the sub-list for method input_type - 106, // [106:106] is the sub-list for extension type_name - 106, // [106:106] is the sub-list for extension extendee - 0, // [0:106] is the sub-list for field type_name + 72, // 0: google.storage.v2.GetBucketRequest.read_mask:type_name -> google.protobuf.FieldMask + 39, // 1: google.storage.v2.CreateBucketRequest.bucket:type_name -> google.storage.v2.Bucket + 72, // 2: google.storage.v2.ListBucketsRequest.read_mask:type_name -> google.protobuf.FieldMask + 39, // 3: google.storage.v2.ListBucketsResponse.buckets:type_name -> google.storage.v2.Bucket + 39, // 4: google.storage.v2.UpdateBucketRequest.bucket:type_name -> google.storage.v2.Bucket + 72, // 5: google.storage.v2.UpdateBucketRequest.update_mask:type_name -> google.protobuf.FieldMask + 44, // 6: google.storage.v2.CreateNotificationRequest.notification:type_name -> google.storage.v2.Notification + 44, // 7: google.storage.v2.ListNotificationsResponse.notifications:type_name -> google.storage.v2.Notification + 46, // 8: google.storage.v2.ComposeObjectRequest.destination:type_name -> google.storage.v2.Object + 53, // 9: google.storage.v2.ComposeObjectRequest.source_objects:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject + 37, // 10: google.storage.v2.ComposeObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 37, // 11: google.storage.v2.DeleteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 37, // 12: google.storage.v2.ReadObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 72, // 13: google.storage.v2.ReadObjectRequest.read_mask:type_name -> google.protobuf.FieldMask + 37, // 14: google.storage.v2.GetObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 72, // 15: google.storage.v2.GetObjectRequest.read_mask:type_name -> google.protobuf.FieldMask + 41, // 16: google.storage.v2.ReadObjectResponse.checksummed_data:type_name -> google.storage.v2.ChecksummedData + 42, // 17: google.storage.v2.ReadObjectResponse.object_checksums:type_name -> google.storage.v2.ObjectChecksums + 52, // 18: google.storage.v2.ReadObjectResponse.content_range:type_name -> google.storage.v2.ContentRange + 46, // 19: google.storage.v2.ReadObjectResponse.metadata:type_name -> google.storage.v2.Object + 46, // 20: google.storage.v2.WriteObjectSpec.resource:type_name -> google.storage.v2.Object + 18, // 21: google.storage.v2.WriteObjectRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec + 41, // 22: google.storage.v2.WriteObjectRequest.checksummed_data:type_name -> google.storage.v2.ChecksummedData + 42, // 23: google.storage.v2.WriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums + 37, // 24: google.storage.v2.WriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 46, // 25: google.storage.v2.WriteObjectResponse.resource:type_name -> google.storage.v2.Object + 72, // 26: google.storage.v2.ListObjectsRequest.read_mask:type_name -> google.protobuf.FieldMask + 37, // 27: google.storage.v2.QueryWriteStatusRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 46, // 28: google.storage.v2.QueryWriteStatusResponse.resource:type_name -> google.storage.v2.Object + 46, // 29: google.storage.v2.RewriteObjectRequest.destination:type_name -> google.storage.v2.Object + 37, // 30: google.storage.v2.RewriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 46, // 31: google.storage.v2.RewriteResponse.resource:type_name -> google.storage.v2.Object + 18, // 32: google.storage.v2.StartResumableWriteRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec + 37, // 33: google.storage.v2.StartResumableWriteRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 46, // 34: google.storage.v2.UpdateObjectRequest.object:type_name -> google.storage.v2.Object + 72, // 35: google.storage.v2.UpdateObjectRequest.update_mask:type_name -> google.protobuf.FieldMask + 37, // 36: google.storage.v2.UpdateObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams + 43, // 37: google.storage.v2.CreateHmacKeyResponse.metadata:type_name -> google.storage.v2.HmacKeyMetadata + 43, // 38: google.storage.v2.ListHmacKeysResponse.hmac_keys:type_name -> google.storage.v2.HmacKeyMetadata + 43, // 39: google.storage.v2.UpdateHmacKeyRequest.hmac_key:type_name -> google.storage.v2.HmacKeyMetadata + 72, // 40: google.storage.v2.UpdateHmacKeyRequest.update_mask:type_name -> google.protobuf.FieldMask + 40, // 41: google.storage.v2.Bucket.acl:type_name -> google.storage.v2.BucketAccessControl + 47, // 42: google.storage.v2.Bucket.default_object_acl:type_name -> google.storage.v2.ObjectAccessControl + 59, // 43: google.storage.v2.Bucket.lifecycle:type_name -> google.storage.v2.Bucket.Lifecycle + 73, // 44: google.storage.v2.Bucket.create_time:type_name -> google.protobuf.Timestamp + 56, // 45: google.storage.v2.Bucket.cors:type_name -> google.storage.v2.Bucket.Cors + 73, // 46: google.storage.v2.Bucket.update_time:type_name -> google.protobuf.Timestamp + 65, // 47: google.storage.v2.Bucket.labels:type_name -> google.storage.v2.Bucket.LabelsEntry + 63, // 48: google.storage.v2.Bucket.website:type_name -> google.storage.v2.Bucket.Website + 62, // 49: google.storage.v2.Bucket.versioning:type_name -> google.storage.v2.Bucket.Versioning + 60, // 50: google.storage.v2.Bucket.logging:type_name -> google.storage.v2.Bucket.Logging + 51, // 51: google.storage.v2.Bucket.owner:type_name -> google.storage.v2.Owner + 57, // 52: google.storage.v2.Bucket.encryption:type_name -> google.storage.v2.Bucket.Encryption + 55, // 53: google.storage.v2.Bucket.billing:type_name -> google.storage.v2.Bucket.Billing + 61, // 54: google.storage.v2.Bucket.retention_policy:type_name -> google.storage.v2.Bucket.RetentionPolicy + 58, // 55: google.storage.v2.Bucket.iam_config:type_name -> google.storage.v2.Bucket.IamConfig + 64, // 56: google.storage.v2.Bucket.autoclass:type_name -> google.storage.v2.Bucket.Autoclass + 49, // 57: google.storage.v2.BucketAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam + 73, // 58: google.storage.v2.HmacKeyMetadata.create_time:type_name -> google.protobuf.Timestamp + 73, // 59: google.storage.v2.HmacKeyMetadata.update_time:type_name -> google.protobuf.Timestamp + 70, // 60: google.storage.v2.Notification.custom_attributes:type_name -> google.storage.v2.Notification.CustomAttributesEntry + 47, // 61: google.storage.v2.Object.acl:type_name -> google.storage.v2.ObjectAccessControl + 73, // 62: google.storage.v2.Object.delete_time:type_name -> google.protobuf.Timestamp + 73, // 63: google.storage.v2.Object.create_time:type_name -> google.protobuf.Timestamp + 42, // 64: google.storage.v2.Object.checksums:type_name -> google.storage.v2.ObjectChecksums + 73, // 65: google.storage.v2.Object.update_time:type_name -> google.protobuf.Timestamp + 73, // 66: google.storage.v2.Object.update_storage_class_time:type_name -> google.protobuf.Timestamp + 73, // 67: google.storage.v2.Object.retention_expire_time:type_name -> google.protobuf.Timestamp + 71, // 68: google.storage.v2.Object.metadata:type_name -> google.storage.v2.Object.MetadataEntry + 51, // 69: google.storage.v2.Object.owner:type_name -> google.storage.v2.Owner + 45, // 70: google.storage.v2.Object.customer_encryption:type_name -> google.storage.v2.CustomerEncryption + 73, // 71: google.storage.v2.Object.custom_time:type_name -> google.protobuf.Timestamp + 49, // 72: google.storage.v2.ObjectAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam + 46, // 73: google.storage.v2.ListObjectsResponse.objects:type_name -> google.storage.v2.Object + 54, // 74: google.storage.v2.ComposeObjectRequest.SourceObject.object_preconditions:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions + 66, // 75: google.storage.v2.Bucket.IamConfig.uniform_bucket_level_access:type_name -> google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess + 67, // 76: google.storage.v2.Bucket.Lifecycle.rule:type_name -> google.storage.v2.Bucket.Lifecycle.Rule + 73, // 77: google.storage.v2.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp + 73, // 78: google.storage.v2.Bucket.Autoclass.toggle_time:type_name -> google.protobuf.Timestamp + 73, // 79: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess.lock_time:type_name -> google.protobuf.Timestamp + 68, // 80: google.storage.v2.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Action + 69, // 81: google.storage.v2.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Condition + 74, // 82: google.storage.v2.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.type.Date + 74, // 83: google.storage.v2.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.type.Date + 74, // 84: google.storage.v2.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.type.Date + 1, // 85: google.storage.v2.Storage.DeleteBucket:input_type -> google.storage.v2.DeleteBucketRequest + 2, // 86: google.storage.v2.Storage.GetBucket:input_type -> google.storage.v2.GetBucketRequest + 3, // 87: google.storage.v2.Storage.CreateBucket:input_type -> google.storage.v2.CreateBucketRequest + 4, // 88: google.storage.v2.Storage.ListBuckets:input_type -> google.storage.v2.ListBucketsRequest + 6, // 89: google.storage.v2.Storage.LockBucketRetentionPolicy:input_type -> google.storage.v2.LockBucketRetentionPolicyRequest + 75, // 90: google.storage.v2.Storage.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest + 76, // 91: google.storage.v2.Storage.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest + 77, // 92: google.storage.v2.Storage.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest + 7, // 93: google.storage.v2.Storage.UpdateBucket:input_type -> google.storage.v2.UpdateBucketRequest + 8, // 94: google.storage.v2.Storage.DeleteNotification:input_type -> google.storage.v2.DeleteNotificationRequest + 9, // 95: google.storage.v2.Storage.GetNotification:input_type -> google.storage.v2.GetNotificationRequest + 10, // 96: google.storage.v2.Storage.CreateNotification:input_type -> google.storage.v2.CreateNotificationRequest + 11, // 97: google.storage.v2.Storage.ListNotifications:input_type -> google.storage.v2.ListNotificationsRequest + 13, // 98: google.storage.v2.Storage.ComposeObject:input_type -> google.storage.v2.ComposeObjectRequest + 14, // 99: google.storage.v2.Storage.DeleteObject:input_type -> google.storage.v2.DeleteObjectRequest + 16, // 100: google.storage.v2.Storage.GetObject:input_type -> google.storage.v2.GetObjectRequest + 15, // 101: google.storage.v2.Storage.ReadObject:input_type -> google.storage.v2.ReadObjectRequest + 28, // 102: google.storage.v2.Storage.UpdateObject:input_type -> google.storage.v2.UpdateObjectRequest + 19, // 103: google.storage.v2.Storage.WriteObject:input_type -> google.storage.v2.WriteObjectRequest + 21, // 104: google.storage.v2.Storage.ListObjects:input_type -> google.storage.v2.ListObjectsRequest + 24, // 105: google.storage.v2.Storage.RewriteObject:input_type -> google.storage.v2.RewriteObjectRequest + 26, // 106: google.storage.v2.Storage.StartResumableWrite:input_type -> google.storage.v2.StartResumableWriteRequest + 22, // 107: google.storage.v2.Storage.QueryWriteStatus:input_type -> google.storage.v2.QueryWriteStatusRequest + 29, // 108: google.storage.v2.Storage.GetServiceAccount:input_type -> google.storage.v2.GetServiceAccountRequest + 30, // 109: google.storage.v2.Storage.CreateHmacKey:input_type -> google.storage.v2.CreateHmacKeyRequest + 32, // 110: google.storage.v2.Storage.DeleteHmacKey:input_type -> google.storage.v2.DeleteHmacKeyRequest + 33, // 111: google.storage.v2.Storage.GetHmacKey:input_type -> google.storage.v2.GetHmacKeyRequest + 34, // 112: google.storage.v2.Storage.ListHmacKeys:input_type -> google.storage.v2.ListHmacKeysRequest + 36, // 113: google.storage.v2.Storage.UpdateHmacKey:input_type -> google.storage.v2.UpdateHmacKeyRequest + 78, // 114: google.storage.v2.Storage.DeleteBucket:output_type -> google.protobuf.Empty + 39, // 115: google.storage.v2.Storage.GetBucket:output_type -> google.storage.v2.Bucket + 39, // 116: google.storage.v2.Storage.CreateBucket:output_type -> google.storage.v2.Bucket + 5, // 117: google.storage.v2.Storage.ListBuckets:output_type -> google.storage.v2.ListBucketsResponse + 39, // 118: google.storage.v2.Storage.LockBucketRetentionPolicy:output_type -> google.storage.v2.Bucket + 79, // 119: google.storage.v2.Storage.GetIamPolicy:output_type -> google.iam.v1.Policy + 79, // 120: google.storage.v2.Storage.SetIamPolicy:output_type -> google.iam.v1.Policy + 80, // 121: google.storage.v2.Storage.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse + 39, // 122: google.storage.v2.Storage.UpdateBucket:output_type -> google.storage.v2.Bucket + 78, // 123: google.storage.v2.Storage.DeleteNotification:output_type -> google.protobuf.Empty + 44, // 124: google.storage.v2.Storage.GetNotification:output_type -> google.storage.v2.Notification + 44, // 125: google.storage.v2.Storage.CreateNotification:output_type -> google.storage.v2.Notification + 12, // 126: google.storage.v2.Storage.ListNotifications:output_type -> google.storage.v2.ListNotificationsResponse + 46, // 127: google.storage.v2.Storage.ComposeObject:output_type -> google.storage.v2.Object + 78, // 128: google.storage.v2.Storage.DeleteObject:output_type -> google.protobuf.Empty + 46, // 129: google.storage.v2.Storage.GetObject:output_type -> google.storage.v2.Object + 17, // 130: google.storage.v2.Storage.ReadObject:output_type -> google.storage.v2.ReadObjectResponse + 46, // 131: google.storage.v2.Storage.UpdateObject:output_type -> google.storage.v2.Object + 20, // 132: google.storage.v2.Storage.WriteObject:output_type -> google.storage.v2.WriteObjectResponse + 48, // 133: google.storage.v2.Storage.ListObjects:output_type -> google.storage.v2.ListObjectsResponse + 25, // 134: google.storage.v2.Storage.RewriteObject:output_type -> google.storage.v2.RewriteResponse + 27, // 135: google.storage.v2.Storage.StartResumableWrite:output_type -> google.storage.v2.StartResumableWriteResponse + 23, // 136: google.storage.v2.Storage.QueryWriteStatus:output_type -> google.storage.v2.QueryWriteStatusResponse + 50, // 137: google.storage.v2.Storage.GetServiceAccount:output_type -> google.storage.v2.ServiceAccount + 31, // 138: google.storage.v2.Storage.CreateHmacKey:output_type -> google.storage.v2.CreateHmacKeyResponse + 78, // 139: google.storage.v2.Storage.DeleteHmacKey:output_type -> google.protobuf.Empty + 43, // 140: google.storage.v2.Storage.GetHmacKey:output_type -> google.storage.v2.HmacKeyMetadata + 35, // 141: google.storage.v2.Storage.ListHmacKeys:output_type -> google.storage.v2.ListHmacKeysResponse + 43, // 142: google.storage.v2.Storage.UpdateHmacKey:output_type -> google.storage.v2.HmacKeyMetadata + 114, // [114:143] is the sub-list for method output_type + 85, // [85:114] is the sub-list for method input_type + 85, // [85:85] is the sub-list for extension type_name + 85, // [85:85] is the sub-list for extension extendee + 0, // [0:85] is the sub-list for field type_name } func init() { file_google_storage_v2_storage_proto_init() } @@ -8779,18 +8388,6 @@ func file_google_storage_v2_storage_proto_init() { } } file_google_storage_v2_storage_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*CommonRequestParams); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_google_storage_v2_storage_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceConstants); i { case 0: return &v.state @@ -8802,7 +8399,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket); i { case 0: return &v.state @@ -8814,7 +8411,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*BucketAccessControl); i { case 0: return &v.state @@ -8826,7 +8423,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ChecksummedData); i { case 0: return &v.state @@ -8838,7 +8435,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectChecksums); i { case 0: return &v.state @@ -8850,7 +8447,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*HmacKeyMetadata); i { case 0: return &v.state @@ -8862,7 +8459,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Notification); i { case 0: return &v.state @@ -8874,7 +8471,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*CustomerEncryption); i { case 0: return &v.state @@ -8886,7 +8483,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Object); i { case 0: return &v.state @@ -8898,7 +8495,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ObjectAccessControl); i { case 0: return &v.state @@ -8910,7 +8507,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ListObjectsResponse); i { case 0: return &v.state @@ -8922,7 +8519,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ProjectTeam); i { case 0: return &v.state @@ -8934,7 +8531,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ServiceAccount); i { case 0: return &v.state @@ -8946,7 +8543,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Owner); i { case 0: return &v.state @@ -8958,7 +8555,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ContentRange); i { case 0: return &v.state @@ -8970,7 +8567,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeObjectRequest_SourceObject); i { case 0: return &v.state @@ -8982,7 +8579,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*ComposeObjectRequest_SourceObject_ObjectPreconditions); i { case 0: return &v.state @@ -8994,7 +8591,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Billing); i { case 0: return &v.state @@ -9006,7 +8603,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Cors); i { case 0: return &v.state @@ -9018,7 +8615,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Encryption); i { case 0: return &v.state @@ -9030,7 +8627,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_IamConfig); i { case 0: return &v.state @@ -9042,7 +8639,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Lifecycle); i { case 0: return &v.state @@ -9054,7 +8651,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Logging); i { case 0: return &v.state @@ -9066,7 +8663,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_RetentionPolicy); i { case 0: return &v.state @@ -9078,7 +8675,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Versioning); i { case 0: return &v.state @@ -9090,7 +8687,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Website); i { case 0: return &v.state @@ -9102,7 +8699,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Autoclass); i { case 0: return &v.state @@ -9114,7 +8711,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[65].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_IamConfig_UniformBucketLevelAccess); i { case 0: return &v.state @@ -9126,7 +8723,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Lifecycle_Rule); i { case 0: return &v.state @@ -9138,7 +8735,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Lifecycle_Rule_Action); i { case 0: return &v.state @@ -9150,7 +8747,7 @@ func file_google_storage_v2_storage_proto_init() { return nil } } - file_google_storage_v2_storage_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} { + file_google_storage_v2_storage_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} { switch v := v.(*Bucket_Lifecycle_Rule_Condition); i { case 0: return &v.state @@ -9188,18 +8785,18 @@ func file_google_storage_v2_storage_proto_init() { } file_google_storage_v2_storage_proto_msgTypes[23].OneofWrappers = []interface{}{} file_google_storage_v2_storage_proto_msgTypes[27].OneofWrappers = []interface{}{} + file_google_storage_v2_storage_proto_msgTypes[40].OneofWrappers = []interface{}{} file_google_storage_v2_storage_proto_msgTypes[41].OneofWrappers = []interface{}{} - file_google_storage_v2_storage_proto_msgTypes[42].OneofWrappers = []interface{}{} - file_google_storage_v2_storage_proto_msgTypes[46].OneofWrappers = []interface{}{} - file_google_storage_v2_storage_proto_msgTypes[54].OneofWrappers = []interface{}{} - file_google_storage_v2_storage_proto_msgTypes[69].OneofWrappers = []interface{}{} + file_google_storage_v2_storage_proto_msgTypes[45].OneofWrappers = []interface{}{} + file_google_storage_v2_storage_proto_msgTypes[53].OneofWrappers = []interface{}{} + file_google_storage_v2_storage_proto_msgTypes[68].OneofWrappers = []interface{}{} type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_google_storage_v2_storage_proto_rawDesc, NumEnums: 1, - NumMessages: 72, + NumMessages: 71, NumExtensions: 0, NumServices: 1, }, diff --git a/vendor/google.golang.org/grpc/clientconn.go b/vendor/google.golang.org/grpc/clientconn.go index 3ed6eb8e7..ea9836d28 100644 --- a/vendor/google.golang.org/grpc/clientconn.go +++ b/vendor/google.golang.org/grpc/clientconn.go @@ -907,14 +907,10 @@ func (cc *ClientConn) healthCheckConfig() *healthCheckConfig { } func (cc *ClientConn) getTransport(ctx context.Context, failfast bool, method string) (transport.ClientTransport, func(balancer.DoneInfo), error) { - t, done, err := cc.blockingpicker.pick(ctx, failfast, balancer.PickInfo{ + return cc.blockingpicker.pick(ctx, failfast, balancer.PickInfo{ Ctx: ctx, FullMethodName: method, }) - if err != nil { - return nil, nil, toRPCErr(err) - } - return t, done, nil } func (cc *ClientConn) applyServiceConfigAndBalancer(sc *ServiceConfig, configSelector iresolver.ConfigSelector, addrs []resolver.Address) { diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/vendor/google.golang.org/grpc/internal/transport/http2_client.go index 38ed3d566..24ca59084 100644 --- a/vendor/google.golang.org/grpc/internal/transport/http2_client.go +++ b/vendor/google.golang.org/grpc/internal/transport/http2_client.go @@ -631,8 +631,8 @@ func (t *http2Client) getCallAuthData(ctx context.Context, audience string, call // the wire. However, there are two notable exceptions: // // 1. If the stream headers violate the max header list size allowed by the -// server. In this case there is no reason to retry at all, as it is -// assumed the RPC would continue to fail on subsequent attempts. +// server. It's possible this could succeed on another transport, even if +// it's unlikely, but do not transparently retry. // 2. If the credentials errored when requesting their headers. In this case, // it's possible a retry can fix the problem, but indefinitely transparently // retrying is not appropriate as it is likely the credentials, if they can @@ -640,8 +640,7 @@ func (t *http2Client) getCallAuthData(ctx context.Context, audience string, call type NewStreamError struct { Err error - DoNotRetry bool - DoNotTransparentRetry bool + AllowTransparentRetry bool } func (e NewStreamError) Error() string { @@ -650,11 +649,11 @@ func (e NewStreamError) Error() string { // NewStream creates a stream and registers it into the transport as "active" // streams. All non-nil errors returned will be *NewStreamError. -func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Stream, err error) { +func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (*Stream, error) { ctx = peer.NewContext(ctx, t.getPeer()) headerFields, err := t.createHeaderFields(ctx, callHdr) if err != nil { - return nil, &NewStreamError{Err: err, DoNotTransparentRetry: true} + return nil, &NewStreamError{Err: err, AllowTransparentRetry: false} } s := t.newStream(ctx, callHdr) cleanup := func(err error) { @@ -754,13 +753,14 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea return true }, hdr) if err != nil { - return nil, &NewStreamError{Err: err} + // Connection closed. + return nil, &NewStreamError{Err: err, AllowTransparentRetry: true} } if success { break } if hdrListSizeErr != nil { - return nil, &NewStreamError{Err: hdrListSizeErr, DoNotRetry: true} + return nil, &NewStreamError{Err: hdrListSizeErr} } firstTry = false select { @@ -768,9 +768,9 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea case <-ctx.Done(): return nil, &NewStreamError{Err: ContextErr(ctx.Err())} case <-t.goAway: - return nil, &NewStreamError{Err: errStreamDrain} + return nil, &NewStreamError{Err: errStreamDrain, AllowTransparentRetry: true} case <-t.ctx.Done(): - return nil, &NewStreamError{Err: ErrConnClosing} + return nil, &NewStreamError{Err: ErrConnClosing, AllowTransparentRetry: true} } } if t.statsHandler != nil { diff --git a/vendor/google.golang.org/grpc/picker_wrapper.go b/vendor/google.golang.org/grpc/picker_wrapper.go index e8367cb89..843633c91 100644 --- a/vendor/google.golang.org/grpc/picker_wrapper.go +++ b/vendor/google.golang.org/grpc/picker_wrapper.go @@ -131,7 +131,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer. } if _, ok := status.FromError(err); ok { // Status error: end the RPC unconditionally with this status. - return nil, nil, err + return nil, nil, dropError{error: err} } // For all other errors, wait for ready RPCs should block and other // RPCs should fail with unavailable. @@ -175,3 +175,9 @@ func (pw *pickerWrapper) close() { pw.done = true close(pw.blockingCh) } + +// dropError is a wrapper error that indicates the LB policy wishes to drop the +// RPC and not retry it. +type dropError struct { + error +} diff --git a/vendor/google.golang.org/grpc/stream.go b/vendor/google.golang.org/grpc/stream.go index e0b30b46f..be5140535 100644 --- a/vendor/google.golang.org/grpc/stream.go +++ b/vendor/google.golang.org/grpc/stream.go @@ -303,14 +303,28 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client } cs.binlog = binarylog.GetMethodLogger(method) - if err := cs.newAttemptLocked(false /* isTransparent */); err != nil { + cs.attempt, err = cs.newAttemptLocked(false /* isTransparent */) + if err != nil { cs.finish(err) return nil, err } - op := func(a *csAttempt) error { return a.newStream() } + // Pick the transport to use and create a new stream on the transport. + // Assign cs.attempt upon success. + op := func(a *csAttempt) error { + if err := a.getTransport(); err != nil { + return err + } + if err := a.newStream(); err != nil { + return err + } + // Because this operation is always called either here (while creating + // the clientStream) or by the retry code while locked when replaying + // the operation, it is safe to access cs.attempt directly. + cs.attempt = a + return nil + } if err := cs.withRetry(op, func() { cs.bufferForRetryLocked(0, op) }); err != nil { - cs.finish(err) return nil, err } @@ -349,9 +363,15 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client return cs, nil } -// newAttemptLocked creates a new attempt with a transport. -// If it succeeds, then it replaces clientStream's attempt with this new attempt. -func (cs *clientStream) newAttemptLocked(isTransparent bool) (retErr error) { +// newAttemptLocked creates a new csAttempt without a transport or stream. +func (cs *clientStream) newAttemptLocked(isTransparent bool) (*csAttempt, error) { + if err := cs.ctx.Err(); err != nil { + return nil, toRPCErr(err) + } + if err := cs.cc.ctx.Err(); err != nil { + return nil, ErrClientConnClosing + } + ctx := newContextWithRPCInfo(cs.ctx, cs.callInfo.failFast, cs.callInfo.codec, cs.cp, cs.comp) method := cs.callHdr.Method sh := cs.cc.dopts.copts.StatsHandler @@ -385,27 +405,6 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (retErr error) { ctx = trace.NewContext(ctx, trInfo.tr) } - newAttempt := &csAttempt{ - ctx: ctx, - beginTime: beginTime, - cs: cs, - dc: cs.cc.dopts.dc, - statsHandler: sh, - trInfo: trInfo, - } - defer func() { - if retErr != nil { - // This attempt is not set in the clientStream, so it's finish won't - // be called. Call it here for stats and trace in case they are not - // nil. - newAttempt.finish(retErr) - } - }() - - if err := ctx.Err(); err != nil { - return toRPCErr(err) - } - if cs.cc.parsedTarget.Scheme == "xds" { // Add extra metadata (metadata that will be added by transport) to context // so the balancer can see them. @@ -413,16 +412,32 @@ func (cs *clientStream) newAttemptLocked(isTransparent bool) (retErr error) { "content-type", grpcutil.ContentType(cs.callHdr.ContentSubtype), )) } - t, done, err := cs.cc.getTransport(ctx, cs.callInfo.failFast, cs.callHdr.Method) + + return &csAttempt{ + ctx: ctx, + beginTime: beginTime, + cs: cs, + dc: cs.cc.dopts.dc, + statsHandler: sh, + trInfo: trInfo, + }, nil +} + +func (a *csAttempt) getTransport() error { + cs := a.cs + + var err error + a.t, a.done, err = cs.cc.getTransport(a.ctx, cs.callInfo.failFast, cs.callHdr.Method) if err != nil { + if de, ok := err.(dropError); ok { + err = de.error + a.drop = true + } return err } - if trInfo != nil { - trInfo.firstLine.SetRemoteAddr(t.RemoteAddr()) + if a.trInfo != nil { + a.trInfo.firstLine.SetRemoteAddr(a.t.RemoteAddr()) } - newAttempt.t = t - newAttempt.done = done - cs.attempt = newAttempt return nil } @@ -431,12 +446,21 @@ func (a *csAttempt) newStream() error { cs.callHdr.PreviousAttempts = cs.numRetries s, err := a.t.NewStream(a.ctx, cs.callHdr) if err != nil { - // Return without converting to an RPC error so retry code can - // inspect. - return err + nse, ok := err.(*transport.NewStreamError) + if !ok { + // Unexpected. + return err + } + + if nse.AllowTransparentRetry { + a.allowTransparentRetry = true + } + + // Unwrap and convert error. + return toRPCErr(nse.Err) } - cs.attempt.s = s - cs.attempt.p = &parser{r: s} + a.s = s + a.p = &parser{r: s} return nil } @@ -514,6 +538,11 @@ type csAttempt struct { statsHandler stats.Handler beginTime time.Time + + // set for newStream errors that may be transparently retried + allowTransparentRetry bool + // set for pick errors that are returned as a status + drop bool } func (cs *clientStream) commitAttemptLocked() { @@ -533,41 +562,21 @@ func (cs *clientStream) commitAttempt() { // shouldRetry returns nil if the RPC should be retried; otherwise it returns // the error that should be returned by the operation. If the RPC should be // retried, the bool indicates whether it is being retried transparently. -func (cs *clientStream) shouldRetry(err error) (bool, error) { - if cs.attempt.s == nil { - // Error from NewClientStream. - nse, ok := err.(*transport.NewStreamError) - if !ok { - // Unexpected, but assume no I/O was performed and the RPC is not - // fatal, so retry indefinitely. - return true, nil - } +func (a *csAttempt) shouldRetry(err error) (bool, error) { + cs := a.cs - // Unwrap and convert error. - err = toRPCErr(nse.Err) - - // Never retry DoNotRetry errors, which indicate the RPC should not be - // retried due to max header list size violation, etc. - if nse.DoNotRetry { - return false, err - } - - // In the event of a non-IO operation error from NewStream, we never - // attempted to write anything to the wire, so we can retry - // indefinitely. - if !nse.DoNotTransparentRetry { - return true, nil - } - } - if cs.finished || cs.committed { - // RPC is finished or committed; cannot retry. + if cs.finished || cs.committed || a.drop { + // RPC is finished or committed or was dropped by the picker; cannot retry. return false, err } + if a.s == nil && a.allowTransparentRetry { + return true, nil + } // Wait for the trailers. unprocessed := false - if cs.attempt.s != nil { - <-cs.attempt.s.Done() - unprocessed = cs.attempt.s.Unprocessed() + if a.s != nil { + <-a.s.Done() + unprocessed = a.s.Unprocessed() } if cs.firstAttempt && unprocessed { // First attempt, stream unprocessed: transparently retry. @@ -579,14 +588,14 @@ func (cs *clientStream) shouldRetry(err error) (bool, error) { pushback := 0 hasPushback := false - if cs.attempt.s != nil { - if !cs.attempt.s.TrailersOnly() { + if a.s != nil { + if !a.s.TrailersOnly() { return false, err } // TODO(retry): Move down if the spec changes to not check server pushback // before considering this a failure for throttling. - sps := cs.attempt.s.Trailer()["grpc-retry-pushback-ms"] + sps := a.s.Trailer()["grpc-retry-pushback-ms"] if len(sps) == 1 { var e error if pushback, e = strconv.Atoi(sps[0]); e != nil || pushback < 0 { @@ -603,10 +612,10 @@ func (cs *clientStream) shouldRetry(err error) (bool, error) { } var code codes.Code - if cs.attempt.s != nil { - code = cs.attempt.s.Status().Code() + if a.s != nil { + code = a.s.Status().Code() } else { - code = status.Convert(err).Code() + code = status.Code(err) } rp := cs.methodConfig.RetryPolicy @@ -651,19 +660,24 @@ func (cs *clientStream) shouldRetry(err error) (bool, error) { } // Returns nil if a retry was performed and succeeded; error otherwise. -func (cs *clientStream) retryLocked(lastErr error) error { +func (cs *clientStream) retryLocked(attempt *csAttempt, lastErr error) error { for { - cs.attempt.finish(toRPCErr(lastErr)) - isTransparent, err := cs.shouldRetry(lastErr) + attempt.finish(toRPCErr(lastErr)) + isTransparent, err := attempt.shouldRetry(lastErr) if err != nil { cs.commitAttemptLocked() return err } cs.firstAttempt = false - if err := cs.newAttemptLocked(isTransparent); err != nil { + attempt, err = cs.newAttemptLocked(isTransparent) + if err != nil { + // Only returns error if the clientconn is closed or the context of + // the stream is canceled. return err } - if lastErr = cs.replayBufferLocked(); lastErr == nil { + // Note that the first op in the replay buffer always sets cs.attempt + // if it is able to pick a transport and create a stream. + if lastErr = cs.replayBufferLocked(attempt); lastErr == nil { return nil } } @@ -673,7 +687,10 @@ func (cs *clientStream) Context() context.Context { cs.commitAttempt() // No need to lock before using attempt, since we know it is committed and // cannot change. - return cs.attempt.s.Context() + if cs.attempt.s != nil { + return cs.attempt.s.Context() + } + return cs.ctx } func (cs *clientStream) withRetry(op func(a *csAttempt) error, onSuccess func()) error { @@ -703,7 +720,7 @@ func (cs *clientStream) withRetry(op func(a *csAttempt) error, onSuccess func()) cs.mu.Unlock() return err } - if err := cs.retryLocked(err); err != nil { + if err := cs.retryLocked(a, err); err != nil { cs.mu.Unlock() return err } @@ -734,7 +751,7 @@ func (cs *clientStream) Header() (metadata.MD, error) { cs.binlog.Log(logEntry) cs.serverHeaderBinlogged = true } - return m, err + return m, nil } func (cs *clientStream) Trailer() metadata.MD { @@ -752,10 +769,9 @@ func (cs *clientStream) Trailer() metadata.MD { return cs.attempt.s.Trailer() } -func (cs *clientStream) replayBufferLocked() error { - a := cs.attempt +func (cs *clientStream) replayBufferLocked(attempt *csAttempt) error { for _, f := range cs.buffer { - if err := f(a); err != nil { + if err := f(attempt); err != nil { return err } } @@ -803,22 +819,17 @@ func (cs *clientStream) SendMsg(m interface{}) (err error) { if len(payload) > *cs.callInfo.maxSendMessageSize { return status.Errorf(codes.ResourceExhausted, "trying to send message larger than max (%d vs. %d)", len(payload), *cs.callInfo.maxSendMessageSize) } - msgBytes := data // Store the pointer before setting to nil. For binary logging. op := func(a *csAttempt) error { - err := a.sendMsg(m, hdr, payload, data) - // nil out the message and uncomp when replaying; they are only needed for - // stats which is disabled for subsequent attempts. - m, data = nil, nil - return err + return a.sendMsg(m, hdr, payload, data) } err = cs.withRetry(op, func() { cs.bufferForRetryLocked(len(hdr)+len(payload), op) }) if cs.binlog != nil && err == nil { cs.binlog.Log(&binarylog.ClientMessage{ OnClientSide: true, - Message: msgBytes, + Message: data, }) } - return + return err } func (cs *clientStream) RecvMsg(m interface{}) error { diff --git a/vendor/google.golang.org/grpc/version.go b/vendor/google.golang.org/grpc/version.go index 6af76dfe7..f17192e6a 100644 --- a/vendor/google.golang.org/grpc/version.go +++ b/vendor/google.golang.org/grpc/version.go @@ -19,4 +19,4 @@ package grpc // Version is the current grpc version. -const Version = "1.46.0" +const Version = "1.46.2" diff --git a/vendor/modules.txt b/vendor/modules.txt index 4a650cce4..9c5864752 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -11,7 +11,7 @@ cloud.google.com/go/compute/metadata # cloud.google.com/go/iam v0.3.0 ## explicit; go 1.15 cloud.google.com/go/iam -# cloud.google.com/go/storage v1.22.0 +# cloud.google.com/go/storage v1.22.1 ## explicit; go 1.15 cloud.google.com/go/storage cloud.google.com/go/storage/internal @@ -34,7 +34,10 @@ github.com/VictoriaMetrics/metricsql/binaryop # github.com/VividCortex/ewma v1.2.0 ## explicit; go 1.12 github.com/VividCortex/ewma -# github.com/aws/aws-sdk-go v1.44.9 +# github.com/antzucaro/matchr v0.0.0-20210222213004-b04723ef80f0 +## explicit; go 1.13 +github.com/antzucaro/matchr +# github.com/aws/aws-sdk-go v1.44.18 ## explicit; go 1.11 github.com/aws/aws-sdk-go/aws github.com/aws/aws-sdk-go/aws/arn @@ -107,7 +110,7 @@ github.com/fatih/color ## explicit; go 1.17 github.com/go-kit/kit/log github.com/go-kit/kit/log/level -# github.com/go-kit/log v0.2.0 +# github.com/go-kit/log v0.2.1 ## explicit; go 1.17 github.com/go-kit/log github.com/go-kit/log/level @@ -135,11 +138,15 @@ github.com/google/go-cmp/cmp/internal/diff github.com/google/go-cmp/cmp/internal/flags github.com/google/go-cmp/cmp/internal/function github.com/google/go-cmp/cmp/internal/value -# github.com/googleapis/gax-go/v2 v2.3.0 +# github.com/google/uuid v1.3.0 +## explicit +github.com/google/uuid +# github.com/googleapis/gax-go/v2 v2.4.0 ## explicit; go 1.15 github.com/googleapis/gax-go/v2 github.com/googleapis/gax-go/v2/apierror github.com/googleapis/gax-go/v2/apierror/internal/proto +github.com/googleapis/gax-go/v2/internal # github.com/googleapis/go-type-adapters v1.0.0 ## explicit; go 1.11 github.com/googleapis/go-type-adapters/adapters @@ -151,7 +158,7 @@ github.com/influxdata/influxdb/pkg/escape # github.com/jmespath/go-jmespath v0.4.0 ## explicit; go 1.14 github.com/jmespath/go-jmespath -# github.com/klauspost/compress v1.15.3 +# github.com/klauspost/compress v1.15.4 ## explicit; go 1.16 github.com/klauspost/compress github.com/klauspost/compress/flate @@ -181,7 +188,7 @@ github.com/oklog/ulid # github.com/pkg/errors v0.9.1 ## explicit github.com/pkg/errors -# github.com/prometheus/client_golang v1.12.1 +# github.com/prometheus/client_golang v1.12.2 ## explicit; go 1.13 github.com/prometheus/client_golang/prometheus github.com/prometheus/client_golang/prometheus/internal @@ -221,7 +228,7 @@ github.com/rivo/uniseg # github.com/russross/blackfriday/v2 v2.1.0 ## explicit github.com/russross/blackfriday/v2 -# github.com/urfave/cli/v2 v2.6.0 +# github.com/urfave/cli/v2 v2.7.1 ## explicit; go 1.18 github.com/urfave/cli/v2 # github.com/valyala/bytebufferpool v1.0.0 @@ -270,7 +277,7 @@ go.opencensus.io/trace/tracestate go.uber.org/atomic # go.uber.org/goleak v1.1.11-0.20210813005559-691160354723 ## explicit; go 1.13 -# golang.org/x/net v0.0.0-20220425223048-2871e0cb64e4 +# golang.org/x/net v0.0.0-20220520000938-2e3eb7b945c2 ## explicit; go 1.17 golang.org/x/net/context golang.org/x/net/context/ctxhttp @@ -292,10 +299,10 @@ golang.org/x/oauth2/google/internal/externalaccount golang.org/x/oauth2/internal golang.org/x/oauth2/jws golang.org/x/oauth2/jwt -# golang.org/x/sync v0.0.0-20210220032951-036812b2e83c +# golang.org/x/sync v0.0.0-20220513210516-0976fa681c29 ## explicit golang.org/x/sync/errgroup -# golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6 +# golang.org/x/sys v0.0.0-20220519141025-dcacdad47464 ## explicit; go 1.17 golang.org/x/sys/internal/unsafeheader golang.org/x/sys/unix @@ -306,11 +313,11 @@ golang.org/x/text/secure/bidirule golang.org/x/text/transform golang.org/x/text/unicode/bidi golang.org/x/text/unicode/norm -# golang.org/x/xerrors v0.0.0-20220411194840-2f41105eb62f -## explicit; go 1.11 +# golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df +## explicit; go 1.17 golang.org/x/xerrors golang.org/x/xerrors/internal -# google.golang.org/api v0.78.0 +# google.golang.org/api v0.80.0 ## explicit; go 1.15 google.golang.org/api/googleapi google.golang.org/api/googleapi/transport @@ -343,7 +350,7 @@ google.golang.org/appengine/internal/socket google.golang.org/appengine/internal/urlfetch google.golang.org/appengine/socket google.golang.org/appengine/urlfetch -# google.golang.org/genproto v0.0.0-20220505152158-f39f71e6c8f3 +# google.golang.org/genproto v0.0.0-20220519153652-3a47de7e79bd ## explicit; go 1.15 google.golang.org/genproto/googleapis/api/annotations google.golang.org/genproto/googleapis/iam/v1 @@ -358,7 +365,7 @@ google.golang.org/genproto/googleapis/type/decimal google.golang.org/genproto/googleapis/type/expr google.golang.org/genproto/googleapis/type/fraction google.golang.org/genproto/googleapis/type/month -# google.golang.org/grpc v1.46.0 +# google.golang.org/grpc v1.46.2 ## explicit; go 1.14 google.golang.org/grpc google.golang.org/grpc/attributes From c6d543e2f9fe33c1e33f653710f05095dacf906e Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Fri, 20 May 2022 14:53:38 +0300 Subject: [PATCH 3/3] app/vmselect/vmui: `make vmui-update` --- app/vmselect/vmui/asset-manifest.json | 4 ++-- app/vmselect/vmui/index.html | 2 +- app/vmselect/vmui/static/js/main.348f50e1.js | 2 ++ ...CENSE.txt => main.348f50e1.js.LICENSE.txt} | 0 app/vmselect/vmui/static/js/main.a54e3212.js | 2 -- app/vmui/packages/vmui/package-lock.json | 22 ++++++++++++++++++- 6 files changed, 26 insertions(+), 6 deletions(-) create mode 100644 app/vmselect/vmui/static/js/main.348f50e1.js rename app/vmselect/vmui/static/js/{main.a54e3212.js.LICENSE.txt => main.348f50e1.js.LICENSE.txt} (100%) delete mode 100644 app/vmselect/vmui/static/js/main.a54e3212.js diff --git a/app/vmselect/vmui/asset-manifest.json b/app/vmselect/vmui/asset-manifest.json index 31172b57f..af0216f61 100644 --- a/app/vmselect/vmui/asset-manifest.json +++ b/app/vmselect/vmui/asset-manifest.json @@ -1,12 +1,12 @@ { "files": { "main.css": "./static/css/main.d8362c27.css", - "main.js": "./static/js/main.a54e3212.js", + "main.js": "./static/js/main.348f50e1.js", "static/js/27.939f971b.chunk.js": "./static/js/27.939f971b.chunk.js", "index.html": "./index.html" }, "entrypoints": [ "static/css/main.d8362c27.css", - "static/js/main.a54e3212.js" + "static/js/main.348f50e1.js" ] } \ No newline at end of file diff --git a/app/vmselect/vmui/index.html b/app/vmselect/vmui/index.html index 3669e8671..d233c43c0 100644 --- a/app/vmselect/vmui/index.html +++ b/app/vmselect/vmui/index.html @@ -1 +1 @@ -VM UI

+VM UI
\ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.348f50e1.js b/app/vmselect/vmui/static/js/main.348f50e1.js new file mode 100644 index 000000000..04d021184 --- /dev/null +++ b/app/vmselect/vmui/static/js/main.348f50e1.js @@ -0,0 +1,2 @@ +/*! For license information please see main.348f50e1.js.LICENSE.txt */ +!function(){var e={5318:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},7757:function(e,t,n){e.exports=n(8937)},2575:function(e,t,n){"use strict";n.d(t,{Z:function(){return oe}});var r=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?c(x,--y):0,v--,10===b&&(v=1,m--),b}function k(){return b=y2||E(b)>3?"":" "}function R(e,t){for(;--t&&k()&&!(b<48||b>102||b>57&&b<65||b>70&&b<97););return _(e,C()+(t<6&&32==S()&&32==k()))}function F(e){for(;k();)switch(b){case e:return y;case 34:case 39:34!==e&&39!==e&&F(b);break;case 40:41===e&&F(e);break;case 92:k()}return y}function O(e,t){for(;k()&&e+b!==57&&(e+b!==84||47!==S()););return"/*"+_(t,y-1)+"*"+i(47===e?e:k())}function B(e){for(;!E(S());)k();return _(e,y)}var I="-ms-",L="-moz-",N="-webkit-",z="comm",j="rule",W="decl",$="@keyframes";function H(e,t){for(var n="",r=p(e),o=0;o6)switch(c(e,t+1)){case 109:if(45!==c(e,t+4))break;case 102:return l(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+L+(108==c(e,t+3)?"$3":"$2-$3"))+e;case 115:return~s(e,"stretch")?V(l(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==c(e,t+1))break;case 6444:switch(c(e,f(e)-3-(~s(e,"!important")&&10))){case 107:return l(e,":",":"+N)+e;case 101:return l(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+N+(45===c(e,14)?"inline-":"")+"box$3$1"+N+"$2$3$1"+I+"$2box$3")+e}break;case 5936:switch(c(e,t+11)){case 114:return N+e+I+l(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return N+e+I+l(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return N+e+I+l(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return N+e+I+e+e}return e}function U(e){return M(q("",null,null,null,[""],e=A(e),0,[0],e))}function q(e,t,n,r,o,a,u,c,d){for(var p=0,m=0,v=u,g=0,y=0,b=0,x=1,Z=1,w=1,_=0,E="",A=o,M=a,F=r,I=E;Z;)switch(b=_,_=k()){case 40:if(108!=b&&58==I.charCodeAt(v-1)){-1!=s(I+=l(T(_),"&","&\f"),"&\f")&&(w=-1);break}case 34:case 39:case 91:I+=T(_);break;case 9:case 10:case 13:case 32:I+=P(b);break;case 92:I+=R(C()-1,7);continue;case 47:switch(S()){case 42:case 47:h(G(O(k(),C()),t,n),d);break;default:I+="/"}break;case 123*x:c[p++]=f(I)*w;case 125*x:case 59:case 0:switch(_){case 0:case 125:Z=0;case 59+m:y>0&&f(I)-v&&h(y>32?K(I+";",r,n,v-1):K(l(I," ","")+";",r,n,v-2),d);break;case 59:I+=";";default:if(h(F=X(I,t,n,p,m,o,c,E,A=[],M=[],v),a),123===_)if(0===m)q(I,t,F,F,A,a,v,c,M);else switch(g){case 100:case 109:case 115:q(e,F,F,r&&h(X(e,F,F,0,0,o,c,E,o,A=[],v),M),o,M,v,c,r?A:M);break;default:q(I,F,F,F,[""],M,0,c,M)}}p=m=y=0,x=w=1,E=I="",v=u;break;case 58:v=1+f(I),y=b;default:if(x<1)if(123==_)--x;else if(125==_&&0==x++&&125==D())continue;switch(I+=i(_),_*x){case 38:w=m>0?1:(I+="\f",-1);break;case 44:c[p++]=(f(I)-1)*w,w=1;break;case 64:45===S()&&(I+=T(k())),g=S(),m=v=f(E=I+=B(C())),_++;break;case 45:45===b&&2==f(I)&&(x=0)}}return a}function X(e,t,n,r,i,a,s,c,f,h,m){for(var v=i-1,g=0===i?a:[""],y=p(g),b=0,x=0,w=0;b0?g[D]+" "+k:l(k,/&\f/g,g[D])))&&(f[w++]=S);return Z(e,t,n,0===i?j:c,f,h,m)}function G(e,t,n){return Z(e,t,n,z,i(b),d(e,2,-2),0)}function K(e,t,n,r){return Z(e,t,n,W,d(e,0,r),d(e,r+1,-1),r)}var Q=function(e,t,n){for(var r=0,o=0;r=o,o=S(),38===r&&12===o&&(t[n]=1),!E(o);)k();return _(e,y)},J=function(e,t){return M(function(e,t){var n=-1,r=44;do{switch(E(r)){case 0:38===r&&12===S()&&(t[n]=1),e[n]+=Q(y-1,t,n);break;case 2:e[n]+=T(r);break;case 4:if(44===r){e[++n]=58===S()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=i(r)}}while(r=k());return e}(A(e),t))},ee=new WeakMap,te=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ee.get(n))&&!r){ee.set(e,!0);for(var o=[],i=J(t,o),a=n.props,u=0,l=0;u-1&&!e.return)switch(e.type){case W:e.return=V(e.value,e.length);break;case $:return H([w(e,{value:l(e.value,"@","@"+N)})],r);case j:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return H([w(e,{props:[l(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return H([w(e,{props:[l(t,/:(plac\w+)/,":-webkit-input-$1")]}),w(e,{props:[l(t,/:(plac\w+)/,":-moz-$1")]}),w(e,{props:[l(t,/:(plac\w+)/,I+"input-$1")]})],r)}return""}))}}],oe=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var o=e.stylisPlugins||re;var i,a,u={},l=[];i=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},o={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},i=n(3390),a=/[A-Z]|^ms/g,u=/_EMO_([^_]+?)_([^]*?)_EMO_/g,l=function(e){return 45===e.charCodeAt(1)},s=function(e){return null!=e&&"boolean"!==typeof e},c=(0,i.Z)((function(e){return l(e)?e:e.replace(a,"-$&").toLowerCase()})),d=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(u,(function(e,t,n){return p={name:t,styles:n,next:p},t}))}return 1===o[e]||l(e)||"number"!==typeof t||0===t?t:t+"px"};function f(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return p={name:n.name,styles:n.styles,next:p},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)p={name:r.name,styles:r.styles,next:p},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:"light")?{main:v[200],light:v[50],dark:v[400]}:{main:v[700],light:v[400],dark:v[800]}}(n),C=e.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(n),_=e.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:h[500],light:h[300],dark:h[700]}:{main:h[700],light:h[400],dark:h[800]}}(n),E=e.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:g[400],light:g[300],dark:g[700]}:{main:g[700],light:g[500],dark:g[900]}}(n),A=e.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:y[400],light:y[300],dark:y[700]}:{main:y[800],light:y[500],dark:y[900]}}(n),M=e.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(n);function T(e){return(0,c.mi)(e,Z.text.primary)>=u?Z.text.primary:x.text.primary}var P=function(e){var t=e.color,n=e.name,o=e.mainShade,i=void 0===o?500:o,a=e.lightShade,u=void 0===a?300:a,l=e.darkShade,c=void 0===l?700:l;if(!(t=(0,r.Z)({},t)).main&&t[i]&&(t.main=t[i]),!t.hasOwnProperty("main"))throw new Error((0,s.Z)(11,n?" (".concat(n,")"):"",i));if("string"!==typeof t.main)throw new Error((0,s.Z)(12,n?" (".concat(n,")"):"",JSON.stringify(t.main)));return w(t,"light",u,D),w(t,"dark",c,D),t.contrastText||(t.contrastText=T(t.main)),t},R={dark:Z,light:x};return(0,i.Z)((0,r.Z)({common:d,mode:n,primary:P({color:S,name:"primary"}),secondary:P({color:C,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:P({color:_,name:"error"}),warning:P({color:M,name:"warning"}),info:P({color:E,name:"info"}),success:P({color:A,name:"success"}),grey:f,contrastThreshold:u,getContrastText:T,augmentColor:P,tonalOffset:D},R[n]),k)}var k=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];var S={textTransform:"uppercase"},C='"Roboto", "Helvetica", "Arial", sans-serif';function _(e,t){var n="function"===typeof t?t(e):t,a=n.fontFamily,u=void 0===a?C:a,l=n.fontSize,s=void 0===l?14:l,c=n.fontWeightLight,d=void 0===c?300:c,f=n.fontWeightRegular,p=void 0===f?400:f,h=n.fontWeightMedium,m=void 0===h?500:h,v=n.fontWeightBold,g=void 0===v?700:v,y=n.htmlFontSize,b=void 0===y?16:y,x=n.allVariants,Z=n.pxToRem,w=(0,o.Z)(n,k);var D=s/14,_=Z||function(e){return"".concat(e/b*D,"rem")},E=function(e,t,n,o,i){return(0,r.Z)({fontFamily:u,fontWeight:e,fontSize:_(t),lineHeight:n},u===C?{letterSpacing:"".concat((a=o/t,Math.round(1e5*a)/1e5),"em")}:{},i,x);var a},A={h1:E(d,96,1.167,-1.5),h2:E(d,60,1.2,-.5),h3:E(p,48,1.167,0),h4:E(p,34,1.235,.25),h5:E(p,24,1.334,0),h6:E(m,20,1.6,.15),subtitle1:E(p,16,1.75,.15),subtitle2:E(m,14,1.57,.1),body1:E(p,16,1.5,.15),body2:E(p,14,1.43,.15),button:E(m,14,1.75,.4,S),caption:E(p,12,1.66,.4),overline:E(p,12,2.66,1,S)};return(0,i.Z)((0,r.Z)({htmlFontSize:b,pxToRem:_,fontFamily:u,fontSize:s,fontWeightLight:d,fontWeightRegular:p,fontWeightMedium:m,fontWeightBold:g},A),w,{clone:!1})}function E(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}var A=["none",E(0,2,1,-1,0,1,1,0,0,1,3,0),E(0,3,1,-2,0,2,2,0,0,1,5,0),E(0,3,3,-2,0,3,4,0,0,1,8,0),E(0,2,4,-1,0,4,5,0,0,1,10,0),E(0,3,5,-1,0,5,8,0,0,1,14,0),E(0,3,5,-1,0,6,10,0,0,1,18,0),E(0,4,5,-2,0,7,10,1,0,2,16,1),E(0,5,5,-3,0,8,10,1,0,3,14,2),E(0,5,6,-3,0,9,12,1,0,3,16,2),E(0,6,6,-3,0,10,14,1,0,4,18,3),E(0,6,7,-4,0,11,15,1,0,4,20,3),E(0,7,8,-4,0,12,17,2,0,5,22,4),E(0,7,8,-4,0,13,19,2,0,5,24,4),E(0,7,9,-4,0,14,21,2,0,5,26,4),E(0,8,9,-5,0,15,22,2,0,6,28,5),E(0,8,10,-5,0,16,24,2,0,6,30,5),E(0,8,11,-5,0,17,26,2,0,6,32,5),E(0,9,11,-5,0,18,28,2,0,7,34,6),E(0,9,12,-6,0,19,29,2,0,7,36,6),E(0,10,13,-6,0,20,31,3,0,8,38,7),E(0,10,13,-6,0,21,33,3,0,8,40,7),E(0,10,14,-6,0,22,35,3,0,8,42,7),E(0,11,14,-7,0,23,36,3,0,9,44,8),E(0,11,15,-7,0,24,38,3,0,9,46,8)],M=n(5829),T={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},P=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function R(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mixins,n=void 0===t?{}:t,u=e.palette,s=void 0===u?{}:u,c=e.transitions,d=void 0===c?{}:c,f=e.typography,p=void 0===f?{}:f,h=(0,o.Z)(e,P),m=D(s),v=(0,a.Z)(e),g=(0,i.Z)(v,{mixins:l(v.breakpoints,v.spacing,n),palette:m,shadows:A.slice(),typography:_(m,p),transitions:(0,M.ZP)(d),zIndex:(0,r.Z)({},T)});g=(0,i.Z)(g,h);for(var y=arguments.length,b=new Array(y>1?y-1:0),x=1;x0&&void 0!==arguments[0]?arguments[0]:["all"],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=o.duration,u=void 0===a?n.standard:a,s=o.easing,c=void 0===s?t.easeInOut:s,d=o.delay,f=void 0===d?0:d;(0,r.Z)(o,i);return(Array.isArray(e)?e:[e]).map((function(e){return"".concat(e," ").concat("string"===typeof u?u:l(u)," ").concat(c," ").concat("string"===typeof f?f:l(f))})).join(",")}},e,{easing:t,duration:n})}},2248:function(e,t,n){"use strict";var r=(0,n(7458).Z)();t.Z=r},8564:function(e,t,n){"use strict";n.d(t,{ZP:function(){return _},FO:function(){return k},Dz:function(){return S}});var r=n(3433),o=n(9439),i=n(7462),a=n(3366),u=n(297),l=n(9456),s=n(114),c=["variant"];function d(e){return 0===e.length}function f(e){var t=e.variant,n=(0,a.Z)(e,c),r=t||"";return Object.keys(n).sort().forEach((function(t){r+="color"===t?d(r)?e[t]:(0,s.Z)(e[t]):"".concat(d(r)?t:(0,s.Z)(t)).concat((0,s.Z)(e[t].toString()))})),r}var p=n(3649),h=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],m=["theme"],v=["theme"];function g(e){return 0===Object.keys(e).length}var y=function(e,t){return t.components&&t.components[e]&&t.components[e].styleOverrides?t.components[e].styleOverrides:null},b=function(e,t){var n=[];t&&t.components&&t.components[e]&&t.components[e].variants&&(n=t.components[e].variants);var r={};return n.forEach((function(e){var t=f(e.props);r[t]=e.style})),r},x=function(e,t,n,r){var o,i,a=e.ownerState,u=void 0===a?{}:a,l=[],s=null==n||null==(o=n.components)||null==(i=o[r])?void 0:i.variants;return s&&s.forEach((function(n){var r=!0;Object.keys(n.props).forEach((function(t){u[t]!==n.props[t]&&e[t]!==n.props[t]&&(r=!1)})),r&&l.push(t[f(n.props)])})),l};function Z(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}var w=(0,l.Z)();var D=n(2248),k=function(e){return Z(e)&&"classes"!==e},S=Z,C=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.defaultTheme,n=void 0===t?w:t,l=e.rootShouldForwardProp,s=void 0===l?Z:l,c=e.slotShouldForwardProp,d=void 0===c?Z:c,f=e.styleFunctionSx,D=void 0===f?p.Z:f;return function(e){var t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=l.name,f=l.slot,p=l.skipVariantsResolver,w=l.skipSx,k=l.overridesResolver,S=(0,a.Z)(l,h),C=void 0!==p?p:f&&"Root"!==f||!1,_=w||!1;var E=Z;"Root"===f?E=s:f&&(E=d);var A=(0,u.ZP)(e,(0,i.Z)({shouldForwardProp:E,label:t},S)),M=function(e){for(var t=arguments.length,u=new Array(t>1?t-1:0),l=1;l0){var p=new Array(f).fill("");(d=[].concat((0,r.Z)(e),(0,r.Z)(p))).raw=[].concat((0,r.Z)(e.raw),(0,r.Z)(p))}else"function"===typeof e&&e.__emotion_real!==e&&(d=function(t){var r=t.theme,o=(0,a.Z)(t,v);return e((0,i.Z)({theme:g(r)?n:r},o))});var h=A.apply(void 0,[d].concat((0,r.Z)(s)));return h};return A.withConfig&&(M.withConfig=A.withConfig),M}}({defaultTheme:D.Z,rootShouldForwardProp:k}),_=C},5469:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(4290),o=n(6728);var i=n(2248);function a(e){return function(e){var t=e.props,n=e.name,i=e.defaultTheme,a=(0,o.Z)(i);return(0,r.Z)({theme:a,name:n,props:t})}({props:e.props,name:e.name,defaultTheme:i.Z})}},1615:function(e,t,n){"use strict";var r=n(114);t.Z=r.Z},4750:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(7462),o=n(4206),i=n(210),a=n(3138);function u(e,t){var n=function(n,o){return(0,a.tZ)(i.Z,(0,r.Z)({"data-testid":"".concat(t,"Icon"),ref:o},n,{children:e}))};return n.muiName=i.Z.muiName,o.memo(o.forwardRef(n))}},8706:function(e,t,n){"use strict";var r=n(4312);t.Z=r.Z},6415:function(e,t,n){"use strict";n.r(t),n.d(t,{capitalize:function(){return o.Z},createChainedFunction:function(){return i},createSvgIcon:function(){return a.Z},debounce:function(){return u.Z},deprecatedPropType:function(){return l},isMuiElement:function(){return s.Z},ownerDocument:function(){return c.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return f},setRef:function(){return p},unstable_ClassNameGenerator:function(){return Z},unstable_useEnhancedEffect:function(){return h.Z},unstable_useId:function(){return m.Z},unsupportedProp:function(){return v},useControlled:function(){return g.Z},useEventCallback:function(){return y.Z},useForkRef:function(){return b.Z},useIsFocusVisible:function(){return x.Z}});var r=n(4496),o=n(1615),i=n(4246).Z,a=n(4750),u=n(8706);var l=function(e,t){return function(){return null}},s=n(7816),c=n(6106),d=n(3533);n(7462);var f=function(e,t){return function(){return null}},p=n(9265).Z,h=n(4993),m=n(7677);var v=function(e,t,n,r,o){return null},g=n(522),y=n(3236),b=n(6983),x=n(9127),Z={configure:function(e){console.warn(["MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.","","You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead","","The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401","","The updated documentation: https://mui.com/guides/classname-generator/"].join("\n")),r.Z.configure(e)}}},7816:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(4206);var o=function(e,t){return r.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},6106:function(e,t,n){"use strict";var r=n(9081);t.Z=r.Z},3533:function(e,t,n){"use strict";var r=n(3282);t.Z=r.Z},522:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(9439),o=n(4206);var i=function(e){var t=e.controlled,n=e.default,i=(e.name,e.state,o.useRef(void 0!==t).current),a=o.useState(n),u=(0,r.Z)(a,2),l=u[0],s=u[1];return[i?t:l,o.useCallback((function(e){i||s(e)}),[])]}},4993:function(e,t,n){"use strict";var r=n(2678);t.Z=r.Z},3236:function(e,t,n){"use strict";var r=n(2780);t.Z=r.Z},6983:function(e,t,n){"use strict";var r=n(7472);t.Z=r.Z},7677:function(e,t,n){"use strict";var r=n(3362);t.Z=r.Z},9127:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r,o=n(4206),i=!0,a=!1,u={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function l(e){e.metaKey||e.altKey||e.ctrlKey||(i=!0)}function s(){i=!1}function c(){"hidden"===this.visibilityState&&a&&(i=!0)}function d(e){var t=e.target;try{return t.matches(":focus-visible")}catch(n){}return i||function(e){var t=e.type,n=e.tagName;return!("INPUT"!==n||!u[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}var f=function(){var e=o.useCallback((function(e){var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",l,!0),t.addEventListener("mousedown",s,!0),t.addEventListener("pointerdown",s,!0),t.addEventListener("touchstart",s,!0),t.addEventListener("visibilitychange",c,!0))}),[]),t=o.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!d(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(a=!0,window.clearTimeout(r),r=window.setTimeout((function(){a=!1}),100),t.current=!1,!0)},ref:e}}},5693:function(e,t,n){"use strict";var r=n(4206).createContext(null);t.Z=r},201:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(4206),o=n(5693);function i(){return r.useContext(o.Z)}},297:function(e,t,n){"use strict";n.d(t,{ZP:function(){return x}});var r=n(4206),o=n(7462),i=n(3390),a=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,u=(0,i.Z)((function(e){return a.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),l=n(6173),s=n(4911),c=n(4544),d=u,f=function(e){return"theme"!==e},p=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?d:f},h=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!==typeof r&&n&&(r=e.__emotion_forwardProp),r},m=r.useInsertionEffect?r.useInsertionEffect:function(e){e()};var v=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;(0,s.hC)(t,n,r);m((function(){return(0,s.My)(t,n,r)}));return null},g=function e(t,n){var i,a,u=t.__emotion_real===t,d=u&&t.__emotion_base||t;void 0!==n&&(i=n.label,a=n.target);var f=h(t,n,u),m=f||p(d),g=!m("as");return function(){var y=arguments,b=u&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==i&&b.push("label:"+i+";"),null==y[0]||void 0===y[0].raw)b.push.apply(b,y);else{0,b.push(y[0][0]);for(var x=y.length,Z=1;Z0&&void 0!==arguments[0]?arguments[0]:{},n=null==t||null==(e=t.keys)?void 0:e.reduce((function(e,n){return e[t.up(n)]={},e}),{});return n||{}}function u(e,t){return e.reduce((function(e,t){var n=e[t];return(!n||0===Object.keys(n).length)&&delete e[t],e}),t)}function l(e){var t,n=e.values,r=e.breakpoints,o=e.base||function(e,t){if("object"!==typeof e)return{};var n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((function(t,r){r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function i(e){if(e.type)return e;if("#"===e.charAt(0))return i(function(e){e=e.slice(1);var t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?"rgb".concat(4===n.length?"a":"","(").concat(n.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(", "),")"):""}(e));var t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(n))throw new Error((0,r.Z)(9,e));var o,a=e.substring(t+1,e.length-1);if("color"===n){if(o=(a=a.split(" ")).shift(),4===a.length&&"/"===a[3].charAt(0)&&(a[3]=a[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o))throw new Error((0,r.Z)(10,o))}else a=a.split(",");return{type:n,values:a=a.map((function(e){return parseFloat(e)})),colorSpace:o}}function a(e){var t=e.type,n=e.colorSpace,r=e.values;return-1!==t.indexOf("rgb")?r=r.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(r[1]="".concat(r[1],"%"),r[2]="".concat(r[2],"%")),r=-1!==t.indexOf("color")?"".concat(n," ").concat(r.join(" ")):"".concat(r.join(", ")),"".concat(t,"(").concat(r,")")}function u(e){var t="hsl"===(e=i(e)).type?i(function(e){var t=(e=i(e)).values,n=t[0],r=t[1]/100,o=t[2]/100,u=r*Math.min(o,1-o),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return o-u*Math.max(Math.min(t-3,9-t,1),-1)},s="rgb",c=[Math.round(255*l(0)),Math.round(255*l(8)),Math.round(255*l(4))];return"hsla"===e.type&&(s+="a",c.push(t[3])),a({type:s,values:c})}(e)).values:e.values;return t=t.map((function(t){return"color"!==e.type&&(t/=255),t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function l(e,t){var n=u(e),r=u(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function s(e,t){return e=i(e),t=o(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]="/".concat(t):e.values[3]=t,a(e)}function c(e,t){if(e=i(e),t=o(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return a(e)}function d(e,t){if(e=i(e),t=o(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(-1!==e.type.indexOf("color"))for(var r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return a(e)}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return u(e)>.5?c(e,t):d(e,t)}},9456:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(7462),o=n(3366),i=n(3019),a=n(4942),u=["values","unit","step"];function l(e){var t=e.values,n=void 0===t?{xs:0,sm:600,md:900,lg:1200,xl:1536}:t,i=e.unit,l=void 0===i?"px":i,s=e.step,c=void 0===s?5:s,d=(0,o.Z)(e,u),f=function(e){var t=Object.keys(e).map((function(t){return{key:t,val:e[t]}}))||[];return t.sort((function(e,t){return e.val-t.val})),t.reduce((function(e,t){return(0,r.Z)({},e,(0,a.Z)({},t.key,t.val))}),{})}(n),p=Object.keys(f);function h(e){var t="number"===typeof n[e]?n[e]:e;return"@media (min-width:".concat(t).concat(l,")")}function m(e){var t="number"===typeof n[e]?n[e]:e;return"@media (max-width:".concat(t-c/100).concat(l,")")}function v(e,t){var r=p.indexOf(t);return"@media (min-width:".concat("number"===typeof n[e]?n[e]:e).concat(l,") and ")+"(max-width:".concat((-1!==r&&"number"===typeof n[p[r]]?n[p[r]]:t)-c/100).concat(l,")")}return(0,r.Z)({keys:p,values:f,up:h,down:m,between:v,only:function(e){return p.indexOf(e)+10&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=(0,c.hB)({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,a=e.palette,u=void 0===a?{}:a,c=e.spacing,p=e.shape,h=void 0===p?{}:p,m=(0,o.Z)(e,f),v=l(n),g=d(c),y=(0,i.Z)({breakpoints:v,direction:"ltr",components:{},palette:(0,r.Z)({mode:"light"},u),spacing:g,shape:(0,r.Z)({},s,h)},m),b=arguments.length,x=new Array(b>1?b-1:0),Z=1;Z2){if(!s[e])return[e];e=s[e]}var t=e.split(""),n=(0,r.Z)(t,2),o=n[0],i=n[1],a=u[o],c=l[i]||"";return Array.isArray(c)?c.map((function(e){return a+e})):[a+c]})),d=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],f=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],p=[].concat(d,f);function h(e,t,n,r){var o,a=null!=(o=(0,i.D)(e,t))?o:n;return"number"===typeof a?function(e){return"string"===typeof e?e:a*e}:Array.isArray(a)?function(e){return"string"===typeof e?e:a[e]}:"function"===typeof a?a:function(){}}function m(e){return h(e,"spacing",8)}function v(e,t){if("string"===typeof t||null==t)return t;var n=e(Math.abs(t));return t>=0?n:"number"===typeof n?-n:"-".concat(n)}function g(e,t,n,r){if(-1===t.indexOf(n))return null;var i=function(e,t){return function(n){return e.reduce((function(e,r){return e[r]=v(t,n),e}),{})}}(c(n),r),a=e[n];return(0,o.k9)(e,a,i)}function y(e,t){var n=m(e.theme);return Object.keys(e).map((function(r){return g(e,t,r,n)})).reduce(a.Z,{})}function b(e){return y(e,d)}function x(e){return y(e,f)}function Z(e){return y(e,p)}b.propTypes={},b.filterProps=d,x.propTypes={},x.filterProps=f,Z.propTypes={},Z.filterProps=p;var w=Z},6428:function(e,t,n){"use strict";n.d(t,{D:function(){return a}});var r=n(4942),o=n(114),i=n(4929);function a(e,t){if(!t||"string"!==typeof t)return null;if(e&&e.vars){var n="vars.".concat(t).split(".").reduce((function(e,t){return e&&e[t]?e[t]:null}),e);if(null!=n)return n}return t.split(".").reduce((function(e,t){return e&&null!=e[t]?e[t]:null}),e)}function u(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n;return r="function"===typeof e?e(n):Array.isArray(e)?e[n]||o:a(e,n)||o,t&&(r=t(r)),r}t.Z=function(e){var t=e.prop,n=e.cssProperty,l=void 0===n?e.prop:n,s=e.themeKey,c=e.transform,d=function(e){if(null==e[t])return null;var n=e[t],d=a(e.theme,s)||{};return(0,i.k9)(e,n,(function(e){var n=u(d,c,e);return e===n&&"string"===typeof e&&(n=u(d,c,"".concat(t).concat("default"===e?"":(0,o.Z)(e)),e)),!1===l?n:(0,r.Z)({},l,n)}))};return d.propTypes={},d.filterProps=[t],d}},3649:function(e,t,n){"use strict";var r=n(4942),o=n(7330),i=n(9716),a=n(4929);function u(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:i.G$,t=Object.keys(e).reduce((function(t,n){return e[n].filterProps.forEach((function(r){t[r]=e[n]})),t}),{});function n(e,n,o){var i,a=(i={},(0,r.Z)(i,e,n),(0,r.Z)(i,"theme",o),i),u=t[e];return u?u(a):(0,r.Z)({},e,n)}function s(e){var i=e||{},c=i.sx,d=i.theme,f=void 0===d?{}:d;if(!c)return null;function p(e){var i=e;if("function"===typeof e)i=e(f);else if("object"!==typeof e)return e;if(!i)return null;var c=(0,a.W8)(f.breakpoints),d=Object.keys(c),p=c;return Object.keys(i).forEach((function(e){var c=l(i[e],f);if(null!==c&&void 0!==c)if("object"===typeof c)if(t[e])p=(0,o.Z)(p,n(e,c,f));else{var d=(0,a.k9)({theme:f},c,(function(t){return(0,r.Z)({},e,t)}));u(d,c)?p[e]=s({sx:c,theme:f}):p=(0,o.Z)(p,d)}else p=(0,o.Z)(p,n(e,c,f))})),(0,a.L7)(d,p)}return Array.isArray(c)?c.map(p):p(c)}return s}();s.filterProps=["sx"],t.Z=s},6728:function(e,t,n){"use strict";var r=n(9456),o=n(4976),i=(0,r.Z)();t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return(0,o.Z)(e)}},4290:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(9023);function o(e){var t=e.theme,n=e.name,o=e.props;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?(0,r.Z)(t.components[n].defaultProps,o):o}},4976:function(e,t,n){"use strict";var r=n(201);function o(e){return 0===Object.keys(e).length}t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(0,r.Z)();return!t||o(t)?e:t}},114:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7219);function o(e){if("string"!==typeof e)throw new Error((0,r.Z)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},4246:function(e,t,n){"use strict";function r(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:166;function r(){for(var r=this,o=arguments.length,i=new Array(o),a=0;a2&&void 0!==arguments[2]?arguments[2]:{clone:!0},a=n.clone?(0,r.Z)({},e):e;return o(e)&&o(t)&&Object.keys(t).forEach((function(r){"__proto__"!==r&&(o(t[r])&&r in e&&o(e[r])?a[r]=i(e[r],t[r],n):a[r]=t[r])})),a}},7219:function(e,t,n){"use strict";function r(e){for(var t="https://mui.com/production-error/?code="+e,n=1;n-1?o(n):n}},9962:function(e,t,n){"use strict";var r=n(1199),o=n(8476),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),u=o("%Reflect.apply%",!0)||r.call(a,i),l=o("%Object.getOwnPropertyDescriptor%",!0),s=o("%Object.defineProperty%",!0),c=o("%Math.max%");if(s)try{s({},"a",{value:1})}catch(f){s=null}e.exports=function(e){var t=u(r,a,arguments);if(l&&s){var n=l(t,"length");n.configurable&&s(t,"length",{value:1+c(0,e.length-(arguments.length-1))})}return t};var d=function(){return u(r,i,arguments)};s?s(e.exports,"apply",{value:d}):e.exports.apply=d},3061:function(e,t,n){"use strict";function r(e){var t,n,o="";if("string"===typeof e||"number"===typeof e)o+=e;else if("object"===typeof e)if(Array.isArray(e))for(t=0;t=t?e:""+Array(t+1-r.length).join(n)+e},y={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(o,2,"0")},m:function e(t,n){if(t.date()1)return e(a[0])}else{var u=t.name;x[u]=t,o=u}return!r&&o&&(b=o),o||!r&&b},D=function(e,t){if(Z(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new S(n)},k=y;k.l=w,k.i=Z,k.w=function(e,t){return D(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var S=function(){function v(e){this.$L=w(e.locale,null,!0),this.parse(e)}var g=v.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(k.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(h);if(r){var o=r[2]-1||0,i=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)):new Date(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return k},g.isValid=function(){return!(this.$d.toString()===p)},g.isSame=function(e,t){var n=D(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return D(e)68?1900:2e3)},u=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],s=function(e){var t=i[e];return t&&(t.indexOf?t:t.s.concat(t.f))},c=function(e,t){var n,r=i.meridiem;if(r){for(var o=1;o<=24;o+=1)if(e.indexOf(r(o,0,t))>-1){n=o>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[o,function(e){this.afternoon=c(e,!1)}],a:[o,function(e){this.afternoon=c(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[r,u("seconds")],ss:[r,u("seconds")],m:[r,u("minutes")],mm:[r,u("minutes")],H:[r,u("hours")],h:[r,u("hours")],HH:[r,u("hours")],hh:[r,u("hours")],D:[r,u("day")],DD:[n,u("day")],Do:[o,function(e){var t=i.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],M:[r,u("month")],MM:[n,u("month")],MMM:[o,function(e){var t=s("months"),n=(s("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=s("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(e){this.year=a(e)}],YYYY:[/\d{4}/,u("year")],Z:l,ZZ:l};function f(n){var r,o;r=n,o=i&&i.formats;for(var a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),u=a.length,l=0;l-1)return new Date(("X"===t?1e3:1)*e);var r=f(t)(e),o=r.year,i=r.month,a=r.day,u=r.hours,l=r.minutes,s=r.seconds,c=r.milliseconds,d=r.zone,p=new Date,h=a||(o||i?1:p.getDate()),m=o||p.getFullYear(),v=0;o&&!i||(v=i>0?i-1:p.getMonth());var g=u||0,y=l||0,b=s||0,x=c||0;return d?new Date(Date.UTC(m,v,h,g,y,b,x+60*d.offset*1e3)):n?new Date(Date.UTC(m,v,h,g,y,b,x)):new Date(m,v,h,g,y,b,x)}catch(e){return new Date("")}}(t,u,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),c&&t!=this.format(u)&&(this.$d=new Date("")),i={}}else if(u instanceof Array)for(var p=u.length,h=1;h<=p;h+=1){a[1]=u[h-1];var m=n.apply(this,a);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}h===p&&(this.$d=new Date(""))}else o.call(this,e)}}}()},6446:function(e){e.exports=function(){"use strict";var e,t,n=1e3,r=6e4,o=36e5,i=864e5,a=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,l=2592e6,s=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,c={years:u,months:l,days:i,hours:o,minutes:r,seconds:n,milliseconds:1,weeks:6048e5},d=function(e){return e instanceof y},f=function(e,t,n){return new y(e,n,t.$l)},p=function(e){return t.p(e)+"s"},h=function(e){return e<0},m=function(e){return h(e)?Math.ceil(e):Math.floor(e)},v=function(e){return Math.abs(e)},g=function(e,t){return e?h(e)?{negative:!0,format:""+v(e)+t}:{negative:!1,format:""+e+t}:{negative:!1,format:""}},y=function(){function h(e,t,n){var r=this;if(this.$d={},this.$l=n,void 0===e&&(this.$ms=0,this.parseFromMilliseconds()),t)return f(e*c[p(t)],this);if("number"==typeof e)return this.$ms=e,this.parseFromMilliseconds(),this;if("object"==typeof e)return Object.keys(e).forEach((function(t){r.$d[p(t)]=e[t]})),this.calMilliseconds(),this;if("string"==typeof e){var o=e.match(s);if(o){var i=o.slice(2).map((function(e){return null!=e?Number(e):0}));return this.$d.years=i[0],this.$d.months=i[1],this.$d.weeks=i[2],this.$d.days=i[3],this.$d.hours=i[4],this.$d.minutes=i[5],this.$d.seconds=i[6],this.calMilliseconds(),this}}return this}var v=h.prototype;return v.calMilliseconds=function(){var e=this;this.$ms=Object.keys(this.$d).reduce((function(t,n){return t+(e.$d[n]||0)*c[n]}),0)},v.parseFromMilliseconds=function(){var e=this.$ms;this.$d.years=m(e/u),e%=u,this.$d.months=m(e/l),e%=l,this.$d.days=m(e/i),e%=i,this.$d.hours=m(e/o),e%=o,this.$d.minutes=m(e/r),e%=r,this.$d.seconds=m(e/n),e%=n,this.$d.milliseconds=e},v.toISOString=function(){var e=g(this.$d.years,"Y"),t=g(this.$d.months,"M"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var r=g(n,"D"),o=g(this.$d.hours,"H"),i=g(this.$d.minutes,"M"),a=this.$d.seconds||0;this.$d.milliseconds&&(a+=this.$d.milliseconds/1e3);var u=g(a,"S"),l=e.negative||t.negative||r.negative||o.negative||i.negative||u.negative,s=o.format||i.format||u.format?"T":"",c=(l?"-":"")+"P"+e.format+t.format+r.format+s+o.format+i.format+u.format;return"P"===c||"-P"===c?"P0D":c},v.toJSON=function(){return this.toISOString()},v.format=function(e){var n=e||"YYYY-MM-DDTHH:mm:ss",r={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return n.replace(a,(function(e,t){return t||String(r[e])}))},v.as=function(e){return this.$ms/c[p(e)]},v.get=function(e){var t=this.$ms,n=p(e);return"milliseconds"===n?t%=1e3:t="weeks"===n?m(t/c[n]):this.$d[n],0===t?0:t},v.add=function(e,t,n){var r;return r=t?e*c[p(t)]:d(e)?e.$ms:f(e,this).$ms,f(this.$ms+r*(n?-1:1),this)},v.subtract=function(e,t){return this.add(e,t,!0)},v.locale=function(e){var t=this.clone();return t.$l=e,t},v.clone=function(){return f(this.$ms,this)},v.humanize=function(t){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},v.milliseconds=function(){return this.get("milliseconds")},v.asMilliseconds=function(){return this.as("milliseconds")},v.seconds=function(){return this.get("seconds")},v.asSeconds=function(){return this.as("seconds")},v.minutes=function(){return this.get("minutes")},v.asMinutes=function(){return this.as("minutes")},v.hours=function(){return this.get("hours")},v.asHours=function(){return this.as("hours")},v.days=function(){return this.get("days")},v.asDays=function(){return this.as("days")},v.weeks=function(){return this.get("weeks")},v.asWeeks=function(){return this.as("weeks")},v.months=function(){return this.get("months")},v.asMonths=function(){return this.as("months")},v.years=function(){return this.get("years")},v.asYears=function(){return this.as("years")},h}();return function(n,r,o){e=o,t=o().$utils(),o.duration=function(e,t){var n=o.locale();return f(e,{$l:n},t)},o.isDuration=d;var i=r.prototype.add,a=r.prototype.subtract;r.prototype.add=function(e,t){return d(e)&&(e=e.asMilliseconds()),i.bind(this)(e,t)},r.prototype.subtract=function(e,t){return d(e)&&(e=e.asMilliseconds()),a.bind(this)(e,t)}}}()},8743:function(e){e.exports=function(){"use strict";return function(e,t,n){t.prototype.isBetween=function(e,t,r,o){var i=n(e),a=n(t),u="("===(o=o||"()")[0],l=")"===o[1];return(u?this.isAfter(i,r):!this.isBefore(i,r))&&(l?this.isBefore(a,r):!this.isAfter(a,r))||(u?this.isBefore(i,r):!this.isAfter(i,r))&&(l?this.isAfter(a,r):!this.isBefore(a,r))}}}()},3825:function(e){e.exports=function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,n,r){var o=n.prototype,i=o.format;r.en.formats=e,o.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var n=this.$locale().formats,r=function(t,n){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,r,o){var i=o&&o.toUpperCase();return r||n[o]||e[o]||n[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))}(t,void 0===n?{}:n);return i.call(this,r)}}}()},1635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,o,i){var a=o.prototype;i.utc=function(e){return new o({date:e,utc:!0,args:arguments})},a.utc=function(t){var n=i(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},a.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var u=a.parse;a.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),u.call(this,e)};var l=a.init;a.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var s=a.utcOffset;a.utcOffset=function(r,o){var i=this.$utils().u;if(i(r))return this.$u?0:i(this.$offset)?s.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var o=(""+r[0]).match(n)||["-",0,0],i=o[0],a=60*+o[1]+ +o[2];return 0===a?0:"+"===i?a:-a}(r),null===r))return this;var a=Math.abs(r)<=16?60*r:r,u=this;if(o)return u.$offset=a,u.$u=0===r,u;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(u=this.local().add(a+l,e)).$offset=a,u.$x.$localOffset=l}else u=this.utc();return u};var c=a.format;a.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,t)},a.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*e},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var d=a.toDate;a.toDate=function(e){return"s"===e&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var f=a.diff;a.diff=function(e,t,n){if(e&&this.$u===e.$u)return f.call(this,e,t,n);var r=this.local(),o=i(e).local();return f.call(r,o,t,n)}}}()},2781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,o="[object Function]";e.exports=function(e){var i=this;if("function"!==typeof i||r.call(i)!==o)throw new TypeError(t+i);for(var a,u=n.call(arguments,1),l=function(){if(this instanceof a){var t=i.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return i.apply(e,u.concat(n.call(arguments)))},s=Math.max(0,i.length-u.length),c=[],d=0;d1&&"boolean"!==typeof t)throw new a('"allowMissing" argument must be a boolean');var n=C(e),r=n.length>0?n[0]:"",i=_("%"+r+"%",t),u=i.name,s=i.value,c=!1,d=i.alias;d&&(r=d[0],Z(n,x([0,1],d)));for(var f=1,p=!0;f=n.length){var y=l(s,h);s=(p=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:s[h]}else p=b(s,h),s=s[h];p&&!c&&(m[u]=s)}}return s}},5520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,o=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&o())))}},541:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},7838:function(e,t,n){"use strict";var r=n(1199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},7861:function(e,t,n){"use strict";var r=n(2535),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function l(e){return r.isMemo(e)?a:u[e.$$typeof]||o}u[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[r.Memo]=a;var s=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var o=p(n);o&&o!==h&&e(t,o,r)}var a=c(n);d&&(a=a.concat(d(n)));for(var u=l(t),m=l(n),v=0;v=t||n<0||d&&e-s>=i}function Z(){var e=h();if(x(e))return w(e);u=setTimeout(Z,function(e){var n=t-(e-l);return d?p(n,i-(e-s)):n}(e))}function w(e){return u=void 0,g&&r?y(e):(r=o=void 0,a)}function D(){var e=h(),n=x(e);if(r=arguments,o=this,l=e,n){if(void 0===u)return b(l);if(d)return u=setTimeout(Z,t),y(l)}return void 0===u&&(u=setTimeout(Z,t)),a}return t=v(t)||0,m(n)&&(c=!!n.leading,i=(d="maxWait"in n)?f(v(n.maxWait)||0,t):i,g="trailing"in n?!!n.trailing:g),D.cancel=function(){void 0!==u&&clearTimeout(u),s=0,r=l=o=u=void 0},D.flush=function(){return void 0===u?a:w(h())},D}},4007:function(e,t,n){var r="__lodash_hash_undefined__",o="[object Function]",i="[object GeneratorFunction]",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g,d=/^\[object .+?Constructor\]$/,f="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,p="object"==typeof self&&self&&self.Object===Object&&self,h=f||p||Function("return this")();var m=Array.prototype,v=Function.prototype,g=Object.prototype,y=h["__core-js_shared__"],b=function(){var e=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),x=v.toString,Z=g.hasOwnProperty,w=g.toString,D=RegExp("^"+x.call(Z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),k=h.Symbol,S=m.splice,C=I(h,"Map"),_=I(Object,"create"),E=k?k.prototype:void 0,A=E?E.toString:void 0;function M(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},T.prototype.set=function(e,t){var n=this.__data__,r=R(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},P.prototype.clear=function(){this.__data__={hash:new M,map:new(C||T),string:new M}},P.prototype.delete=function(e){return B(this,e).delete(e)},P.prototype.get=function(e){return B(this,e).get(e)},P.prototype.has=function(e){return B(this,e).has(e)},P.prototype.set=function(e,t){return B(this,e).set(e,t),this};var L=z((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if($(e))return A?A.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return l.test(e)&&n.push(""),e.replace(s,(function(e,t,r,o){n.push(r?o.replace(c,"$1"):t||e)})),n}));function N(e){if("string"==typeof e||$(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function z(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a),a};return n.cache=new(z.Cache||P),n}z.Cache=P;var j=Array.isArray;function W(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==w.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:F(e,t);return void 0===r?n:r}},2061:function(e,t,n){var r="Expected a function",o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,s="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,d=s||c||Function("return this")(),f=Object.prototype.toString,p=Math.max,h=Math.min,m=function(){return d.Date.now()};function v(e,t,n){var o,i,a,u,l,s,c=0,d=!1,f=!1,v=!0;if("function"!=typeof e)throw new TypeError(r);function b(t){var n=o,r=i;return o=i=void 0,c=t,u=e.apply(r,n)}function x(e){return c=e,l=setTimeout(w,t),d?b(e):u}function Z(e){var n=e-s;return void 0===s||n>=t||n<0||f&&e-c>=a}function w(){var e=m();if(Z(e))return D(e);l=setTimeout(w,function(e){var n=t-(e-s);return f?h(n,a-(e-c)):n}(e))}function D(e){return l=void 0,v&&o?b(e):(o=i=void 0,u)}function k(){var e=m(),n=Z(e);if(o=arguments,i=this,s=e,n){if(void 0===l)return x(s);if(f)return l=setTimeout(w,t),b(s)}return void 0===l&&(l=setTimeout(w,t)),u}return t=y(t)||0,g(n)&&(d=!!n.leading,a=(f="maxWait"in n)?p(y(n.maxWait)||0,t):a,v="trailing"in n?!!n.trailing:v),k.cancel=function(){void 0!==l&&clearTimeout(l),c=0,o=s=i=l=void 0},k.flush=function(){return void 0===l?u:D(m())},k}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=a.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var o=!0,i=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),v(e,t,{leading:o,maxWait:t,trailing:i})}},3154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=r&&o&&"function"===typeof o.get?o.get:null,a=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,s=u&&l&&"function"===typeof l.get?l.get:null,c=u&&Set.prototype.forEach,d="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,f="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,p="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,h=Boolean.prototype.valueOf,m=Object.prototype.toString,v=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,b=String.prototype.replace,x=String.prototype.toUpperCase,Z=String.prototype.toLowerCase,w=RegExp.prototype.test,D=Array.prototype.concat,k=Array.prototype.join,S=Array.prototype.slice,C=Math.floor,_="function"===typeof BigInt?BigInt.prototype.valueOf:null,E=Object.getOwnPropertySymbols,A="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,M="function"===typeof Symbol&&"object"===typeof Symbol.iterator,T="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===M||"symbol")?Symbol.toStringTag:null,P=Object.prototype.propertyIsEnumerable,R=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function F(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||w.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-C(-e):C(e);if(r!==e){var o=String(r),i=y.call(t,o.length+1);return b.call(o,n,"$&_")+"."+b.call(b.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return b.call(t,n,"$&_")}var O=n(4654).custom,B=O&&z(O)?O:null;function I(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function L(e){return b.call(String(e),/"/g,""")}function N(e){return"[object Array]"===$(e)&&(!T||!("object"===typeof e&&T in e))}function z(e){if(M)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!A)return!1;try{return A.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,o){var u=n||{};if(W(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(W(u,"maxStringLength")&&("number"===typeof u.maxStringLength?u.maxStringLength<0&&u.maxStringLength!==1/0:null!==u.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=!W(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(W(u,"indent")&&null!==u.indent&&"\t"!==u.indent&&!(parseInt(u.indent,10)===u.indent&&u.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(W(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=u.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return Y(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var x=String(t);return m?F(t,x):x}if("bigint"===typeof t){var w=String(t)+"n";return m?F(t,w):w}var C="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=C&&C>0&&"object"===typeof t)return N(t)?"[Array]":"[Object]";var E=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=k.call(Array(e.indent+1)," ")}return{base:n,prev:k.call(Array(t+1),n)}}(u,r);if("undefined"===typeof o)o=[];else if(H(o,t)>=0)return"[Circular]";function O(t,n,i){if(n&&(o=S.call(o)).push(n),i){var a={depth:u.depth};return W(u,"quoteStyle")&&(a.quoteStyle=u.quoteStyle),e(t,a,r+1,o)}return e(t,u,r+1,o)}if("function"===typeof t){var j=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),V=K(t,O);return"[Function"+(j?": "+j:" (anonymous)")+"]"+(V.length>0?" { "+k.call(V,", ")+" }":"")}if(z(t)){var Q=M?b.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):A.call(t);return"object"!==typeof t||M?Q:U(Q)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var J="<"+Z.call(String(t.nodeName)),ee=t.attributes||[],te=0;te"}if(N(t)){if(0===t.length)return"[]";var ne=K(t,O);return E&&!function(e){for(var t=0;t=0)return!1;return!0}(ne)?"["+G(ne,E)+"]":"[ "+k.call(ne,", ")+" ]"}if(function(e){return"[object Error]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t)){var re=K(t,O);return"cause"in t&&!P.call(t,"cause")?"{ ["+String(t)+"] "+k.call(D.call("[cause]: "+O(t.cause),re),", ")+" }":0===re.length?"["+String(t)+"]":"{ ["+String(t)+"] "+k.call(re,", ")+" }"}if("object"===typeof t&&l){if(B&&"function"===typeof t[B])return t[B]();if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!i||!e||"object"!==typeof e)return!1;try{i.call(e);try{s.call(e)}catch(J){return!0}return e instanceof Map}catch(t){}return!1}(t)){var oe=[];return a.call(t,(function(e,n){oe.push(O(n,t,!0)+" => "+O(e,t))})),X("Map",i.call(t),oe,E)}if(function(e){if(!s||!e||"object"!==typeof e)return!1;try{s.call(e);try{i.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ie=[];return c.call(t,(function(e){ie.push(O(e,t))})),X("Set",s.call(t),ie,E)}if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(J){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return q("WeakMap");if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(J){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return q("WeakSet");if(function(e){if(!p||!e||"object"!==typeof e)return!1;try{return p.call(e),!0}catch(t){}return!1}(t))return q("WeakRef");if(function(e){return"[object Number]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t))return U(O(Number(t)));if(function(e){if(!e||"object"!==typeof e||!_)return!1;try{return _.call(e),!0}catch(t){}return!1}(t))return U(O(_.call(t)));if(function(e){return"[object Boolean]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t))return U(h.call(t));if(function(e){return"[object String]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t))return U(O(String(t)));if(!function(e){return"[object Date]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t)&&!function(e){return"[object RegExp]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t)){var ae=K(t,O),ue=R?R(t)===Object.prototype:t instanceof Object||t.constructor===Object,le=t instanceof Object?"":"null prototype",se=!ue&&T&&Object(t)===t&&T in t?y.call($(t),8,-1):le?"Object":"",ce=(ue||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(se||le?"["+k.call(D.call([],se||[],le||[]),": ")+"] ":"");return 0===ae.length?ce+"{}":E?ce+"{"+G(ae,E)+"}":ce+"{ "+k.call(ae,", ")+" }"}return String(t)};var j=Object.prototype.hasOwnProperty||function(e){return e in this};function W(e,t){return j.call(e,t)}function $(e){return m.call(e)}function H(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return Y(y.call(e,0,t.maxStringLength),t)+r}return I(b.call(b.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,V),"single",t)}function V(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+x.call(t.toString(16))}function U(e){return"Object("+e+")"}function q(e){return e+" { ? }"}function X(e,t,n,r){return e+" ("+t+") {"+(r?G(n,r):k.call(n,", "))+"}"}function G(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+k.call(e,","+n)+"\n"+t.prev}function K(e,t){var n=N(e),r=[];if(n){r.length=e.length;for(var o=0;o=n.__.length&&n.__.push({}),n.__[e]}function m(e){return u=1,v(T,e)}function v(e,t,n){var i=h(r++,2);return i.t=e,i.__c||(i.__=[n?n(t):T(void 0,t),function(e){var t=i.t(i.__[0],e);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=o),i.__}function g(e,t){var n=h(r++,3);!a.YM.__s&&M(n.__H,t)&&(n.__=e,n.__H=t,o.__H.__h.push(n))}function y(e,t){var n=h(r++,4);!a.YM.__s&&M(n.__H,t)&&(n.__=e,n.__H=t,o.__h.push(n))}function b(e){return u=5,Z((function(){return{current:e}}),[])}function x(e,t,n){u=6,y((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function Z(e,t){var n=h(r++,7);return M(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function w(e,t){return u=8,Z((function(){return e}),t)}function D(e){var t=o.context[e.__c],n=h(r++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(o)),t.props.value):e.__}function k(e,t){a.YM.useDebugValue&&a.YM.useDebugValue(t?t(e):e)}function S(e){var t=h(r++,10),n=m();return t.__=e,o.componentDidCatch||(o.componentDidCatch=function(e){t.__&&t.__(e),n[1](e)}),[n[0],function(){n[1](void 0)}]}function C(){for(var e;e=l.shift();)if(e.__P)try{e.__H.__h.forEach(E),e.__H.__h.forEach(A),e.__H.__h=[]}catch(o){e.__H.__h=[],a.YM.__e(o,e.__v)}}a.YM.__b=function(e){o=null,s&&s(e)},a.YM.__r=function(e){c&&c(e),r=0;var t=(o=e.__c).__H;t&&(t.__h.forEach(E),t.__h.forEach(A),t.__h=[])},a.YM.diffed=function(e){d&&d(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(1!==l.push(t)&&i===a.YM.requestAnimationFrame||((i=a.YM.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(r),_&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);_&&(t=requestAnimationFrame(n))})(C)),o=null},a.YM.__c=function(e,t){t.some((function(e){try{e.__h.forEach(E),e.__h=e.__h.filter((function(e){return!e.__||A(e)}))}catch(i){t.some((function(e){e.__h&&(e.__h=[])})),t=[],a.YM.__e(i,e.__v)}})),f&&f(e,t)},a.YM.unmount=function(e){p&&p(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{E(e)}catch(e){t=e}})),t&&a.YM.__e(t,n.__v))};var _="function"==typeof requestAnimationFrame;function E(e){var t=o,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),o=t}function A(e){var t=o;e.__c=e.__(),o=t}function M(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function T(e,t){return"function"==typeof t?t(e):t}function P(e,t){for(var n in t)e[n]=t[n];return e}function R(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function F(e){this.props=e}function O(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:R(this.props,e)}function r(t){return this.shouldComponentUpdate=n,(0,a.az)(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(F.prototype=new a.wA).isPureReactComponent=!0,F.prototype.shouldComponentUpdate=function(e,t){return R(this.props,e)||R(this.state,t)};var B=a.YM.__b;a.YM.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),B&&B(e)};var I="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function L(e){function t(t){var n=P({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=I,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var N=function(e,t){return null==e?null:(0,a.bR)((0,a.bR)(e).map(t))},z={map:N,forEach:N,count:function(e){return e?(0,a.bR)(e).length:0},only:function(e){var t=(0,a.bR)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:a.bR},j=a.YM.__e;a.YM.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t);j(e,t,n,r)};var W=a.YM.unmount;function $(){this.__u=0,this.t=null,this.__b=null}function H(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function Y(e){var t,n,r;function o(o){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return(0,a.az)(n,o)}return o.displayName="Lazy",o.__f=!0,o}function V(){this.u=null,this.o=null}a.YM.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),W&&W(e)},($.prototype=new a.wA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var o=H(r.__v),i=!1,a=function(){i||(i=!0,n.__R=null,o?o(u):u())};n.__R=a;var u=function(){if(!--r.__u){if(r.state.__e){var e=r.state.__e;r.__v.__k[0]=function e(t,n,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map((function(t){return e(t,n,r)})),t.__c&&t.__c.__P===n&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__e:r.__b=r.__v.__k[0]}),e.then(a,a)},$.prototype.componentWillUnmount=function(){this.t=[]},$.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function e(t,n,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),t.__c.__H=null),null!=(t=P({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=n),t.__c=null),t.__k=t.__k&&t.__k.map((function(t){return e(t,n,r)}))),t}(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__e&&(0,a.az)(a.HY,null,e.fallback);return o&&(o.__h=null),[(0,a.az)(a.HY,null,t.__e?null:e.children),o]};var U=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),(0,a.sY)((0,a.az)(q,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function G(e,t){var n=(0,a.az)(X,{__v:e,i:t});return n.containerInfo=t,n}(V.prototype=new a.wA).__e=function(e){var t=this,n=H(t.__v),r=t.o.get(e);return r[0]++,function(o){var i=function(){t.props.revealOrder?(r.push(o),U(t,e,r)):o()};n?n(i):i()}},V.prototype.render=function(e){this.u=null,this.o=new Map;var t=(0,a.bR)(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},V.prototype.componentDidUpdate=V.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){U(e,n,t)}))};var K="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,Q=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J="undefined"!=typeof document,ee=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function te(e,t,n){return null==t.__k&&(t.textContent=""),(0,a.sY)(e,t),"function"==typeof n&&n(),e?e.__c:null}function ne(e,t,n){return(0,a.ZB)(e,t),"function"==typeof n&&n(),e?e.__c:null}a.wA.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(a.wA.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var re=a.YM.event;function oe(){}function ie(){return this.cancelBubble}function ae(){return this.defaultPrevented}a.YM.event=function(e){return re&&(e=re(e)),e.persist=oe,e.isPropagationStopped=ie,e.isDefaultPrevented=ae,e.nativeEvent=e};var ue,le={configurable:!0,get:function(){return this.class}},se=a.YM.vnode;a.YM.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var o=-1===t.indexOf("-");for(var i in r={},n){var u=n[i];J&&"children"===i&&"noscript"===t||"value"===i&&"defaultValue"in n&&null==u||("defaultValue"===i&&"value"in n&&null==n.value?i="value":"download"===i&&!0===u?u="":/ondoubleclick/i.test(i)?i="ondblclick":/^onchange(textarea|input)/i.test(i+t)&&!ee(n.type)?i="oninput":/^onfocus$/i.test(i)?i="onfocusin":/^onblur$/i.test(i)?i="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(i)?i=i.toLowerCase():o&&Q.test(i)?i=i.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===u&&(u=void 0),r[i]=u)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=(0,a.bR)(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=(0,a.bR)(n.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),e.props=r,n.class!=n.className&&(le.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",le))}e.$$typeof=K,se&&se(e)};var ce=a.YM.__r;a.YM.__r=function(e){ce&&ce(e),ue=e.__c};var de={ReactCurrentDispatcher:{current:{readContext:function(e){return ue.__n[e.__c].props.value}}}},fe="17.0.2";function pe(e){return a.az.bind(null,e)}function he(e){return!!e&&e.$$typeof===K}function me(e){return he(e)?a.Tm.apply(null,arguments):e}function ve(e){return!!e.__k&&((0,a.sY)(null,e),!0)}function ge(e){return e&&(e.base||1===e.nodeType&&e)||null}var ye=function(e,t){return e(t)},be=function(e,t){return e(t)},xe=a.HY,Ze={useState:m,useReducer:v,useEffect:g,useLayoutEffect:y,useRef:b,useImperativeHandle:x,useMemo:Z,useCallback:w,useContext:D,useDebugValue:k,version:"17.0.2",Children:z,render:te,hydrate:ne,unmountComponentAtNode:ve,createPortal:G,createElement:a.az,createContext:a.kr,createFactory:pe,cloneElement:me,createRef:a.Vf,Fragment:a.HY,isValidElement:he,findDOMNode:ge,Component:a.wA,PureComponent:F,memo:O,forwardRef:L,flushSync:be,unstable_batchedUpdates:ye,StrictMode:a.HY,Suspense:$,SuspenseList:V,lazy:Y,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:de}},7742:function(e,t,n){n(4206),e.exports=n(7226)},3856:function(e,t,n){"use strict";n.d(t,{HY:function(){return y},Tm:function(){return z},Vf:function(){return g},YM:function(){return o},ZB:function(){return N},az:function(){return m},bR:function(){return C},kr:function(){return j},sY:function(){return L},wA:function(){return b}});var r,o,i,a,u,l,s,c={},d=[],f=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function p(e,t){for(var n in t)e[n]=t[n];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function m(e,t,n){var o,i,a,u={};for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:u[a]=t[a];if(arguments.length>2&&(u.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===u[a]&&(u[a]=e.defaultProps[a]);return v(e,u,o,i,null)}function v(e,t,n,r,a){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==a?++i:a};return null==a&&null!=o.vnode&&o.vnode(u),u}function g(){return{current:null}}function y(e){return e.children}function b(e,t){this.props=e,this.context=t}function x(e,t){if(null==t)return e.__?x(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?v(m.type,m.props,m.key,null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(h=w[f])||h&&m.key==h.key&&m.type===h.type)w[f]=void 0;else for(p=0;p2&&(u.children=arguments.length>3?r.call(arguments,2):n),v(e.type,u,o||e.key,i||e.ref,null)}function j(e,t){var n={__c:t="__cC"+s++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(w)},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=d.slice,o={__e:function(e,t,n,r){for(var o,i,a;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),a=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),a=o.__d),a)return o.__E=o}catch(t){e=t}throw e}},i=0,b.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=p({},this.state),"function"==typeof e&&(e=e(p({},n),this.props)),e&&p(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),w(this))},b.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),w(this))},b.prototype.render=y,a=[],u="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,D.__r=0,s=0},7226:function(e,t,n){"use strict";n.r(t),n.d(t,{Fragment:function(){return r.HY},jsx:function(){return i},jsxDEV:function(){return i},jsxs:function(){return i}});var r=n(3856),o=0;function i(e,t,n,i,a){var u,l,s={};for(l in t)"ref"==l?u=t[l]:s[l]=t[l];var c={type:e,props:s,key:n,ref:u,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--o,__source:a,__self:i};if("function"==typeof e&&(u=e.defaultProps))for(l in u)void 0===s[l]&&(s[l]=u[l]);return r.YM.vnode&&r.YM.vnode(c),c}},1729:function(e,t,n){"use strict";var r=n(9165);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},5192:function(e,t,n){e.exports=n(1729)()},9165:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5609:function(e){"use strict";var t=String.prototype.replace,n=/%20/g,r="RFC1738",o="RFC3986";e.exports={default:o,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:r,RFC3986:o}},4776:function(e,t,n){"use strict";var r=n(2816),o=n(7668),i=n(5609);e.exports={formats:i,parse:o,stringify:r}},7668:function(e,t,n){"use strict";var r=n(9837),o=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},u=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},l=function(e,t){return e&&"string"===typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},s=function(e,t,n,r){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(i),s=u?i.slice(0,u.index):i,c=[];if(s){if(!n.plainObjects&&o.call(Object.prototype,s)&&!n.allowPrototypes)return;c.push(s)}for(var d=0;n.depth>0&&null!==(u=a.exec(i))&&d=0;--i){var a,u=e[i];if("[]"===u&&n.parseArrays)a=[].concat(o);else{a=n.plainObjects?Object.create(null):{};var s="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,c=parseInt(s,10);n.parseArrays||""!==s?!isNaN(c)&&u!==s&&String(c)===s&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(a=[])[c]=o:"__proto__"!==s&&(a[s]=o):a={0:o}}o=a}return o}(c,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?a.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:a.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:a.comma,decoder:"function"===typeof e.decoder?e.decoder:a.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var c="string"===typeof e?function(e,t){var n,s={},c=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,d=t.parameterLimit===1/0?void 0:t.parameterLimit,f=c.split(t.delimiter,d),p=-1,h=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(v=i(v)?[v]:v),o.call(s,m)?s[m]=r.combine(s[m],v):s[m]=v}return s}(e,n):e,d=n.plainObjects?Object.create(null):{},f=Object.keys(c),p=0;p0?k.join(",")||null:void 0}];else if(l(f))R=f;else{var O=Object.keys(k);R=p?O.sort(p):O}for(var B=0;B0?x+b:""}},9837:function(e,t,n){"use strict";var r=n(5609),o=Object.prototype.hasOwnProperty,i=Array.isArray,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),u=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],o=0;o=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||i===r.RFC1738&&(40===c||41===c)?l+=u.charAt(s):c<128?l+=a[c]:c<2048?l+=a[192|c>>6]+a[128|63&c]:c<55296||c>=57344?l+=a[224|c>>12]+a[128|c>>6&63]+a[128|63&c]:(s+=1,c=65536+((1023&c)<<10|1023&u.charCodeAt(s)),l+=a[240|c>>18]+a[128|c>>12&63]+a[128|c>>6&63]+a[128|63&c])}return l},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var n=[],r=0;r=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(l&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;_(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:A(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=t}catch(n){"object"===typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}},3170:function(e,t,n){"use strict";var r=n(8476),o=n(4680),i=n(3154),a=r("%TypeError%"),u=r("%WeakMap%",!0),l=r("%Map%",!0),s=o("WeakMap.prototype.get",!0),c=o("WeakMap.prototype.set",!0),d=o("WeakMap.prototype.has",!0),f=o("Map.prototype.get",!0),p=o("Map.prototype.set",!0),h=o("Map.prototype.has",!0),m=function(e,t){for(var n,r=e;null!==(n=r.next);r=n)if(n.key===t)return r.next=n.next,n.next=e.next,e.next=n,n};e.exports=function(){var e,t,n,r={assert:function(e){if(!r.has(e))throw new a("Side channel does not contain "+i(e))},get:function(r){if(u&&r&&("object"===typeof r||"function"===typeof r)){if(e)return s(e,r)}else if(l){if(t)return f(t,r)}else if(n)return function(e,t){var n=m(e,t);return n&&n.value}(n,r)},has:function(r){if(u&&r&&("object"===typeof r||"function"===typeof r)){if(e)return d(e,r)}else if(l){if(t)return h(t,r)}else if(n)return function(e,t){return!!m(e,t)}(n,r);return!1},set:function(r,o){u&&r&&("object"===typeof r||"function"===typeof r)?(e||(e=new u),c(e,r,o)):l?(t||(t=new l),p(t,r,o)):(n||(n={key:{},next:null}),function(e,t,n){var r=m(e,t);r?r.value=n:e.next={key:t,next:e.next,value:n}}(n,r,o))}};return r}},4654:function(){},907:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}n.d(t,{Z:function(){return r}})},9439:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(3878);var o=n(181),i=n(5267);function a(e,t){return(0,r.Z)(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],a=!0,u=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(l){u=!0,o=l}finally{try{a||null==n.return||n.return()}finally{if(u)throw o}}return i}}(e,t)||(0,o.Z)(e,t)||(0,i.Z)()}},3433:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(907);var o=n(9199),i=n(181);function a(e){return function(e){if(Array.isArray(e))return(0,r.Z)(e)}(e)||(0,o.Z)(e)||(0,i.Z)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},181:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(907);function o(e,t){if(e){if("string"===typeof e)return(0,r.Z)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?(0,r.Z)(e,t):void 0}}},3138:function(e,t,n){"use strict";n.d(t,{BX:function(){return r.jsxs},HY:function(){return r.Fragment},tZ:function(){return r.jsx}});n(4206);var r=n(7226)}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.m=e,n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))},n.u=function(e){return"static/js/"+e+".939f971b.chunk.js"},n.miniCssF=function(e){},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e={},t="vmui:";n.l=function(r,o,i,a){if(e[r])e[r].push(o);else{var u,l;if(void 0!==i)for(var s=document.getElementsByTagName("script"),c=0;c=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}var h=(0,t.createContext)(null);var m=(0,t.createContext)(null);var v=(0,t.createContext)({outlet:null,matches:[]});function g(e,t){if(!e)throw new Error(t)}function y(e,t,n){void 0===n&&(n="/");var r=C(("string"===typeof t?p(t):t).pathname||"/",n);if(null==r)return null;var o=b(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(o);for(var i=null,a=0;null==i&&a0&&(!0===e.index&&g(!1),b(e.children,t,u,a)),(null!=e.path||e.index)&&t.push({path:a,score:w(a,e.index),routesMeta:u})})),t}var x=/^:\w+$/,Z=function(e){return"*"===e};function w(e,t){var n=e.split("/"),r=n.length;return n.some(Z)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!Z(e)})).reduce((function(e,t){return e+(x.test(t)?3:""===t?1:10)}),r)}function D(e,t){for(var n=e.routesMeta,r={},o="/",i=[],a=0;a=0?t[a]:"/"}var l=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?p(e):e,r=n.pathname,o=n.search,i=void 0===o?"":o,a=n.hash,u=void 0===a?"":a,l=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:l,search:A(i),hash:M(u)}}(o,r);return i&&"/"!==i&&i.endsWith("/")&&!l.pathname.endsWith("/")&&(l.pathname+="/"),l}function C(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;var n=e.charAt(t.length);return n&&"/"!==n?null:e.slice(t.length)||"/"}var _=function(e){return e.join("/").replace(/\/\/+/g,"/")},E=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},A=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},M=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""};function T(e){P()||g(!1);var n=(0,t.useContext)(h),r=n.basename,o=n.navigator,i=B(e),a=i.hash,u=i.pathname,l=i.search,s=u;if("/"!==r){var c=function(e){return""===e||""===e.pathname?"/":"string"===typeof e?p(e).pathname:e.pathname}(e),d=null!=c&&c.endsWith("/");s="/"===u?r+(d?"/":""):_([r,u])}return o.createHref({pathname:s,search:l,hash:a})}function P(){return null!=(0,t.useContext)(m)}function R(){return P()||g(!1),(0,t.useContext)(m).location}function F(){P()||g(!1);var e=(0,t.useContext)(h),n=e.basename,r=e.navigator,o=(0,t.useContext)(v).matches,i=R().pathname,a=JSON.stringify(o.map((function(e){return e.pathnameBase}))),u=(0,t.useRef)(!1);(0,t.useEffect)((function(){u.current=!0}));var l=(0,t.useCallback)((function(e,t){if(void 0===t&&(t={}),u.current)if("number"!==typeof e){var o=S(e,JSON.parse(a),i);"/"!==n&&(o.pathname=_([n,o.pathname])),(t.replace?r.replace:r.push)(o,t.state)}else r.go(e)}),[n,r,a,i]);return l}var O=(0,t.createContext)(null);function B(e){var n=(0,t.useContext)(v).matches,r=R().pathname,o=JSON.stringify(n.map((function(e){return e.pathnameBase})));return(0,t.useMemo)((function(){return S(e,JSON.parse(o),r)}),[e,o,r])}function I(e,n){return void 0===n&&(n=[]),null==e?null:e.reduceRight((function(r,o,i){return(0,t.createElement)(v.Provider,{children:void 0!==o.route.element?o.route.element:r,value:{outlet:r,matches:n.concat(e.slice(0,i+1))}})}),null)}function L(e){return function(e){var n=(0,t.useContext)(v).outlet;return n?(0,t.createElement)(O.Provider,{value:e},n):n}(e.context)}function N(e){g(!1)}function z(n){var r=n.basename,o=void 0===r?"/":r,i=n.children,a=void 0===i?null:i,u=n.location,l=n.navigationType,s=void 0===l?e.Pop:l,c=n.navigator,d=n.static,f=void 0!==d&&d;P()&&g(!1);var v=E(o),y=(0,t.useMemo)((function(){return{basename:v,navigator:c,static:f}}),[v,c,f]);"string"===typeof u&&(u=p(u));var b=u,x=b.pathname,Z=void 0===x?"/":x,w=b.search,D=void 0===w?"":w,k=b.hash,S=void 0===k?"":k,_=b.state,A=void 0===_?null:_,M=b.key,T=void 0===M?"default":M,R=(0,t.useMemo)((function(){var e=C(Z,v);return null==e?null:{pathname:e,search:D,hash:S,state:A,key:T}}),[v,Z,D,S,A,T]);return null==R?null:(0,t.createElement)(h.Provider,{value:y},(0,t.createElement)(m.Provider,{children:a,value:{location:R,navigationType:s}}))}function j(e){var n=e.children,r=e.location;return function(e,n){P()||g(!1);var r,o=(0,t.useContext)(v).matches,i=o[o.length-1],a=i?i.params:{},u=(i&&i.pathname,i?i.pathnameBase:"/"),l=(i&&i.route,R());if(n){var s,c="string"===typeof n?p(n):n;"/"===u||(null==(s=c.pathname)?void 0:s.startsWith(u))||g(!1),r=c}else r=l;var d=r.pathname||"/",f=y(e,{pathname:"/"===u?d:d.slice(u.length)||"/"});return I(f&&f.map((function(e){return Object.assign({},e,{params:Object.assign({},a,e.params),pathname:_([u,e.pathname]),pathnameBase:"/"===e.pathnameBase?u:_([u,e.pathnameBase])})})),o)}(W(n),r)}function W(e){var n=[];return t.Children.forEach(e,(function(e){if((0,t.isValidElement)(e))if(e.type!==t.Fragment){e.type!==N&&g(!1);var r={caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path};e.props.children&&(r.children=W(e.props.children)),n.push(r)}else n.push.apply(n,W(e.props.children))})),n}function $(){return $=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}var Y=["onClick","reloadDocument","replace","state","target","to"];function V(e){var n=e.basename,o=e.children,i=e.window,a=(0,t.useRef)();null==a.current&&(a.current=l({window:i}));var u=a.current,s=(0,t.useState)({action:u.action,location:u.location}),c=(0,r.Z)(s,2),d=c[0],f=c[1];return(0,t.useLayoutEffect)((function(){return u.listen(f)}),[u]),(0,t.createElement)(z,{basename:n,children:o,location:d.location,navigationType:d.action,navigator:u})}var U=(0,t.forwardRef)((function(e,n){var r=e.onClick,o=e.reloadDocument,i=e.replace,a=void 0!==i&&i,u=e.state,l=e.target,s=e.to,c=H(e,Y),d=T(s),p=function(e,n){var r=void 0===n?{}:n,o=r.target,i=r.replace,a=r.state,u=F(),l=R(),s=B(e);return(0,t.useCallback)((function(t){if(0===t.button&&(!o||"_self"===o)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(t)){t.preventDefault();var n=!!i||f(l)===f(s);u(e,{replace:n,state:a})}}),[l,u,s,i,a,o,e])}(s,{replace:a,state:u,target:l});return(0,t.createElement)("a",$({},c,{href:d,onClick:function(e){r&&r(e),e.defaultPrevented||o||p(e)},ref:n,target:l}))}));var q=n(4942),X=n(3366),G=n(3061),K=n(317),Q=n(7551),J=n(8564),ee=n(5469),te=n(1615),ne=n(2131),re=n(655);function oe(e){return(0,ne.Z)("MuiPaper",e)}(0,re.Z)("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var ie=n(3138),ae=["className","component","elevation","square","variant"],ue=function(e){return((e<1?5.11916*Math.pow(e,2):4.5*Math.log(e+1)+2)/100).toFixed(2)},le=(0,J.ZP)("div",{name:"MuiPaper",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],!n.square&&t.rounded,"elevation"===n.variant&&t["elevation".concat(n.elevation)]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({backgroundColor:t.palette.background.paper,color:t.palette.text.primary,transition:t.transitions.create("box-shadow")},!n.square&&{borderRadius:t.shape.borderRadius},"outlined"===n.variant&&{border:"1px solid ".concat(t.palette.divider)},"elevation"===n.variant&&(0,o.Z)({boxShadow:t.shadows[n.elevation]},"dark"===t.palette.mode&&{backgroundImage:"linear-gradient(".concat((0,Q.Fq)("#fff",ue(n.elevation)),", ").concat((0,Q.Fq)("#fff",ue(n.elevation)),")")}))})),se=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiPaper"}),r=n.className,i=n.component,a=void 0===i?"div":i,u=n.elevation,l=void 0===u?1:u,s=n.square,c=void 0!==s&&s,d=n.variant,f=void 0===d?"elevation":d,p=(0,X.Z)(n,ae),h=(0,o.Z)({},n,{component:a,elevation:l,square:c,variant:f}),m=function(e){var t=e.square,n=e.elevation,r=e.variant,o=e.classes,i={root:["root",r,!t&&"rounded","elevation"===r&&"elevation".concat(n)]};return(0,K.Z)(i,oe,o)}(h);return(0,ie.tZ)(le,(0,o.Z)({as:a,ownerState:h,className:(0,G.Z)(m.root,r),ref:t},p))})),ce=se;function de(e){return(0,ne.Z)("MuiAlert",e)}var fe=(0,re.Z)("MuiAlert",["root","action","icon","message","filled","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),pe=n(6983),he=n(3236),me=n(9127),ve=n(3433);function ge(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ye(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function be(e,t){return be=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},be(e,t)}function xe(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,be(e,t)}var Ze=t.default.createContext(null);function we(e,n){var r=Object.create(null);return e&&t.Children.map(e,(function(e){return e})).forEach((function(e){r[e.key]=function(e){return n&&(0,t.isValidElement)(e)?n(e):e}(e)})),r}function De(e,t,n){return null!=n[t]?n[t]:e.props[t]}function ke(e,n,r){var o=we(e.children),i=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var r,o=Object.create(null),i=[];for(var a in e)a in t?i.length&&(o[a]=i,i=[]):i.push(a);var u={};for(var l in t){if(o[l])for(r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=t.pulsate,o=void 0!==r&&r,i=t.center,a=void 0===i?u||t.pulsate:i,l=t.fakeElement,s=void 0!==l&&l;if("mousedown"===e.type&&y.current)y.current=!1;else{"touchstart"===e.type&&(y.current=!0);var c,d,f,p=s?null:Z.current,h=p?p.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(a||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)c=Math.round(h.width/2),d=Math.round(h.height/2);else{var m=e.touches?e.touches[0]:e,v=m.clientX,g=m.clientY;c=Math.round(v-h.left),d=Math.round(g-h.top)}if(a)(f=Math.sqrt((2*Math.pow(h.width,2)+Math.pow(h.height,2))/3))%2===0&&(f+=1);else{var D=2*Math.max(Math.abs((p?p.clientWidth:0)-c),c)+2,k=2*Math.max(Math.abs((p?p.clientHeight:0)-d),d)+2;f=Math.sqrt(Math.pow(D,2)+Math.pow(k,2))}e.touches?null===x.current&&(x.current=function(){w({pulsate:o,rippleX:c,rippleY:d,rippleSize:f,cb:n})},b.current=setTimeout((function(){x.current&&(x.current(),x.current=null)}),80)):w({pulsate:o,rippleX:c,rippleY:d,rippleSize:f,cb:n})}}),[u,w]),k=t.useCallback((function(){D({},{pulsate:!0})}),[D]),S=t.useCallback((function(e,t){if(clearTimeout(b.current),"touchend"===e.type&&x.current)return x.current(),x.current=null,void(b.current=setTimeout((function(){S(e,t)})));x.current=null,m((function(e){return e.length>0?e.slice(1):e})),g.current=t}),[]);return t.useImperativeHandle(n,(function(){return{pulsate:k,start:D,stop:S}}),[k,D,S]),(0,ie.tZ)(Ge,(0,o.Z)({className:(0,G.Z)(s.root,Ye.root,c),ref:Z},d,{children:(0,ie.tZ)(_e,{component:null,exit:!0,children:h})}))})),Je=Qe;function et(e){return(0,ne.Z)("MuiButtonBase",e)}var tt,nt=(0,re.Z)("MuiButtonBase",["root","disabled","focusVisible"]),rt=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],ot=(0,J.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:function(e,t){return t.root}})((tt={display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"}},(0,q.Z)(tt,"&.".concat(nt.disabled),{pointerEvents:"none",cursor:"default"}),(0,q.Z)(tt,"@media print",{colorAdjust:"exact"}),tt)),it=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiButtonBase"}),a=i.action,u=i.centerRipple,l=void 0!==u&&u,s=i.children,c=i.className,d=i.component,f=void 0===d?"button":d,p=i.disabled,h=void 0!==p&&p,m=i.disableRipple,v=void 0!==m&&m,g=i.disableTouchRipple,y=void 0!==g&&g,b=i.focusRipple,x=void 0!==b&&b,Z=i.LinkComponent,w=void 0===Z?"a":Z,D=i.onBlur,k=i.onClick,S=i.onContextMenu,C=i.onDragLeave,_=i.onFocus,E=i.onFocusVisible,A=i.onKeyDown,M=i.onKeyUp,T=i.onMouseDown,P=i.onMouseLeave,R=i.onMouseUp,F=i.onTouchEnd,O=i.onTouchMove,B=i.onTouchStart,I=i.tabIndex,L=void 0===I?0:I,N=i.TouchRippleProps,z=i.touchRippleRef,j=i.type,W=(0,X.Z)(i,rt),$=t.useRef(null),H=t.useRef(null),Y=(0,pe.Z)(H,z),V=(0,me.Z)(),U=V.isFocusVisibleRef,q=V.onFocus,Q=V.onBlur,J=V.ref,te=t.useState(!1),ne=(0,r.Z)(te,2),re=ne[0],oe=ne[1];h&&re&&oe(!1),t.useImperativeHandle(a,(function(){return{focusVisible:function(){oe(!0),$.current.focus()}}}),[]);var ae=t.useState(!1),ue=(0,r.Z)(ae,2),le=ue[0],se=ue[1];t.useEffect((function(){se(!0)}),[]);var ce=le&&!v&&!h;function de(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:y;return(0,he.Z)((function(r){return t&&t(r),!n&&H.current&&H.current[e](r),!0}))}t.useEffect((function(){re&&x&&!v&&le&&H.current.pulsate()}),[v,x,re,le]);var fe=de("start",T),ve=de("stop",S),ge=de("stop",C),ye=de("stop",R),be=de("stop",(function(e){re&&e.preventDefault(),P&&P(e)})),xe=de("start",B),Ze=de("stop",F),we=de("stop",O),De=de("stop",(function(e){Q(e),!1===U.current&&oe(!1),D&&D(e)}),!1),ke=(0,he.Z)((function(e){$.current||($.current=e.currentTarget),q(e),!0===U.current&&(oe(!0),E&&E(e)),_&&_(e)})),Se=function(){var e=$.current;return f&&"button"!==f&&!("A"===e.tagName&&e.href)},Ce=t.useRef(!1),_e=(0,he.Z)((function(e){x&&!Ce.current&&re&&H.current&&" "===e.key&&(Ce.current=!0,H.current.stop(e,(function(){H.current.start(e)}))),e.target===e.currentTarget&&Se()&&" "===e.key&&e.preventDefault(),A&&A(e),e.target===e.currentTarget&&Se()&&"Enter"===e.key&&!h&&(e.preventDefault(),k&&k(e))})),Ee=(0,he.Z)((function(e){x&&" "===e.key&&H.current&&re&&!e.defaultPrevented&&(Ce.current=!1,H.current.stop(e,(function(){H.current.pulsate(e)}))),M&&M(e),k&&e.target===e.currentTarget&&Se()&&" "===e.key&&!e.defaultPrevented&&k(e)})),Ae=f;"button"===Ae&&(W.href||W.to)&&(Ae=w);var Me={};"button"===Ae?(Me.type=void 0===j?"button":j,Me.disabled=h):(W.href||W.to||(Me.role="button"),h&&(Me["aria-disabled"]=h));var Te=(0,pe.Z)(J,$),Pe=(0,pe.Z)(n,Te);var Re=(0,o.Z)({},i,{centerRipple:l,component:f,disabled:h,disableRipple:v,disableTouchRipple:y,focusRipple:x,tabIndex:L,focusVisible:re}),Fe=function(e){var t=e.disabled,n=e.focusVisible,r=e.focusVisibleClassName,o=e.classes,i={root:["root",t&&"disabled",n&&"focusVisible"]},a=(0,K.Z)(i,et,o);return n&&r&&(a.root+=" ".concat(r)),a}(Re);return(0,ie.BX)(ot,(0,o.Z)({as:Ae,className:(0,G.Z)(Fe.root,c),ownerState:Re,onBlur:De,onClick:k,onContextMenu:ve,onFocus:ke,onKeyDown:_e,onKeyUp:Ee,onMouseDown:fe,onMouseLeave:be,onMouseUp:ye,onDragLeave:ge,onTouchEnd:Ze,onTouchMove:we,onTouchStart:xe,ref:Pe,tabIndex:h?-1:L,type:j},Me,W,{children:[s,ce?(0,ie.tZ)(Je,(0,o.Z)({ref:Y,center:l},N)):null]}))})),at=it;function ut(e){return(0,ne.Z)("MuiIconButton",e)}var lt,st=(0,re.Z)("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),ct=["edge","children","className","color","disabled","disableFocusRipple","size"],dt=(0,J.ZP)(at,{name:"MuiIconButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"default"!==n.color&&t["color".concat((0,te.Z)(n.color))],n.edge&&t["edge".concat((0,te.Z)(n.edge))],t["size".concat((0,te.Z)(n.size))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({textAlign:"center",flex:"0 0 auto",fontSize:t.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:t.palette.action.active,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest})},!n.disableRipple&&{"&:hover":{backgroundColor:(0,Q.Fq)(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},"inherit"===n.color&&{color:"inherit"},"inherit"!==n.color&&"default"!==n.color&&(0,o.Z)({color:t.palette[n.color].main},!n.disableRipple&&{"&:hover":{backgroundColor:(0,Q.Fq)(t.palette[n.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}}),"small"===n.size&&{padding:5,fontSize:t.typography.pxToRem(18)},"large"===n.size&&{padding:12,fontSize:t.typography.pxToRem(28)},(0,q.Z)({},"&.".concat(st.disabled),{backgroundColor:"transparent",color:t.palette.action.disabled}))})),ft=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiIconButton"}),r=n.edge,i=void 0!==r&&r,a=n.children,u=n.className,l=n.color,s=void 0===l?"default":l,c=n.disabled,d=void 0!==c&&c,f=n.disableFocusRipple,p=void 0!==f&&f,h=n.size,m=void 0===h?"medium":h,v=(0,X.Z)(n,ct),g=(0,o.Z)({},n,{edge:i,color:s,disabled:d,disableFocusRipple:p,size:m}),y=function(e){var t=e.classes,n=e.disabled,r=e.color,o=e.edge,i=e.size,a={root:["root",n&&"disabled","default"!==r&&"color".concat((0,te.Z)(r)),o&&"edge".concat((0,te.Z)(o)),"size".concat((0,te.Z)(i))]};return(0,K.Z)(a,ut,t)}(g);return(0,ie.tZ)(dt,(0,o.Z)({className:(0,G.Z)(y.root,u),centerRipple:!0,focusRipple:!p,disabled:d,ref:t,ownerState:g},v,{children:a}))})),pt=ft,ht=n(4750),mt=(0,ht.Z)((0,ie.tZ)("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),vt=(0,ht.Z)((0,ie.tZ)("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),gt=(0,ht.Z)((0,ie.tZ)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),yt=(0,ht.Z)((0,ie.tZ)("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),bt=(0,ht.Z)((0,ie.tZ)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),xt=["action","children","className","closeText","color","icon","iconMapping","onClose","role","severity","variant"],Zt=(0,J.ZP)(ce,{name:"MuiAlert",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,te.Z)(n.color||n.severity))]]}})((function(e){var t=e.theme,n=e.ownerState,r="light"===t.palette.mode?Q._j:Q.$n,i="light"===t.palette.mode?Q.$n:Q._j,a=n.color||n.severity;return(0,o.Z)({},t.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px"},a&&"standard"===n.variant&&(0,q.Z)({color:r(t.palette[a].light,.6),backgroundColor:i(t.palette[a].light,.9)},"& .".concat(fe.icon),{color:"dark"===t.palette.mode?t.palette[a].main:t.palette[a].light}),a&&"outlined"===n.variant&&(0,q.Z)({color:r(t.palette[a].light,.6),border:"1px solid ".concat(t.palette[a].light)},"& .".concat(fe.icon),{color:"dark"===t.palette.mode?t.palette[a].main:t.palette[a].light}),a&&"filled"===n.variant&&{color:"#fff",fontWeight:t.typography.fontWeightMedium,backgroundColor:"dark"===t.palette.mode?t.palette[a].dark:t.palette[a].main})})),wt=(0,J.ZP)("div",{name:"MuiAlert",slot:"Icon",overridesResolver:function(e,t){return t.icon}})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),Dt=(0,J.ZP)("div",{name:"MuiAlert",slot:"Message",overridesResolver:function(e,t){return t.message}})({padding:"8px 0"}),kt=(0,J.ZP)("div",{name:"MuiAlert",slot:"Action",overridesResolver:function(e,t){return t.action}})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),St={success:(0,ie.tZ)(mt,{fontSize:"inherit"}),warning:(0,ie.tZ)(vt,{fontSize:"inherit"}),error:(0,ie.tZ)(gt,{fontSize:"inherit"}),info:(0,ie.tZ)(yt,{fontSize:"inherit"})},Ct=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiAlert"}),r=n.action,i=n.children,a=n.className,u=n.closeText,l=void 0===u?"Close":u,s=n.color,c=n.icon,d=n.iconMapping,f=void 0===d?St:d,p=n.onClose,h=n.role,m=void 0===h?"alert":h,v=n.severity,g=void 0===v?"success":v,y=n.variant,b=void 0===y?"standard":y,x=(0,X.Z)(n,xt),Z=(0,o.Z)({},n,{color:s,severity:g,variant:b}),w=function(e){var t=e.variant,n=e.color,r=e.severity,o=e.classes,i={root:["root","".concat(t).concat((0,te.Z)(n||r)),"".concat(t)],icon:["icon"],message:["message"],action:["action"]};return(0,K.Z)(i,de,o)}(Z);return(0,ie.BX)(Zt,(0,o.Z)({role:m,elevation:0,ownerState:Z,className:(0,G.Z)(w.root,a),ref:t},x,{children:[!1!==c?(0,ie.tZ)(wt,{ownerState:Z,className:w.icon,children:c||f[g]||St[g]}):null,(0,ie.tZ)(Dt,{ownerState:Z,className:w.message,children:i}),null!=r?(0,ie.tZ)(kt,{className:w.action,children:r}):null,null==r&&p?(0,ie.tZ)(kt,{ownerState:Z,className:w.action,children:(0,ie.tZ)(pt,{size:"small","aria-label":l,title:l,color:"inherit",onClick:p,children:lt||(lt=(0,ie.tZ)(bt,{fontSize:"small"}))})}):null]}))})),_t=Ct,Et=n(7472),At=n(2780),Mt=n(9081);function Tt(e){return e.substring(2).toLowerCase()}var Pt=function(e){var n=e.children,r=e.disableReactTree,o=void 0!==r&&r,i=e.mouseEvent,a=void 0===i?"onClick":i,u=e.onClickAway,l=e.touchEvent,s=void 0===l?"onTouchEnd":l,c=t.useRef(!1),d=t.useRef(null),f=t.useRef(!1),p=t.useRef(!1);t.useEffect((function(){return setTimeout((function(){f.current=!0}),0),function(){f.current=!1}}),[]);var h=(0,Et.Z)(n.ref,d),m=(0,At.Z)((function(e){var t=p.current;p.current=!1;var n=(0,Mt.Z)(d.current);!f.current||!d.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!n.documentElement.contains(e.target)||d.current.contains(e.target))||!o&&t||u(e))})),v=function(e){return function(t){p.current=!0;var r=n.props[e];r&&r(t)}},g={ref:h};return!1!==s&&(g[s]=v(s)),t.useEffect((function(){if(!1!==s){var e=Tt(s),t=(0,Mt.Z)(d.current),n=function(){c.current=!0};return t.addEventListener(e,m),t.addEventListener("touchmove",n),function(){t.removeEventListener(e,m),t.removeEventListener("touchmove",n)}}}),[m,s]),!1!==a&&(g[a]=v(a)),t.useEffect((function(){if(!1!==a){var e=Tt(a),t=(0,Mt.Z)(d.current);return t.addEventListener(e,m),function(){t.removeEventListener(e,m)}}}),[m,a]),(0,ie.tZ)(t.Fragment,{children:t.cloneElement(n,g)})},Rt=n(6728),Ft=n(2248);function Ot(){return(0,Rt.Z)(Ft.Z)}var Bt=!1,It="unmounted",Lt="exited",Nt="entering",zt="entered",jt="exiting",Wt=function(e){function n(t,n){var r;r=e.call(this,t,n)||this;var o,i=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?i?(o=Lt,r.appearStatus=Nt):o=zt:o=t.unmountOnExit||t.mountOnEnter?It:Lt,r.state={status:o},r.nextCallback=null,r}xe(n,e),n.getDerivedStateFromProps=function(e,t){return e.in&&t.status===It?{status:Lt}:null};var r=n.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==Nt&&n!==zt&&(t=Nt):n!==Nt&&n!==zt||(t=jt)}this.updateStatus(!1,t)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!==typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},r.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),t===Nt?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&this.state.status===Lt&&this.setState({status:It})},r.performEnter=function(e){var n=this,r=this.props.enter,o=this.context?this.context.isMounting:e,i=this.props.nodeRef?[o]:[t.default.findDOMNode(this),o],a=i[0],u=i[1],l=this.getTimeouts(),s=o?l.appear:l.enter;!e&&!r||Bt?this.safeSetState({status:zt},(function(){n.props.onEntered(a)})):(this.props.onEnter(a,u),this.safeSetState({status:Nt},(function(){n.props.onEntering(a,u),n.onTransitionEnd(s,(function(){n.safeSetState({status:zt},(function(){n.props.onEntered(a,u)}))}))})))},r.performExit=function(){var e=this,n=this.props.exit,r=this.getTimeouts(),o=this.props.nodeRef?void 0:t.default.findDOMNode(this);n&&!Bt?(this.props.onExit(o),this.safeSetState({status:jt},(function(){e.props.onExiting(o),e.onTransitionEnd(r.exit,(function(){e.safeSetState({status:Lt},(function(){e.props.onExited(o)}))}))}))):this.safeSetState({status:Lt},(function(){e.props.onExited(o)}))},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},r.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},r.onTransitionEnd=function(e,n){this.setNextCallback(n);var r=this.props.nodeRef?this.props.nodeRef.current:t.default.findDOMNode(this),o=null==e&&!this.props.addEndListener;if(r&&!o){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[r,this.nextCallback],a=i[0],u=i[1];this.props.addEndListener(a,u)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},r.render=function(){var e=this.state.status;if(e===It)return null;var n=this.props,r=n.children,o=(n.in,n.mountOnEnter,n.unmountOnExit,n.appear,n.enter,n.exit,n.timeout,n.addEndListener,n.onEnter,n.onEntering,n.onEntered,n.onExit,n.onExiting,n.onExited,n.nodeRef,(0,X.Z)(n,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return t.default.createElement(Ze.Provider,{value:null},"function"===typeof r?r(e,o):t.default.cloneElement(t.default.Children.only(r),o))},n}(t.default.Component);function $t(){}Wt.contextType=Ze,Wt.propTypes={},Wt.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:$t,onEntering:$t,onEntered:$t,onExit:$t,onExiting:$t,onExited:$t},Wt.UNMOUNTED=It,Wt.EXITED=Lt,Wt.ENTERING=Nt,Wt.ENTERED=zt,Wt.EXITING=jt;var Ht=Wt,Yt=function(e){return e.scrollTop};function Vt(e,t){var n,r,o=e.timeout,i=e.easing,a=e.style,u=void 0===a?{}:a;return{duration:null!=(n=u.transitionDuration)?n:"number"===typeof o?o:o[t.mode]||0,easing:null!=(r=u.transitionTimingFunction)?r:"object"===typeof i?i[t.mode]:i,delay:u.transitionDelay}}var Ut=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function qt(e){return"scale(".concat(e,", ").concat(Math.pow(e,2),")")}var Xt={entering:{opacity:1,transform:qt(1)},entered:{opacity:1,transform:"none"}},Gt="undefined"!==typeof navigator&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)[4-9]/i.test(navigator.userAgent),Kt=t.forwardRef((function(e,n){var r=e.addEndListener,i=e.appear,a=void 0===i||i,u=e.children,l=e.easing,s=e.in,c=e.onEnter,d=e.onEntered,f=e.onEntering,p=e.onExit,h=e.onExited,m=e.onExiting,v=e.style,g=e.timeout,y=void 0===g?"auto":g,b=e.TransitionComponent,x=void 0===b?Ht:b,Z=(0,X.Z)(e,Ut),w=t.useRef(),D=t.useRef(),k=Ot(),S=t.useRef(null),C=(0,pe.Z)(u.ref,n),_=(0,pe.Z)(S,C),E=function(e){return function(t){if(e){var n=S.current;void 0===t?e(n):e(n,t)}}},A=E(f),M=E((function(e,t){Yt(e);var n,r=Vt({style:v,timeout:y,easing:l},{mode:"enter"}),o=r.duration,i=r.delay,a=r.easing;"auto"===y?(n=k.transitions.getAutoHeightDuration(e.clientHeight),D.current=n):n=o,e.style.transition=[k.transitions.create("opacity",{duration:n,delay:i}),k.transitions.create("transform",{duration:Gt?n:.666*n,delay:i,easing:a})].join(","),c&&c(e,t)})),T=E(d),P=E(m),R=E((function(e){var t,n=Vt({style:v,timeout:y,easing:l},{mode:"exit"}),r=n.duration,o=n.delay,i=n.easing;"auto"===y?(t=k.transitions.getAutoHeightDuration(e.clientHeight),D.current=t):t=r,e.style.transition=[k.transitions.create("opacity",{duration:t,delay:o}),k.transitions.create("transform",{duration:Gt?t:.666*t,delay:Gt?o:o||.333*t,easing:i})].join(","),e.style.opacity=0,e.style.transform=qt(.75),p&&p(e)})),F=E(h);return t.useEffect((function(){return function(){clearTimeout(w.current)}}),[]),(0,ie.tZ)(x,(0,o.Z)({appear:a,in:s,nodeRef:S,onEnter:M,onEntered:T,onEntering:A,onExit:R,onExited:F,onExiting:P,addEndListener:function(e){"auto"===y&&(w.current=setTimeout(e,D.current||0)),r&&r(S.current,e)},timeout:"auto"===y?null:y},Z,{children:function(e,n){return t.cloneElement(u,(0,o.Z)({style:(0,o.Z)({opacity:0,transform:qt(.75),visibility:"exited"!==e||s?void 0:"hidden"},Xt[e],v,u.props.style),ref:_},n))}}))}));Kt.muiSupportAuto=!0;var Qt=Kt;function Jt(e){return(0,ne.Z)("MuiSnackbarContent",e)}(0,re.Z)("MuiSnackbarContent",["root","message","action"]);var en=["action","className","message","role"],tn=(0,J.ZP)(ce,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){var t=e.theme,n="light"===t.palette.mode?.8:.98,r=(0,Q._4)(t.palette.background.default,n);return(0,o.Z)({},t.typography.body2,(0,q.Z)({color:t.palette.getContrastText(r),backgroundColor:r,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:t.shape.borderRadius,flexGrow:1},t.breakpoints.up("sm"),{flexGrow:"initial",minWidth:288}))})),nn=(0,J.ZP)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:function(e,t){return t.message}})({padding:"8px 0"}),rn=(0,J.ZP)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:function(e,t){return t.action}})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),on=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiSnackbarContent"}),r=n.action,i=n.className,a=n.message,u=n.role,l=void 0===u?"alert":u,s=(0,X.Z)(n,en),c=n,d=function(e){var t=e.classes;return(0,K.Z)({root:["root"],action:["action"],message:["message"]},Jt,t)}(c);return(0,ie.BX)(tn,(0,o.Z)({role:l,square:!0,elevation:6,className:(0,G.Z)(d.root,i),ownerState:c,ref:t},s,{children:[(0,ie.tZ)(nn,{className:d.message,ownerState:c,children:a}),r?(0,ie.tZ)(rn,{className:d.action,ownerState:c,children:r}):null]}))})),an=on;function un(e){return(0,ne.Z)("MuiSnackbar",e)}(0,re.Z)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);var ln=["onEnter","onExited"],sn=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],cn=(0,J.ZP)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["anchorOrigin".concat((0,te.Z)(n.anchorOrigin.vertical)).concat((0,te.Z)(n.anchorOrigin.horizontal))]]}})((function(e){var t=e.theme,n=e.ownerState,r=(0,o.Z)({},!n.isRtl&&{left:"50%",right:"auto",transform:"translateX(-50%)"},n.isRtl&&{right:"50%",left:"auto",transform:"translateX(50%)"});return(0,o.Z)({zIndex:t.zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},"top"===n.anchorOrigin.vertical?{top:8}:{bottom:8},"left"===n.anchorOrigin.horizontal&&{justifyContent:"flex-start"},"right"===n.anchorOrigin.horizontal&&{justifyContent:"flex-end"},(0,q.Z)({},t.breakpoints.up("sm"),(0,o.Z)({},"top"===n.anchorOrigin.vertical?{top:24}:{bottom:24},"center"===n.anchorOrigin.horizontal&&r,"left"===n.anchorOrigin.horizontal&&(0,o.Z)({},!n.isRtl&&{left:24,right:"auto"},n.isRtl&&{right:24,left:"auto"}),"right"===n.anchorOrigin.horizontal&&(0,o.Z)({},!n.isRtl&&{right:24,left:"auto"},n.isRtl&&{left:24,right:"auto"}))))})),dn=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiSnackbar"}),a=Ot(),u={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},l=i.action,s=i.anchorOrigin,c=(s=void 0===s?{vertical:"bottom",horizontal:"left"}:s).vertical,d=s.horizontal,f=i.autoHideDuration,p=void 0===f?null:f,h=i.children,m=i.className,v=i.ClickAwayListenerProps,g=i.ContentProps,y=i.disableWindowBlurListener,b=void 0!==y&&y,x=i.message,Z=i.onBlur,w=i.onClose,D=i.onFocus,k=i.onMouseEnter,S=i.onMouseLeave,C=i.open,_=i.resumeHideDuration,E=i.TransitionComponent,A=void 0===E?Qt:E,M=i.transitionDuration,T=void 0===M?u:M,P=i.TransitionProps,R=(P=void 0===P?{}:P).onEnter,F=P.onExited,O=(0,X.Z)(i.TransitionProps,ln),B=(0,X.Z)(i,sn),I="rtl"===a.direction,L=(0,o.Z)({},i,{anchorOrigin:{vertical:c,horizontal:d},isRtl:I}),N=function(e){var t=e.classes,n=e.anchorOrigin,r={root:["root","anchorOrigin".concat((0,te.Z)(n.vertical)).concat((0,te.Z)(n.horizontal))]};return(0,K.Z)(r,un,t)}(L),z=t.useRef(),j=t.useState(!0),W=(0,r.Z)(j,2),$=W[0],H=W[1],Y=(0,he.Z)((function(){w&&w.apply(void 0,arguments)})),V=(0,he.Z)((function(e){w&&null!=e&&(clearTimeout(z.current),z.current=setTimeout((function(){Y(null,"timeout")}),e))}));t.useEffect((function(){return C&&V(p),function(){clearTimeout(z.current)}}),[C,p,V]);var U=function(){clearTimeout(z.current)},q=t.useCallback((function(){null!=p&&V(null!=_?_:.5*p)}),[p,_,V]);return t.useEffect((function(){if(!b&&C)return window.addEventListener("focus",q),window.addEventListener("blur",U),function(){window.removeEventListener("focus",q),window.removeEventListener("blur",U)}}),[b,q,C]),t.useEffect((function(){if(C)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){e.defaultPrevented||"Escape"!==e.key&&"Esc"!==e.key||w&&w(e,"escapeKeyDown")}}),[$,C,w]),!C&&$?null:(0,ie.tZ)(Pt,(0,o.Z)({onClickAway:function(e){w&&w(e,"clickaway")}},v,{children:(0,ie.tZ)(cn,(0,o.Z)({className:(0,G.Z)(N.root,m),onBlur:function(e){Z&&Z(e),q()},onFocus:function(e){D&&D(e),U()},onMouseEnter:function(e){k&&k(e),U()},onMouseLeave:function(e){S&&S(e),q()},ownerState:L,ref:n,role:"presentation"},B,{children:(0,ie.tZ)(A,(0,o.Z)({appear:!0,in:C,timeout:T,direction:"top"===c?"down":"up",onEnter:function(e,t){H(!1),R&&R(e,t)},onExited:function(e){H(!0),F&&F(e)}},O,{children:h||(0,ie.tZ)(an,(0,o.Z)({message:x,action:l},g))}))}))}))})),fn=dn,pn=(0,t.createContext)({showInfoMessage:function(){}}),hn=function(e){var n=e.children,o=(0,t.useState)({}),i=(0,r.Z)(o,2),a=i[0],u=i[1],l=(0,t.useState)(!1),s=(0,r.Z)(l,2),c=s[0],d=s[1],f=(0,t.useState)(void 0),p=(0,r.Z)(f,2),h=p[0],m=p[1];(0,t.useEffect)((function(){h&&(u({message:h,key:(new Date).getTime()}),d(!0))}),[h]);return(0,ie.BX)(pn.Provider,{value:{showInfoMessage:m},children:[(0,ie.tZ)(fn,{open:c,autoHideDuration:4e3,onClose:function(e,t){"clickaway"!==t&&(m(void 0),d(!1))},children:(0,ie.tZ)(_t,{children:a.message})},a.key),n]})};function mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vn(e){for(var t=1;t0?gn="default":(e.scrollLeft=1,0===e.scrollLeft&&(gn="negative")),document.body.removeChild(e),gn}function Dn(e,t){var n=e.scrollLeft;if("rtl"!==t)return n;switch(wn()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}function kn(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function Sn(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},i=r.ease,a=void 0===i?kn:i,u=r.duration,l=void 0===u?300:u,s=null,c=t[e],d=!1,f=function(){d=!0},p=function r(i){if(d)o(new Error("Animation cancelled"));else{null===s&&(s=i);var u=Math.min(1,(i-s)/l);t[e]=a(u)*(n-c)+c,u>=1?requestAnimationFrame((function(){o(null)})):requestAnimationFrame(r)}};return c===n?(o(new Error("Element already at target position")),f):(requestAnimationFrame(p),f)}var Cn=n(3533),_n=["onChange"],En={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};var An=(0,ht.Z)((0,ie.tZ)("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),Mn=(0,ht.Z)((0,ie.tZ)("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");function Tn(e){return(0,ne.Z)("MuiTabScrollButton",e)}var Pn,Rn,Fn=(0,re.Z)("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),On=["className","direction","orientation","disabled"],Bn=(0,J.ZP)(at,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.orientation&&t[n.orientation]]}})((function(e){var t=e.ownerState;return(0,o.Z)((0,q.Z)({width:40,flexShrink:0,opacity:.8},"&.".concat(Fn.disabled),{opacity:0}),"vertical"===t.orientation&&{width:"100%",height:40,"& svg":{transform:"rotate(".concat(t.isRtl?-90:90,"deg)")}})})),In=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTabScrollButton"}),r=n.className,i=n.direction,a=(0,X.Z)(n,On),u="rtl"===Ot().direction,l=(0,o.Z)({isRtl:u},n),s=function(e){var t=e.classes,n={root:["root",e.orientation,e.disabled&&"disabled"]};return(0,K.Z)(n,Tn,t)}(l);return(0,ie.tZ)(Bn,(0,o.Z)({component:"div",className:(0,G.Z)(s.root,r),ref:t,role:null,ownerState:l,tabIndex:null},a,{children:"left"===i?Pn||(Pn=(0,ie.tZ)(An,{fontSize:"small"})):Rn||(Rn=(0,ie.tZ)(Mn,{fontSize:"small"}))}))})),Ln=In;function Nn(e){return(0,ne.Z)("MuiTabs",e)}var zn=(0,re.Z)("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),jn=n(6106),Wn=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],$n=function(e,t){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild},Hn=function(e,t){return e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild},Yn=function(e,t,n){for(var r=!1,o=n(e,t);o;){if(o===e.firstChild){if(r)return;r=!0}var i=o.disabled||"true"===o.getAttribute("aria-disabled");if(o.hasAttribute("tabindex")&&!i)return void o.focus();o=n(e,o)}},Vn=(0,J.ZP)("div",{name:"MuiTabs",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(zn.scrollButtons),t.scrollButtons),(0,q.Z)({},"& .".concat(zn.scrollButtons),n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile),t.root,n.vertical&&t.vertical]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},t.vertical&&{flexDirection:"column"},t.scrollButtonsHideMobile&&(0,q.Z)({},"& .".concat(zn.scrollButtons),(0,q.Z)({},n.breakpoints.down("sm"),{display:"none"})))})),Un=(0,J.ZP)("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:function(e,t){var n=e.ownerState;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},t.fixed&&{overflowX:"hidden",width:"100%"},t.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},t.scrollableX&&{overflowX:"auto",overflowY:"hidden"},t.scrollableY&&{overflowY:"auto",overflowX:"hidden"})})),qn=(0,J.ZP)("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:function(e,t){var n=e.ownerState;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex"},t.vertical&&{flexDirection:"column"},t.centered&&{justifyContent:"center"})})),Xn=(0,J.ZP)("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:function(e,t){return t.indicator}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({position:"absolute",height:2,bottom:0,width:"100%",transition:n.transitions.create()},"primary"===t.indicatorColor&&{backgroundColor:n.palette.primary.main},"secondary"===t.indicatorColor&&{backgroundColor:n.palette.secondary.main},t.vertical&&{height:"100%",width:2,right:0})})),Gn=(0,J.ZP)((function(e){var n=e.onChange,r=(0,X.Z)(e,_n),i=t.useRef(),a=t.useRef(null),u=function(){i.current=a.current.offsetHeight-a.current.clientHeight};return t.useEffect((function(){var e=(0,Zn.Z)((function(){var e=i.current;u(),e!==i.current&&n(i.current)})),t=(0,Cn.Z)(a.current);return t.addEventListener("resize",e),function(){e.clear(),t.removeEventListener("resize",e)}}),[n]),t.useEffect((function(){u(),n(i.current)}),[n]),(0,ie.tZ)("div",(0,o.Z)({style:En,ref:a},r))}),{name:"MuiTabs",slot:"ScrollbarSize"})({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),Kn={},Qn=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiTabs"}),a=Ot(),u="rtl"===a.direction,l=i["aria-label"],s=i["aria-labelledby"],c=i.action,d=i.centered,f=void 0!==d&&d,p=i.children,h=i.className,m=i.component,v=void 0===m?"div":m,g=i.allowScrollButtonsMobile,y=void 0!==g&&g,b=i.indicatorColor,x=void 0===b?"primary":b,Z=i.onChange,w=i.orientation,D=void 0===w?"horizontal":w,k=i.ScrollButtonComponent,S=void 0===k?Ln:k,C=i.scrollButtons,_=void 0===C?"auto":C,E=i.selectionFollowsFocus,A=i.TabIndicatorProps,M=void 0===A?{}:A,T=i.TabScrollButtonProps,P=void 0===T?{}:T,R=i.textColor,F=void 0===R?"primary":R,O=i.value,B=i.variant,I=void 0===B?"standard":B,L=i.visibleScrollbar,N=void 0!==L&&L,z=(0,X.Z)(i,Wn),j="scrollable"===I,W="vertical"===D,$=W?"scrollTop":"scrollLeft",H=W?"top":"left",Y=W?"bottom":"right",V=W?"clientHeight":"clientWidth",U=W?"height":"width",Q=(0,o.Z)({},i,{component:v,allowScrollButtonsMobile:y,indicatorColor:x,orientation:D,vertical:W,scrollButtons:_,textColor:F,variant:I,visibleScrollbar:N,fixed:!j,hideScrollbar:j&&!N,scrollableX:j&&!W,scrollableY:j&&W,centered:f&&!j,scrollButtonsHideMobile:!y}),J=function(e){var t=e.vertical,n=e.fixed,r=e.hideScrollbar,o=e.scrollableX,i=e.scrollableY,a=e.centered,u=e.scrollButtonsHideMobile,l=e.classes,s={root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",r&&"hideScrollbar",o&&"scrollableX",i&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",a&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",u&&"scrollButtonsHideMobile"],scrollableX:[o&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]};return(0,K.Z)(s,Nn,l)}(Q);var te=t.useState(!1),ne=(0,r.Z)(te,2),re=ne[0],oe=ne[1],ae=t.useState(Kn),ue=(0,r.Z)(ae,2),le=ue[0],se=ue[1],ce=t.useState({start:!1,end:!1}),de=(0,r.Z)(ce,2),fe=de[0],pe=de[1],me=t.useState({overflow:"hidden",scrollbarWidth:0}),ve=(0,r.Z)(me,2),ge=ve[0],ye=ve[1],be=new Map,xe=t.useRef(null),Ze=t.useRef(null),we=function(){var e,t,n=xe.current;if(n){var r=n.getBoundingClientRect();e={clientWidth:n.clientWidth,scrollLeft:n.scrollLeft,scrollTop:n.scrollTop,scrollLeftNormalized:Dn(n,a.direction),scrollWidth:n.scrollWidth,top:r.top,bottom:r.bottom,left:r.left,right:r.right}}if(n&&!1!==O){var o=Ze.current.children;if(o.length>0){var i=o[be.get(O)];0,t=i?i.getBoundingClientRect():null}}return{tabsMeta:e,tabMeta:t}},De=(0,he.Z)((function(){var e,t,n=we(),r=n.tabsMeta,o=n.tabMeta,i=0;if(W)t="top",o&&r&&(i=o.top-r.top+r.scrollTop);else if(t=u?"right":"left",o&&r){var a=u?r.scrollLeftNormalized+r.clientWidth-r.scrollWidth:r.scrollLeft;i=(u?-1:1)*(o[t]-r[t]+a)}var l=(e={},(0,q.Z)(e,t,i),(0,q.Z)(e,U,o?o[U]:0),e);if(isNaN(le[t])||isNaN(le[U]))se(l);else{var s=Math.abs(le[t]-l[t]),c=Math.abs(le[U]-l[U]);(s>=1||c>=1)&&se(l)}})),ke=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.animation,r=void 0===n||n;r?Sn($,xe.current,e,{duration:a.transitions.duration.standard}):xe.current[$]=e},Se=function(e){var t=xe.current[$];W?t+=e:(t+=e*(u?-1:1),t*=u&&"reverse"===wn()?-1:1),ke(t)},Ce=function(){for(var e=xe.current[V],t=0,n=Array.from(Ze.current.children),r=0;re)break;t+=o[V]}return t},_e=function(){Se(-1*Ce())},Ee=function(){Se(Ce())},Ae=t.useCallback((function(e){ye({overflow:null,scrollbarWidth:e})}),[]),Me=(0,he.Z)((function(e){var t=we(),n=t.tabsMeta,r=t.tabMeta;if(r&&n)if(r[H]n[Y]){var i=n[$]+(r[Y]-n[Y]);ke(i,{animation:e})}})),Te=(0,he.Z)((function(){if(j&&!1!==_){var e,t,n=xe.current,r=n.scrollTop,o=n.scrollHeight,i=n.clientHeight,l=n.scrollWidth,s=n.clientWidth;if(W)e=r>1,t=r1,t=u?c>1:c .".concat(nr.iconWrapper),(0,o.Z)({},"top"===a.iconPosition&&{marginBottom:6},"bottom"===a.iconPosition&&{marginTop:6},"start"===a.iconPosition&&{marginRight:i.spacing(1)},"end"===a.iconPosition&&{marginLeft:i.spacing(1)})),"inherit"===a.textColor&&(t={color:"inherit",opacity:.6},(0,q.Z)(t,"&.".concat(nr.selected),{opacity:1}),(0,q.Z)(t,"&.".concat(nr.disabled),{opacity:i.palette.action.disabledOpacity}),t),"primary"===a.textColor&&(n={color:i.palette.text.secondary},(0,q.Z)(n,"&.".concat(nr.selected),{color:i.palette.primary.main}),(0,q.Z)(n,"&.".concat(nr.disabled),{color:i.palette.text.disabled}),n),"secondary"===a.textColor&&(r={color:i.palette.text.secondary},(0,q.Z)(r,"&.".concat(nr.selected),{color:i.palette.secondary.main}),(0,q.Z)(r,"&.".concat(nr.disabled),{color:i.palette.text.disabled}),r),a.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},a.wrapped&&{fontSize:i.typography.pxToRem(12)})})),ir=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiTab"}),i=r.className,a=r.disabled,u=void 0!==a&&a,l=r.disableFocusRipple,s=void 0!==l&&l,c=r.fullWidth,d=r.icon,f=r.iconPosition,p=void 0===f?"top":f,h=r.indicator,m=r.label,v=r.onChange,g=r.onClick,y=r.onFocus,b=r.selected,x=r.selectionFollowsFocus,Z=r.textColor,w=void 0===Z?"inherit":Z,D=r.value,k=r.wrapped,S=void 0!==k&&k,C=(0,X.Z)(r,rr),_=(0,o.Z)({},r,{disabled:u,disableFocusRipple:s,selected:b,icon:!!d,iconPosition:p,label:!!m,fullWidth:c,textColor:w,wrapped:S}),E=function(e){var t=e.classes,n=e.textColor,r=e.fullWidth,o=e.wrapped,i=e.icon,a=e.label,u=e.selected,l=e.disabled,s={root:["root",i&&a&&"labelIcon","textColor".concat((0,te.Z)(n)),r&&"fullWidth",o&&"wrapped",u&&"selected",l&&"disabled"],iconWrapper:["iconWrapper"]};return(0,K.Z)(s,er,t)}(_),A=d&&m&&t.isValidElement(d)?t.cloneElement(d,{className:(0,G.Z)(E.iconWrapper,d.props.className)}):d;return(0,ie.BX)(or,(0,o.Z)({focusRipple:!s,className:(0,G.Z)(E.root,i),ref:n,role:"tab","aria-selected":b,disabled:u,onClick:function(e){!b&&v&&v(e,D),g&&g(e)},onFocus:function(e){x&&!b&&v&&v(e,D),y&&y(e)},ownerState:_,tabIndex:b?0:-1},C,{children:["top"===p||"start"===p?(0,ie.BX)(t.Fragment,{children:[A,m]}):(0,ie.BX)(t.Fragment,{children:[m,A]}),h]}))})),ar=ir,ur=[{value:"chart",icon:(0,ie.tZ)(bn.Z,{}),label:"Graph",prometheusCode:0},{value:"code",icon:(0,ie.tZ)(xn.Z,{}),label:"JSON"},{value:"table",icon:(0,ie.tZ)(yn.Z,{}),label:"Table",prometheusCode:1}],lr=function(){var e=no().displayType,t=ro();return(0,ie.tZ)(Jn,{value:e,onChange:function(n,r){t({type:"SET_DISPLAY_TYPE",payload:null!==r&&void 0!==r?r:e})},sx:{minHeight:"0",marginBottom:"-1px"},children:ur.map((function(e){return(0,ie.tZ)(ar,{icon:e.icon,iconPosition:"start",label:e.label,value:e.value,sx:{minHeight:"41px"}},e.value)}))})},sr=n(658),cr=n.n(sr),dr=n(6446),fr=n.n(dr),pr=n(1635),hr=n.n(pr),mr=n(4776),vr=n.n(mr),gr=n(4007),yr=n.n(gr),br="/",xr="/dashboards",Zr={"time.duration":"range_input","time.period.date":"end_input","time.period.step":"step_input","time.relativeTime":"relative_time",displayType:"tab"},wr=(tr={},(0,q.Z)(tr,br,Zr),(0,q.Z)(tr,xr,Zr),tr),Dr=function(e){var t=window;if(t){var n=e?"?".concat(e):"",r="".concat(t.location.protocol,"//").concat(t.location.host).concat(t.location.pathname).concat(n).concat(t.location.hash);t.history.pushState({path:r},"",r)}},kr=function(e,t){var n=yr()(e,"query",[]),r=[];return n.forEach((function(n,o){t.forEach((function(t,n){var i=yr()(e,n,"");if(i){var a=encodeURIComponent(i);r.push("g".concat(o,".").concat(t,"=").concat(a))}})),r.push("g".concat(o,".expr=").concat(encodeURIComponent(n)))})),r},Sr=function(e,t){var n=[];return t.forEach((function(t,r){var o=yr()(e,r,"");if(o){var i=encodeURIComponent(o);n.push("".concat(t,"=").concat(i))}})),n},Cr=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:window.location.search,r=vr().parse(n,{ignoreQueryPrefix:!0});return yr()(r,e,t||"")};cr().extend(fr()),cr().extend(hr());var _r,Er=window.innerWidth/4,Ar=1,Mr=1578e8,Tr="YYYY-MM-DD[T]HH:mm:ss",Pr=[{long:"days",short:"d",possible:"day"},{long:"weeks",short:"w",possible:"week"},{long:"months",short:"M",possible:"mon"},{long:"years",short:"y",possible:"year"},{long:"hours",short:"h",possible:"hour"},{long:"minutes",short:"m",possible:"min"},{long:"seconds",short:"s",possible:"sec"},{long:"milliseconds",short:"ms",possible:"millisecond"}].map((function(e){return e.short})),Rr=function(e){return Math.round(1e3*e)/1e3},Fr=function(e){var t=e.match(/\d+/g),n=e.match(/[a-zA-Z]+/g);if(n&&t&&Pr.includes(n[0]))return(0,q.Z)({},n[0],t[0])},Or=function(e,t){var n=(t||new Date).valueOf()/1e3,r=e.trim().split(" ").reduce((function(e,t){var n=Fr(t);return n?vn(vn({},e),n):vn({},e)}),{}),o=cr().duration(r).asSeconds();return{start:n-o,end:n,step:Rr(o/Er)||.001,date:Br(t||new Date)}},Br=function(e){return cr()(e).utc().format(Tr)},Ir=function(e){return cr()(e).format(Tr)},Lr=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),o=Math.floor(e/1e3/3600%24),i=Math.floor(e/864e5),a=["d","h","m","s","ms"];return[i,o,r,n,t].map((function(e,t){return e?"".concat(e).concat(a[t]):""})).filter((function(e){return e})).join(" ")},Nr=function(e){return new Date(1e3*e)},zr=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m"},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:function(){return cr()().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return cr()().endOf("day").toDate()}}].map((function(e){return vn({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return cr()().toDate()}},e)})),jr=function(e){var t=e.relativeTimeId,n=e.defaultDuration,r=e.defaultEndInput,o=t||Cr("g0.relative_time",""),i=zr.find((function(e){return e.id===o}));return{relativeTimeId:o,duration:i?i.duration:n,endInput:i?i.until():r}},Wr=function(e,t){t?window.localStorage.setItem(e,JSON.stringify({value:t})):Hr([e])},$r=function(e){var t=window.localStorage.getItem(e);if(null!==t)try{var n;return null===(n=JSON.parse(t))||void 0===n?void 0:n.value}catch(r){return t}},Hr=function(e){return e.forEach((function(e){return window.localStorage.removeItem(e)}))},Yr=["BASIC_AUTH_DATA","BEARER_AUTH_DATA"],Vr=jr({defaultDuration:Cr("g0.range_input","1h"),defaultEndInput:new Date((_r=Cr("g0.end_input",new Date(cr()().utc().format(Tr))),cr()(_r).utcOffset(0,!0).local().format(Tr)))}),Ur=Vr.duration,qr=Vr.endInput,Xr=Vr.relativeTimeId,Gr=function(){var e,t=(null===(e=window.location.search.match(/g\d+.expr/gim))||void 0===e?void 0:e.length)||1;return new Array(t).fill(1).map((function(e,t){return Cr("g".concat(t,".expr"),"")}))}(),Kr=Cr("g0.tab",0),Qr=ur.find((function(e){return e.prometheusCode===Kr||e.value===Kr})),Jr={serverUrl:window.location.href.replace(/\/(?:prometheus\/)?(?:graph|vmui)\/.*/,"/prometheus"),displayType:(null===Qr||void 0===Qr?void 0:Qr.value)||"chart",query:Gr,queryHistory:Gr.map((function(e){return{index:0,values:[e]}})),time:{duration:Ur,period:Or(Ur,qr),relativeTime:Xr},queryControls:{autoRefresh:!1,autocomplete:$r("AUTOCOMPLETE")||!1,nocache:$r("NO_CACHE")||!1}};function eo(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return vn(vn({},e),{},{displayType:t.payload});case"SET_SERVER":return vn(vn({},e),{},{serverUrl:t.payload});case"SET_QUERY":return vn(vn({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return vn(vn({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),vn(vn({},e),{},{queryHistory:e.queryHistory});case"SET_DURATION":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{duration:t.payload,period:Or(t.payload,Nr(e.time.period.end)),relativeTime:""})});case"SET_RELATIVE_TIME":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Or(t.payload.duration,new Date(t.payload.until)),relativeTime:t.payload.id})});case"SET_UNTIL":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Or(e.time.duration,t.payload),relativeTime:""})});case"SET_FROM":var n=Lr(1e3*e.time.period.end-t.payload.valueOf());return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autoRefresh:!1}),time:vn(vn({},e.time),{},{duration:n,period:Or(n,cr()(1e3*e.time.period.end).toDate()),relativeTime:""})});case"SET_PERIOD":var r=function(e){var t=e.to.valueOf()-e.from.valueOf();return Lr(t)}(t.payload);return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autoRefresh:!1}),time:vn(vn({},e.time),{},{duration:r,period:Or(r,t.payload.to),relativeTime:""})});case"TOGGLE_AUTOREFRESH":return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autoRefresh:!e.queryControls.autoRefresh})});case"TOGGLE_AUTOCOMPLETE":return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autocomplete:!e.queryControls.autocomplete})});case"NO_CACHE":return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{nocache:!e.queryControls.nocache})});case"RUN_QUERY":var o=jr({relativeTimeId:e.time.relativeTime,defaultDuration:e.time.duration,defaultEndInput:Nr(e.time.period.end)}),i=o.duration,a=o.endInput;return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Or(i,a)})});case"RUN_QUERY_TO_NOW":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Or(e.time.duration)})});default:throw new Error}}var to=(0,t.createContext)({}),no=function(){return(0,t.useContext)(to).state},ro=function(){return(0,t.useContext)(to).dispatch},oo=Object.entries(Jr).reduce((function(e,t){var n=(0,r.Z)(t,2),o=n[0],i=n[1];return vn(vn({},e),{},(0,q.Z)({},o,Cr(o)||i))}),{}),io=function(e){var n=e.children,o=R(),i=(0,t.useReducer)(eo,oo),a=(0,r.Z)(i,2),u=a[0],l=a[1];(0,t.useEffect)((function(){!function(e){var t=window.location.hash.replace("#",""),n=wr[t]||{},r=new Map(Object.entries(n)),o=t===br||t===xr?kr(e,r):Sr(e,r);Dr(o.join("&"))}(u)}),[u,o]);var s=(0,t.useMemo)((function(){return{state:u,dispatch:l}}),[u,l]);return(0,ie.tZ)(to.Provider,{value:s,children:n})},ao={authMethod:"NO_AUTH",saveAuthLocally:!1},uo=$r("AUTH_TYPE"),lo=$r("BASIC_AUTH_DATA"),so=$r("BEARER_AUTH_DATA"),co=vn(vn({},ao),{},{authMethod:uo||ao.authMethod,basicData:lo,bearerData:so,saveAuthLocally:!(!lo&&!so)}),fo=function(){Hr(Yr)};function po(e,t){switch(t.type){case"SET_BASIC_AUTH":return t.payload.checkbox?Wr("BASIC_AUTH_DATA",t.payload.value):fo(),Wr("AUTH_TYPE","BASIC_AUTH"),vn(vn({},e),{},{authMethod:"BASIC_AUTH",basicData:t.payload.value});case"SET_BEARER_AUTH":return t.payload.checkbox?Wr("BEARER_AUTH_DATA",t.payload.value):fo(),Wr("AUTH_TYPE","BEARER_AUTH"),vn(vn({},e),{},{authMethod:"BEARER_AUTH",bearerData:t.payload.value});case"SET_NO_AUTH":return!t.payload.checkbox&&fo(),Wr("AUTH_TYPE","NO_AUTH"),vn(vn({},e),{},{authMethod:"NO_AUTH"});default:throw new Error}}var ho=(0,t.createContext)({}),mo=function(e){var n=e.children,o=(0,t.useReducer)(po,co),i=(0,r.Z)(o,2),a=i[0],u=i[1],l=(0,t.useMemo)((function(){return{state:a,dispatch:u}}),[a,u]);return(0,ie.tZ)(ho.Provider,{value:l,children:n})},vo={customStep:{enable:!1,value:1},yaxis:{limits:{enable:!1,range:{1:[0,0]}}}};function go(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return vn(vn({},e),{},{yaxis:vn(vn({},e.yaxis),{},{limits:vn(vn({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"TOGGLE_CUSTOM_STEP":return vn(vn({},e),{},{customStep:vn(vn({},e.customStep),{},{enable:!e.customStep.enable})});case"SET_CUSTOM_STEP":return vn(vn({},e),{},{customStep:vn(vn({},e.customStep),{},{value:t.payload})});case"SET_YAXIS_LIMITS":return vn(vn({},e),{},{yaxis:vn(vn({},e.yaxis),{},{limits:vn(vn({},e.yaxis.limits),{},{range:t.payload})})});default:throw new Error}}var yo=(0,t.createContext)({}),bo=function(){return(0,t.useContext)(yo).state},xo=function(){return(0,t.useContext)(yo).dispatch},Zo=function(e){var n=e.children,o=(0,t.useReducer)(go,vo),i=(0,r.Z)(o,2),a=i[0],u=i[1],l=(0,t.useMemo)((function(){return{state:a,dispatch:u}}),[a,u]);return(0,ie.tZ)(yo.Provider,{value:l,children:n})},wo=n(7458),Do=(0,wo.Z)({palette:{primary:{main:"#3F51B5"},secondary:{main:"#F50057"},error:{main:"#FF4141"}},components:{MuiFormHelperText:{styleOverrides:{root:{position:"absolute",top:"36px",left:"2px",margin:0}}},MuiInputLabel:{styleOverrides:{root:{fontSize:"12px",letterSpacing:"normal",lineHeight:"1",zIndex:0}}},MuiInputBase:{styleOverrides:{root:{"&.Mui-focused fieldset":{borderWidth:"1px !important"}}}},MuiSwitch:{defaultProps:{color:"secondary"}},MuiAccordion:{styleOverrides:{root:{boxShadow:"rgba(0, 0, 0, 0.16) 0px 1px 4px"}}},MuiPaper:{styleOverrides:{root:{boxShadow:"rgba(0, 0, 0, 0.2) 0px 3px 8px"}}},MuiButton:{styleOverrides:{contained:{boxShadow:"rgba(17, 17, 26, 0.1) 0px 0px 16px","&:hover":{boxShadow:"rgba(0, 0, 0, 0.1) 0px 4px 12px"}}}},MuiIconButton:{defaultProps:{size:"large"},styleOverrides:{sizeLarge:{borderRadius:"20%",height:"40px",width:"41px"},sizeMedium:{borderRadius:"20%"},sizeSmall:{borderRadius:"20%"}}},MuiTooltip:{styleOverrides:{tooltip:{fontSize:"10px"}}},MuiAlert:{styleOverrides:{root:{fontSize:"14px",boxShadow:"rgba(0, 0, 0, 0.08) 0px 4px 12px"}}}},typography:{fontSize:10}}),ko=(0,Ee.Z)({key:"css",prepend:!0});function So(e){var t=e.injectFirst,n=e.children;return t?(0,ie.tZ)(Ae.C,{value:ko,children:n}):n}var Co=n(5693),_o=n(201),Eo="function"===typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__";var Ao=function(e){var n=e.children,r=e.theme,i=(0,_o.Z)(),a=t.useMemo((function(){var e=null===i?r:function(e,t){return"function"===typeof t?t(e):(0,o.Z)({},e,t)}(i,r);return null!=e&&(e[Eo]=null!==i),e}),[r,i]);return(0,ie.tZ)(Co.Z.Provider,{value:a,children:n})};function Mo(e){var t=(0,Rt.Z)();return(0,ie.tZ)(Ae.T.Provider,{value:"object"===typeof t?t:{},children:e.children})}var To=function(e){var t=e.children,n=e.theme;return(0,ie.tZ)(Ao,{theme:n,children:(0,ie.tZ)(Mo,{children:t})})};function Po(e){var t=e.styles,n=e.defaultTheme,r=void 0===n?{}:n,o="function"===typeof t?function(e){return t(void 0===(n=e)||null===n||0===Object.keys(n).length?r:e);var n}:t;return(0,ie.tZ)(Re,{styles:o})}var Ro=function(e){return(0,ie.tZ)(Po,(0,o.Z)({},e,{defaultTheme:Ft.Z}))},Fo=function(e,t){return(0,o.Z)({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&{colorScheme:e.palette.mode})},Oo=function(e){return(0,o.Z)({color:e.palette.text.primary},e.typography.body1,{backgroundColor:e.palette.background.default,"@media print":{backgroundColor:e.palette.common.white}})};var Bo=function(e){var n=(0,ee.Z)({props:e,name:"MuiCssBaseline"}),r=n.children,i=n.enableColorScheme,a=void 0!==i&&i;return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(Ro,{styles:function(e){return function(e){var t,n,r={html:Fo(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1]),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:(0,o.Z)({margin:0},Oo(e),{"&::backdrop":{backgroundColor:e.palette.background.default}})},i=null==(t=e.components)||null==(n=t.MuiCssBaseline)?void 0:n.styleOverrides;return i&&(r=[r,i]),r}(e,a)}}),r]})},Io=t.createContext(null);function Lo(e){var n=e.children,r=e.dateAdapter,o=e.dateFormats,i=e.dateLibInstance,a=e.locale,u=t.useMemo((function(){return new r({locale:a,formats:o,instance:i})}),[r,a,o,i]),l=t.useMemo((function(){return{minDate:u.date("1900-01-01T00:00:00.000"),maxDate:u.date("2099-12-31T00:00:00.000")}}),[u]),s=t.useMemo((function(){return{utils:u,defaultDates:l}}),[l,u]);return(0,ie.tZ)(Io.Provider,{value:s,children:n})}var No=n(7798),zo=n.n(No),jo=n(3825),Wo=n.n(jo),$o=n(8743),Ho=n.n($o);cr().extend(zo()),cr().extend(Wo()),cr().extend(Ho());var Yo={normalDateWithWeekday:"ddd, MMM D",normalDate:"D MMMM",shortDate:"MMM D",monthAndDate:"MMMM D",dayOfMonth:"D",year:"YYYY",month:"MMMM",monthShort:"MMM",monthAndYear:"MMMM YYYY",weekday:"dddd",weekdayShort:"ddd",minutes:"mm",hours12h:"hh",hours24h:"HH",seconds:"ss",fullTime:"LT",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",fullDate:"ll",fullDateWithWeekday:"dddd, LL",fullDateTime:"lll",fullDateTime12h:"ll hh:mm A",fullDateTime24h:"ll HH:mm",keyboardDate:"L",keyboardDateTime:"L LT",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},Vo=function(e){var t=this,n=void 0===e?{}:e,r=n.locale,o=n.formats,i=n.instance;this.lib="dayjs",this.is12HourCycleInCurrentLocale=function(){var e,n;return/A|a/.test(null===(n=null===(e=t.rawDayJsInstance.Ls[t.locale||"en"])||void 0===e?void 0:e.formats)||void 0===n?void 0:n.LT)},this.getCurrentLocaleCode=function(){return t.locale||"en"},this.getFormatHelperText=function(e){return e.match(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?)|./g).map((function(e){var n,r;return"L"===e[0]&&null!==(r=null===(n=t.rawDayJsInstance.Ls[t.locale||"en"])||void 0===n?void 0:n.formats[e])&&void 0!==r?r:e})).join("").replace(/a/gi,"(a|p)m").toLocaleLowerCase()},this.parseISO=function(e){return t.dayjs(e)},this.toISO=function(e){return e.toISOString()},this.parse=function(e,n){return""===e?null:t.dayjs(e,n,t.locale,!0)},this.date=function(e){return null===e?null:t.dayjs(e)},this.toJsDate=function(e){return e.toDate()},this.isValid=function(e){return t.dayjs(e).isValid()},this.isNull=function(e){return null===e},this.getDiff=function(e,t,n){return e.diff(t,n)},this.isAfter=function(e,t){return e.isAfter(t)},this.isBefore=function(e,t){return e.isBefore(t)},this.isAfterDay=function(e,t){return e.isAfter(t,"day")},this.isBeforeDay=function(e,t){return e.isBefore(t,"day")},this.isBeforeYear=function(e,t){return e.isBefore(t,"year")},this.isAfterYear=function(e,t){return e.isAfter(t,"year")},this.startOfDay=function(e){return e.clone().startOf("day")},this.endOfDay=function(e){return e.clone().endOf("day")},this.format=function(e,n){return t.formatByString(e,t.formats[n])},this.formatByString=function(e,n){return t.dayjs(e).format(n)},this.formatNumber=function(e){return e},this.getHours=function(e){return e.hour()},this.addSeconds=function(e,t){return t<0?e.subtract(Math.abs(t),"second"):e.add(t,"second")},this.addMinutes=function(e,t){return t<0?e.subtract(Math.abs(t),"minute"):e.add(t,"minute")},this.addHours=function(e,t){return t<0?e.subtract(Math.abs(t),"hour"):e.add(t,"hour")},this.addDays=function(e,t){return t<0?e.subtract(Math.abs(t),"day"):e.add(t,"day")},this.addWeeks=function(e,t){return t<0?e.subtract(Math.abs(t),"week"):e.add(t,"week")},this.addMonths=function(e,t){return t<0?e.subtract(Math.abs(t),"month"):e.add(t,"month")},this.setMonth=function(e,t){return e.set("month",t)},this.setHours=function(e,t){return e.set("hour",t)},this.getMinutes=function(e){return e.minute()},this.setMinutes=function(e,t){return e.clone().set("minute",t)},this.getSeconds=function(e){return e.second()},this.setSeconds=function(e,t){return e.clone().set("second",t)},this.getMonth=function(e){return e.month()},this.getDaysInMonth=function(e){return e.daysInMonth()},this.isSameDay=function(e,t){return e.isSame(t,"day")},this.isSameMonth=function(e,t){return e.isSame(t,"month")},this.isSameYear=function(e,t){return e.isSame(t,"year")},this.isSameHour=function(e,t){return e.isSame(t,"hour")},this.getMeridiemText=function(e){return"am"===e?"AM":"PM"},this.startOfMonth=function(e){return e.clone().startOf("month")},this.endOfMonth=function(e){return e.clone().endOf("month")},this.startOfWeek=function(e){return e.clone().startOf("week")},this.endOfWeek=function(e){return e.clone().endOf("week")},this.getNextMonth=function(e){return e.clone().add(1,"month")},this.getPreviousMonth=function(e){return e.clone().subtract(1,"month")},this.getMonthArray=function(e){for(var n=[e.clone().startOf("year")];n.length<12;){var r=n[n.length-1];n.push(t.getNextMonth(r))}return n},this.getYear=function(e){return e.year()},this.setYear=function(e,t){return e.clone().set("year",t)},this.mergeDateAndTime=function(e,t){return e.hour(t.hour()).minute(t.minute()).second(t.second())},this.getWeekdays=function(){var e=t.dayjs().startOf("week");return[0,1,2,3,4,5,6].map((function(n){return t.formatByString(e.add(n,"day"),"dd")}))},this.isEqual=function(e,n){return null===e&&null===n||t.dayjs(e).isSame(n)},this.getWeekArray=function(e){for(var n=t.dayjs(e).clone().startOf("month").startOf("week"),r=t.dayjs(e).clone().endOf("month").endOf("week"),o=0,i=n,a=[];i.isBefore(r);){var u=Math.floor(o/7);a[u]=a[u]||[],a[u].push(i),i=i.clone().add(1,"day"),o+=1}return a},this.getYearRange=function(e,n){for(var r=t.dayjs(e).startOf("year"),o=t.dayjs(n).endOf("year"),i=[],a=r;a.isBefore(o);)i.push(a),a=a.clone().add(1,"year");return i},this.isWithinRange=function(e,t){var n=t[0],r=t[1];return e.isBetween(n,r,null,"[]")},this.rawDayJsInstance=i||cr(),this.dayjs=function(e,t){return t?function(){for(var n=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=e.defaultTheme,r=e.defaultClassName,i=void 0===r?"MuiBox-root":r,a=e.generateClassName,u=e.styleFunctionSx,l=void 0===u?qo.Z:u,s=(0,Uo.ZP)("div")(l),c=t.forwardRef((function(e,t){var r=(0,Rt.Z)(n),u=Qo(e),l=u.className,c=u.component,d=void 0===c?"div":c,f=(0,X.Z)(u,Jo);return(0,ie.tZ)(s,(0,o.Z)({as:d,ref:t,className:(0,G.Z)(l,a?a(i):i),theme:r},f))}));return c}({defaultTheme:(0,wo.Z)(),defaultClassName:"MuiBox-root",generateClassName:ei.Z.generate}),ni=ti,ri=n(181);function oi(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,ri.Z)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}var ii,ai,ui="u-off",li="u-label",si="width",ci="height",di="top",fi="bottom",pi="left",hi="right",mi="#000",vi="#0000",gi="mousemove",yi="mousedown",bi="mouseup",xi="mouseenter",Zi="mouseleave",wi="dblclick",Di="change",ki="dppxchange",Si="undefined"!=typeof window,Ci=Si?document:null,_i=Si?window:null,Ei=Si?navigator:null;function Ai(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function Mi(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function Ti(e,t,n){e.style[t]=n+"px"}function Pi(e,t,n,r){var o=Ci.createElement(e);return null!=t&&Ai(o,t),null!=n&&n.insertBefore(o,r),o}function Ri(e,t){return Pi("div",e,t)}var Fi=new WeakMap;function Oi(e,t,n,r,o){var i="translate("+t+"px,"+n+"px)";i!=Fi.get(e)&&(e.style.transform=i,Fi.set(e,i),t<0||n<0||t>r||n>o?Ai(e,ui):Mi(e,ui))}var Bi=new WeakMap;function Ii(e,t,n){var r=t+n;r!=Bi.get(e)&&(Bi.set(e,r),e.style.background=t,e.style.borderColor=n)}var Li=new WeakMap;function Ni(e,t,n,r){var o=t+""+n;o!=Li.get(e)&&(Li.set(e,o),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}var zi={passive:!0},ji=vn(vn({},zi),{},{capture:!0});function Wi(e,t,n,r){t.addEventListener(e,n,r?ji:zi)}function $i(e,t,n,r){t.removeEventListener(e,n,r?ji:zi)}function Hi(e,t,n,r){var o;n=n||0;for(var i=(r=r||t.length-1)<=2147483647;r-n>1;)t[o=i?n+r>>1:sa((n+r)/2)]=t&&o<=n;o+=r)if(null!=e[o])return o;return-1}function Vi(e,t,n,r){var o=ba,i=-ba;if(1==r)o=e[t],i=e[n];else if(-1==r)o=e[n],i=e[t];else for(var a=t;a<=n;a++)null!=e[a]&&(o=fa(o,e[a]),i=pa(i,e[a]));return[o,i]}function Ui(e,t,n){for(var r=ba,o=-ba,i=t;i<=n;i++)e[i]>0&&(r=fa(r,e[i]),o=pa(o,e[i]));return[r==ba?1:r,o==-ba?10:o]}Si&&function e(){var t=devicePixelRatio;ii!=t&&(ii=t,ai&&$i(Di,ai,e),ai=matchMedia("(min-resolution: ".concat(ii-.001,"dppx) and (max-resolution: ").concat(ii+.001,"dppx)")),Wi(Di,ai,e),_i.dispatchEvent(new CustomEvent(ki)))}();var qi=[0,0];function Xi(e,t,n,r){return qi[0]=n<0?Ta(e,-n):e,qi[1]=r<0?Ta(t,-r):t,qi}function Gi(e,t,n,r){var o,i,a,u=ma(e),l=10==n?va:ga;return e==t&&(-1==u?(e*=n,t/=n):(e/=n,t*=n)),r?(o=sa(l(e)),i=da(l(t)),e=(a=Xi(ha(n,o),ha(n,i),o,i))[0],t=a[1]):(o=sa(l(la(e))),i=sa(l(la(t))),e=Ma(e,(a=Xi(ha(n,o),ha(n,i),o,i))[0]),t=Aa(t,a[1])),[e,t]}function Ki(e,t,n,r){var o=Gi(e,t,n,r);return 0==e&&(o[0]=0),0==t&&(o[1]=0),o}var Qi={mode:3,pad:.1},Ji={pad:0,soft:null,mode:0},ea={min:Ji,max:Ji};function ta(e,t,n,r){return za(n)?ra(e,t,n):(Ji.pad=n,Ji.soft=r?0:null,Ji.mode=r?3:0,ra(e,t,ea))}function na(e,t){return null==e?t:e}function ra(e,t,n){var r=n.min,o=n.max,i=na(r.pad,0),a=na(o.pad,0),u=na(r.hard,-ba),l=na(o.hard,ba),s=na(r.soft,ba),c=na(o.soft,-ba),d=na(r.mode,0),f=na(o.mode,0),p=t-e;p<1e-9&&(p=0,0!=e&&0!=t||(p=1e-9,2==d&&s!=ba&&(i=0),2==f&&c!=-ba&&(a=0)));var h=p||la(t)||1e3,m=va(h),v=ha(10,sa(m)),g=Ta(Ma(e-h*(0==p?0==e?.1:1:i),v/10),9),y=e>=s&&(1==d||3==d&&g<=s||2==d&&g>=s)?s:ba,b=pa(u,g=y?y:fa(y,g)),x=Ta(Aa(t+h*(0==p?0==t?.1:1:a),v/10),9),Z=t<=c&&(1==f||3==f&&x>=c||2==f&&x<=c)?c:-ba,w=fa(l,x>Z&&t<=Z?Z:pa(Z,x));return b==w&&0==b&&(w=100),[b,w]}var oa=new Intl.NumberFormat(Si?Ei.language:"en-US"),ia=function(e){return oa.format(e)},aa=Math,ua=aa.PI,la=aa.abs,sa=aa.floor,ca=aa.round,da=aa.ceil,fa=aa.min,pa=aa.max,ha=aa.pow,ma=aa.sign,va=aa.log10,ga=aa.log2,ya=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return aa.asinh(e/t)},ba=1/0;function xa(e){return 1+(0|va((e^e>>31)-(e>>31)))}function Za(e,t){return ca(e/t)*t}function wa(e,t,n){return fa(pa(e,t),n)}function Da(e){return"function"==typeof e?e:function(){return e}}var ka=function(e){return e},Sa=function(e,t){return t},Ca=function(e){return null},_a=function(e){return!0},Ea=function(e,t){return e==t};function Aa(e,t){return da(e/t)*t}function Ma(e,t){return sa(e/t)*t}function Ta(e,t){return ca(e*(t=Math.pow(10,t)))/t}var Pa=new Map;function Ra(e){return((""+e).split(".")[1]||"").length}function Fa(e,t,n,r){for(var o=[],i=r.map(Ra),a=t;a=0&&a>=0?0:u)+(a>=i[s]?0:i[s]),f=Ta(c,d);o.push(f),Pa.set(f,d)}return o}var Oa={},Ba=[],Ia=[null,null],La=Array.isArray;function Na(e){return"string"==typeof e}function za(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function ja(e){return null!=e&&"object"==typeof e}function Wa(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:za;if(La(e)){var r=e.find((function(e){return null!=e}));if(La(r)||n(r)){t=Array(e.length);for(var o=0;oi){for(r=a-1;r>=0&&null==e[r];)e[r--]=null;for(r=a+1;r12?t-12:t},AA:function(e){return e.getHours()>=12?"PM":"AM"},aa:function(e){return e.getHours()>=12?"pm":"am"},a:function(e){return e.getHours()>=12?"p":"a"},mm:function(e){return Qa(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return Qa(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function eu(e,t){t=t||Ka;for(var n,r=[],o=/\{([a-z]+)\}|[^{]+/gi;n=o.exec(e);)r.push("{"==n[0][0]?Ja[n[1]]:n[0]);return function(e){for(var n="",o=0;o=a,m=d>=i&&d=o?o:d,M=b+(sa(s)-sa(g))+Aa(g-b,A);p.push(M);for(var T=t(M),P=T.getHours()+T.getMinutes()/n+T.getSeconds()/r,R=d/r,F=f/u.axes[l]._space;!((M=Ta(M+d,1==e?0:3))>c);)if(R>1){var O=sa(Ta(P+R,6))%24,B=t(M).getHours()-O;B>1&&(B=-1),P=(P+R)%24,Ta(((M-=B*r)-p[p.length-1])/d,3)*F>=.7&&p.push(M)}else p.push(M)}return p}}]}var bu=yu(1),xu=(0,r.Z)(bu,3),Zu=xu[0],wu=xu[1],Du=xu[2],ku=yu(.001),Su=(0,r.Z)(ku,3),Cu=Su[0],_u=Su[1],Eu=Su[2];function Au(e,t){return e.map((function(e){return e.map((function(n,r){return 0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)}))}))}function Mu(e,t){return function(n,r,o,i,a){var u,l,s,c,d,f,p=t.find((function(e){return a>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),o=n.getMonth(),i=n.getDate(),a=n.getHours(),h=n.getMinutes(),m=n.getSeconds(),v=r!=u&&p[2]||o!=l&&p[3]||i!=s&&p[4]||a!=c&&p[5]||h!=d&&p[6]||m!=f&&p[7]||p[1];return u=r,l=o,s=i,c=a,d=h,f=m,v(n)}))}}function Tu(e,t,n){return new Date(e,t,n)}function Pu(e,t){return t(e)}Fa(2,-53,53,[1]);function Ru(e,t){return function(n,r){return t(e(r))}}var Fu={show:!0,live:!0,isolate:!1,markers:{show:!0,width:2,stroke:function(e,t){var n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};var Ou=[0,0];function Bu(e,t,n){return function(e){0==e.button&&n(e)}}function Iu(e,t,n){return n}var Lu={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return Ou[0]=t,Ou[1]=n,Ou},points:{show:function(e,t){var n=e.cursor.points,r=Ri(),o=n.size(e,t);Ti(r,si,o),Ti(r,ci,o);var i=o/-2;Ti(r,"marginLeft",i),Ti(r,"marginTop",i);var a=n.width(e,t,o);return a&&Ti(r,"borderWidth",a),r},size:function(e,t){return ol(e.series[t].points.width,1)},width:0,stroke:function(e,t){var n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){var n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:Bu,mouseup:Bu,click:Bu,dblclick:Bu,mousemove:Iu,mouseleave:Iu,mouseenter:Iu},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},Nu={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},zu=$a({},Nu,{filter:Sa}),ju=$a({},zu,{size:10}),Wu=$a({},Nu,{show:!1}),$u='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Hu="bold "+$u,Yu={show:!0,scale:"x",stroke:mi,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Hu,side:2,grid:zu,ticks:ju,border:Wu,font:$u,rotate:0},Vu={show:!0,scale:"x",auto:!1,sorted:1,min:ba,max:-ba,idxs:[]};function Uu(e,t,n,r,o){return t.map((function(e){return null==e?"":ia(e)}))}function qu(e,t,n,r,o,i,a){for(var u=[],l=Pa.get(o)||0,s=n=a?n:Ta(Aa(n,o),l);s<=r;s=Ta(s+o,l))u.push(Object.is(s,-0)?0:s);return u}function Xu(e,t,n,r,o,i,a){var u=[],l=e.scales[e.axes[t].scale].log,s=sa((10==l?va:ga)(n));o=ha(l,s),s<0&&(o=Ta(o,-s));var c=n;do{u.push(c),(c=Ta(c+o,Pa.get(o)))>=o*l&&(o=c)}while(c<=r);return u}function Gu(e,t,n,r,o,i,a){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Xu(e,t,pa(u,n),r,o):[u],s=r>=0&&n<=0?[0]:[];return(n<-u?Xu(e,t,pa(u,-r),-n,o):[u]).reverse().map((function(e){return-e})).concat(s,l)}var Ku=/./,Qu=/[12357]/,Ju=/[125]/,el=/1/;function tl(e,t,n,r,o){var i=e.axes[n],a=i.scale,u=e.scales[a];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,s=i._space,c=l(10,a),d=l(9,a)-c>=s?Ku:l(7,a)-c>=s?Qu:l(5,a)-c>=s?Ju:el;return t.map((function(e){return 4==u.distr&&0==e||d.test(e)?e:null}))}function nl(e,t){return null==t?"":ia(t)}var rl={show:!0,scale:"y",stroke:mi,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Hu,side:3,grid:zu,ticks:ju,border:Wu,font:$u,rotate:0};function ol(e,t){return Ta((3+2*(e||1))*t,3)}var il={scale:null,auto:!0,sorted:0,min:ba,max:-ba},al={show:!0,auto:!0,sorted:0,alpha:1,facets:[$a({},il,{scale:"x"}),$a({},il,{scale:"y"})]},ul={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:function(e,t,n,r,o){return o},alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,o=n.idxs,i=e._data[0],a=e.valToPos(i[o[0]],r,!0),u=e.valToPos(i[o[1]],r,!0),l=la(u-a)/(e.series[t].points.space*ii);return o[1]-o[0]<=l},filter:null},values:null,min:ba,max:-ba,idxs:[],path:null,clip:null};function ll(e,t,n,r,o){return n/10}var sl={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},cl=$a({},sl,{time:!1,ori:1}),dl={};function fl(e,t){var n=dl[e];return n||(n={key:e,plots:[],sub:function(e){n.plots.push(e)},unsub:function(e){n.plots=n.plots.filter((function(t){return t!=e}))},pub:function(e,t,r,o,i,a,u){for(var l=0;l0){a=new Path2D;for(var u=0==t?Sl:Cl,l=n,s=0;sc[0]){var d=c[0]-l;d>0&&u(a,l,r,d,r+i),l=c[1]}}var f=n+o-l;f>0&&u(a,l,r,f,r+i)}return a}function yl(e,t,n){var r=e[e.length-1];r&&r[0]==t?r[1]=n:e.push([t,n])}function bl(e){return 0==e?ka:1==e?ca:function(t){return Za(t,e)}}function xl(e){var t=0==e?Zl:wl,n=0==e?function(e,t,n,r,o,i){e.arcTo(t,n,r,o,i)}:function(e,t,n,r,o,i){e.arcTo(n,t,o,r,i)},r=0==e?function(e,t,n,r,o){e.rect(t,n,r,o)}:function(e,t,n,r,o){e.rect(n,t,o,r)};return function(e,o,i,a,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,o,i,a,u):(l=fa(l,a/2,u/2),t(e,o+l,i),n(e,o+a,i,o+a,i+u,l),n(e,o+a,i+u,o,i+u,l),n(e,o,i+u,o,i,l),n(e,o,i,o+a,i,l),e.closePath())}}var Zl=function(e,t,n){e.moveTo(t,n)},wl=function(e,t,n){e.moveTo(n,t)},Dl=function(e,t,n){e.lineTo(t,n)},kl=function(e,t,n){e.lineTo(n,t)},Sl=xl(0),Cl=xl(1),_l=function(e,t,n,r,o,i){e.arc(t,n,r,o,i)},El=function(e,t,n,r,o,i){e.arc(n,t,r,o,i)},Al=function(e,t,n,r,o,i,a){e.bezierCurveTo(t,n,r,o,i,a)},Ml=function(e,t,n,r,o,i,a){e.bezierCurveTo(n,t,o,r,a,i)};function Tl(e){return function(e,t,n,r,o){return pl(e,t,(function(t,i,a,u,l,s,c,d,f,p,h){var m,v,g=t.pxRound,y=t.points;0==u.ori?(m=Zl,v=_l):(m=wl,v=El);var b=Ta(y.width*ii,3),x=(y.size-y.width)/2*ii,Z=Ta(2*x,3),w=new Path2D,D=new Path2D,k=e.bbox,S=k.left,C=k.top,_=k.width,E=k.height;Sl(D,S-Z,C-Z,_+2*Z,E+2*Z);var A=function(e){if(null!=a[e]){var t=g(s(i[e],u,p,d)),n=g(c(a[e],l,h,f));m(w,t+x,n),v(w,t,n,x,0,2*ua)}};if(o)o.forEach(A);else for(var M=n;M<=r;M++)A(M);return{stroke:b>0?w:null,fill:w,clip:D,flags:3}}))}}function Pl(e){return function(t,n,r,o,i,a){r!=o&&(i!=r&&a!=r&&e(t,n,r),i!=o&&a!=o&&e(t,n,o),e(t,n,a))}}var Rl=Pl(Dl),Fl=Pl(kl);function Ol(){return function(e,t,n,o){return pl(e,t,(function(i,a,u,l,s,c,d,f,p,h,m){var v,g,y=i.pxRound,b=function(e){return y(c(e,l,h,f))},x=function(e){return y(d(e,s,m,p))};0==l.ori?(v=Dl,g=Rl):(v=kl,g=Fl);for(var Z,w,D,k=l.dir*(0==l.ori?1:-1),S={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},C=S.stroke,_=ba,E=-ba,A=b(a[1==k?n:o]),M=Yi(u,n,o,1*k),T=Yi(u,n,o,-1*k),P=b(a[M]),R=b(a[T]),F=1==k?n:o;F>=n&&F<=o;F+=k){var O=b(a[F]);O==A?null!=u[F]&&(w=x(u[F]),_==ba&&(v(C,O,w),Z=w),_=fa(w,_),E=pa(w,E)):(_!=ba&&(g(C,A,_,E,Z,w),D=A),null!=u[F]?(v(C,O,w=x(u[F])),_=E=Z=w):(_=ba,E=-ba),A=O)}_!=ba&&_!=E&&D!=A&&g(C,A,_,E,Z,w);var B=hl(e,t),I=(0,r.Z)(B,2),L=I[0],N=I[1];if(null!=i.fill||0!=L){var z=S.fill=new Path2D(C),j=x(i.fillTo(e,t,i.min,i.max,L));v(z,R,j),v(z,P,j)}if(!i.spanGaps){var W,$=[];P>f&&$.push([f,P]),(W=$).push.apply(W,(0,ve.Z)(function(e,t,n,r,o,i){for(var a=[],u=1==o?n:r;u>=n&&u<=r;u+=o)if(null===t[u]){var l=u,s=u;if(1==o)for(;++u<=r&&null===t[u];)s=u;else for(;--u>=n&&null===t[u];)s=u;var c=i(e[l]),d=s==l||i(e[s]);c=i(e[l-o]),(d=i(e[s+o]))>=c&&a.push([c,d])}return a}(a,u,n,o,k,b))),R0!==s[p]>0?l[p]=0:(l[p]=3*(d[p-1]+d[p])/((2*d[p]+d[p-1])/s[p-1]+(d[p]+2*d[p-1])/s[p]),isFinite(l[p])||(l[p]=0));l[a-1]=s[a-2];for(var h=0;h=o&&i+(l<5?Pa.get(l):0)<=17)return[l,s]}while(++u0?e:t.clamp(o,e,t.min,t.max,t.key)):4==t.distr?ya(e,t.asinh):e)-t._min)/(t._max-t._min)}function u(e,t,n,r){var o=a(e,t);return r+n*(-1==t.dir?1-o:o)}function l(e,t,n,r){var o=a(e,t);return r+n*(-1==t.dir?o:1-o)}function s(e,t,n,r){return 0==t.ori?u(e,t,n,r):l(e,t,n,r)}o.valToPosH=u,o.valToPosV=l;var c=!1;o.status=0;var d=o.root=Ri("uplot");(null!=e.id&&(d.id=e.id),Ai(d,e.class),e.title)&&(Ri("u-title",d).textContent=e.title);var f=Pi("canvas"),p=o.ctx=f.getContext("2d"),h=Ri("u-wrap",d),m=o.under=Ri("u-under",h);h.appendChild(f);var v=o.over=Ri("u-over",h),g=+na((e=Wa(e)).pxAlign,1),y=bl(g);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(o,e)||e)}));var b,x,Z=e.ms||.001,w=o.series=1==i?jl(e.series||[],Vu,ul,!1):(b=e.series||[null],x=al,b.map((function(e,t){return 0==t?null:$a({},x,e)}))),D=o.axes=jl(e.axes||[],Yu,rl,!0),k=o.scales={},S=o.bands=e.bands||[];S.forEach((function(e){e.fill=Da(e.fill||null),e.dir=na(e.dir,-1)}));var C=2==i?w[1].facets[0].scale:w[0].scale,_={axes:function(){for(var e=function(e){var t=D[e];if(!t.show||!t._show)return"continue";var n=t.side,i=n%2,a=void 0,u=void 0,l=t.stroke(o,e),c=0==n||3==n?-1:1;if(t.label){var d=t.labelGap*c,f=ca((t._lpos+d)*ii);et(t.labelFont[0],l,"center",2==n?di:fi),p.save(),1==i?(a=u=0,p.translate(f,ca(me+ge/2)),p.rotate((3==n?-ua:ua)/2)):(a=ca(he+ve/2),u=f),p.fillText(t.label,a,u),p.restore()}var h=(0,r.Z)(t._found,2),m=h[0],v=h[1];if(0==v)return"continue";var g=k[t.scale],b=0==i?ve:ge,x=0==i?he:me,Z=ca(t.gap*ii),w=t._splits,S=2==g.distr?w.map((function(e){return Xe[e]})):w,C=2==g.distr?Xe[w[1]]-Xe[w[0]]:m,_=t.ticks,E=t.border,A=_.show?ca(_.size*ii):0,M=t._rotate*-ua/180,T=y(t._pos*ii),P=T+(A+Z)*c;u=0==i?P:0,a=1==i?P:0,et(t.font[0],l,1==t.align?pi:2==t.align?hi:M>0?pi:M<0?hi:0==i?"center":3==n?hi:pi,M||1==i?"middle":2==n?di:fi);for(var R=1.5*t.font[1],F=w.map((function(e){return y(s(e,g,b,x))})),O=t._values,B=0;B0&&(w.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var r=function(e){var t=wa(Ve-1,0,Re-1),n=wa(Ue+1,0,Re-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){$e!=e.alpha&&(p.globalAlpha=$e=e.alpha),nt(t,!1),e._paths&&rt(t,!1),nt(t,!0);var n=e.points.show(o,t,Ve,Ue),r=e.points.filter(o,t,n,e._paths?e._paths.gaps:null);(n||r)&&(e.points._paths=e.points.paths(o,t,Ve,Ue,r),rt(t,!0)),1!=$e&&(p.globalAlpha=$e=1),un("drawSeries",t)}})))}},E=(e.drawOrder||["axes","series"]).map((function(e){return _[e]}));function A(t){var n=k[t];if(null==n){var r=(e.scales||Oa)[t]||Oa;if(null!=r.from)A(r.from),k[t]=$a({},k[r.from],r,{key:t});else{(n=k[t]=$a({},t==C?sl:cl,r)).key=t;var o=n.time,a=n.range,u=La(a);if((t!=C||2==i&&!o)&&(!u||null!=a[0]&&null!=a[1]||(a={min:null==a[0]?Qi:{mode:1,hard:a[0],soft:a[0]},max:null==a[1]?Qi:{mode:1,hard:a[1],soft:a[1]}},u=!1),!u&&za(a))){var l=a;a=function(e,t,n){return null==t?Ia:ta(t,n,l)}}n.range=Da(a||(o?Hl:t==C?3==n.distr?Ul:4==n.distr?Xl:$l:3==n.distr?Vl:4==n.distr?ql:Yl)),n.auto=Da(!u&&n.auto),n.clamp=Da(n.clamp||ll),n._min=n._max=null}}}for(var M in A("x"),A("y"),1==i&&w.forEach((function(e){A(e.scale)})),D.forEach((function(e){A(e.scale)})),e.scales)A(M);var T,P,R=k[C],F=R.distr;0==R.ori?(Ai(d,"u-hz"),T=u,P=l):(Ai(d,"u-vt"),T=l,P=u);var O={};for(var B in k){var I=k[B];null==I.min&&null==I.max||(O[B]={min:I.min,max:I.max},I.min=I.max=null)}var L,N=e.tzDate||function(e){return new Date(ca(e/Z))},z=e.fmtDate||eu,j=1==Z?Du(N):Eu(N),W=Mu(N,Au(1==Z?wu:_u,z)),$=Ru(N,Pu("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",z)),H=[],Y=o.legend=$a({},Fu,e.legend),V=Y.show,U=Y.markers;Y.idxs=H,U.width=Da(U.width),U.dash=Da(U.dash),U.stroke=Da(U.stroke),U.fill=Da(U.fill);var q,X=[],G=[],K=!1,Q={};if(Y.live){var J=w[1]?w[1].values:null;for(var ee in q=(K=null!=J)?J(o,1,0):{_:0})Q[ee]="--"}if(V)if(L=Pi("table","u-legend",d),K){var te=Pi("tr","u-thead",L);for(var ne in Pi("th",null,te),q)Pi("th",li,te).textContent=ne}else Ai(L,"u-inline"),Y.live&&Ai(L,"u-live");var re={show:!0},oe={show:!1};var ie=new Map;function ae(e,t,n){var r=ie.get(t)||{},i=Se.bind[e](o,t,n);i&&(Wi(e,t,r[e]=i),ie.set(t,r))}function ue(e,t,n){var r=ie.get(t)||{};for(var o in r)null!=e&&o!=e||($i(o,t,r[o]),delete r[o]);null==e&&ie.delete(t)}var le=0,se=0,ce=0,de=0,fe=0,pe=0,he=0,me=0,ve=0,ge=0;o.bbox={};var ye=!1,be=!1,xe=!1,Ze=!1,we=!1;function De(e,t,n){(n||e!=o.width||t!=o.height)&&ke(e,t),ct(!1),xe=!0,be=!0,Ze=we=Se.left>=0,kt()}function ke(e,t){o.width=le=ce=e,o.height=se=de=t,fe=pe=0,function(){var e=!1,t=!1,n=!1,r=!1;D.forEach((function(o,i){if(o.show&&o._show){var a=o.side,u=a%2,l=o._size+(null!=o.label?o.labelSize:0);l>0&&(u?(ce-=l,3==a?(fe+=l,r=!0):n=!0):(de-=l,0==a?(pe+=l,e=!0):t=!0))}})),Te[0]=e,Te[1]=n,Te[2]=t,Te[3]=r,ce-=Ye[1]+Ye[3],fe+=Ye[3],de-=Ye[2]+Ye[0],pe+=Ye[0]}(),function(){var e=fe+ce,t=pe+de,n=fe,r=pe;function o(o,i){switch(o){case 1:return(e+=i)-i;case 2:return(t+=i)-i;case 3:return(n-=i)+i;case 0:return(r-=i)+i}}D.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=o(n,e._size),null!=e.label&&(e._lpos=o(n,e.labelSize))}}))}();var n=o.bbox;he=n.left=Za(fe*ii,.5),me=n.top=Za(pe*ii,.5),ve=n.width=Za(ce*ii,.5),ge=n.height=Za(de*ii,.5)}o.setSize=function(e){De(e.width,e.height)};var Se=o.cursor=$a({},Lu,{drag:{y:2==i}},e.cursor);Se.idxs=H,Se._lock=!1;var Ce=Se.points;Ce.show=Da(Ce.show),Ce.size=Da(Ce.size),Ce.stroke=Da(Ce.stroke),Ce.width=Da(Ce.width),Ce.fill=Da(Ce.fill);var _e=o.focus=$a({},e.focus||{alpha:.3},Se.focus),Ee=_e.prox>=0,Ae=[null];function Me(e,t){if(1==i||t>0){var n=1==i&&k[e.scale].time,r=e.value;e.value=n?Na(r)?Ru(N,Pu(r,z)):r||$:r||nl,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Nl||Ca,e.fillTo=Da(e.fillTo||ml),e.pxAlign=+na(e.pxAlign,g),e.pxRound=bl(e.pxAlign),e.stroke=Da(e.stroke||null),e.fill=Da(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var a=ol(e.width,1),u=e.points=$a({},{size:a,width:pa(1,.2*a),stroke:e.stroke,space:2*a,paths:zl,_stroke:null,_fill:null},e.points);u.show=Da(u.show),u.filter=Da(u.filter),u.fill=Da(u.fill),u.stroke=Da(u.stroke),u.paths=Da(u.paths),u.pxAlign=e.pxAlign}if(V){var l=function(e,t){if(0==t&&(K||!Y.live||2==i))return Ia;var n=[],r=Pi("tr","u-series",L,L.childNodes[t]);Ai(r,e.class),e.show||Ai(r,ui);var a=Pi("th",null,r);if(U.show){var u=Ri("u-marker",a);if(t>0){var l=U.width(o,t);l&&(u.style.border=l+"px "+U.dash(o,t)+" "+U.stroke(o,t)),u.style.background=U.fill(o,t)}}var s=Ri(li,a);for(var c in s.textContent=e.label,t>0&&(U.show||(s.style.color=e.width>0?U.stroke(o,t):U.fill(o,t)),ae("click",a,(function(t){if(!Se._lock){var n=w.indexOf(e);if((t.ctrlKey||t.metaKey)!=Y.isolate){var r=w.some((function(e,t){return t>0&&t!=n&&e.show}));w.forEach((function(e,t){t>0&&Lt(t,r?t==n?re:oe:re,!0,ln.setSeries)}))}else Lt(n,{show:!e.show},!0,ln.setSeries)}})),Ee&&ae(xi,a,(function(t){Se._lock||Lt(w.indexOf(e),Nt,!0,ln.setSeries)}))),q){var d=Pi("td","u-value",r);d.textContent="--",n.push(d)}return[r,n]}(e,t);X.splice(t,0,l[0]),G.splice(t,0,l[1]),Y.values.push(null)}if(Se.show){H.splice(t,0,null);var s=function(e,t){if(t>0){var n=Se.points.show(o,t);if(n)return Ai(n,"u-cursor-pt"),Ai(n,e.class),Oi(n,-10,-10,ce,de),v.insertBefore(n,Ae[t]),n}}(e,t);s&&Ae.splice(t,0,s)}un("addSeries",t)}o.addSeries=function(e,t){e=Wl(e,t=null==t?w.length:t,Vu,ul),w.splice(t,0,e),Me(w[t],t)},o.delSeries=function(e){if(w.splice(e,1),V){Y.values.splice(e,1),G.splice(e,1);var t=X.splice(e,1)[0];ue(null,t.firstChild),t.remove()}Se.show&&(H.splice(e,1),Ae.length>1&&Ae.splice(e,1)[0].remove()),un("delSeries",e)};var Te=[!1,!1,!1,!1];function Pe(e,t,n,o){var i=(0,r.Z)(n,4),a=i[0],u=i[1],l=i[2],s=i[3],c=t%2,d=0;return 0==c&&(s||u)&&(d=0==t&&!a||2==t&&!l?ca(Yu.size/3):0),1==c&&(a||l)&&(d=1==t&&!u||3==t&&!s?ca(rl.size/2):0),d}var Re,Fe,Oe,Be,Ie,Le,Ne,ze,je,We,$e,He=o.padding=(e.padding||[Pe,Pe,Pe,Pe]).map((function(e){return Da(na(e,Pe))})),Ye=o._padding=He.map((function(e,t){return e(o,t,Te,0)})),Ve=null,Ue=null,qe=1==i?w[0].idxs:null,Xe=null,Ge=!1;function Ke(e,n){if(t=null==e?[]:Wa(e,ja),2==i){Re=0;for(var r=1;r=0,we=!0,kt()}}function Qe(){var e,n;if(Ge=!0,1==i)if(Re>0){if(Ve=qe[0]=0,Ue=qe[1]=Re-1,e=t[0][Ve],n=t[0][Ue],2==F)e=Ve,n=Ue;else if(1==Re)if(3==F){var o=Gi(e,e,R.log,!1),a=(0,r.Z)(o,2);e=a[0],n=a[1]}else if(4==F){var u=Ki(e,e,R.log,!1),l=(0,r.Z)(u,2);e=l[0],n=l[1]}else if(R.time)n=e+ca(86400/Z);else{var s=ta(e,n,.1,!0),c=(0,r.Z)(s,2);e=c[0],n=c[1]}}else Ve=qe[0]=e=null,Ue=qe[1]=n=null;It(C,e,n)}function Je(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:vi,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ba,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"butt",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:vi,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"round";e!=Fe&&(p.strokeStyle=Fe=e),o!=Oe&&(p.fillStyle=Oe=o),t!=Be&&(p.lineWidth=Be=t),i!=Le&&(p.lineJoin=Le=i),r!=Ne&&(p.lineCap=Ne=r),n!=Ie&&p.setLineDash(Ie=n)}function et(e,t,n,r){t!=Oe&&(p.fillStyle=Oe=t),e!=ze&&(p.font=ze=e),n!=je&&(p.textAlign=je=n),r!=We&&(p.textBaseline=We=r)}function tt(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(e.auto(o,Ge)&&(null==t||null==t.min)){var a=na(Ve,0),u=na(Ue,r.length-1),l=null==n.min?3==e.distr?Ui(r,a,u):Vi(r,a,u,i):[n.min,n.max];e.min=fa(e.min,n.min=l[0]),e.max=pa(e.max,n.max=l[1])}}function nt(e,t){var n=t?w[e].points:w[e];n._stroke=n.stroke(o,e),n._fill=n.fill(o,e)}function rt(e,n){var r=n?w[e].points:w[e],i=r._stroke,a=r._fill,u=r._paths,l=u.stroke,s=u.fill,c=u.clip,d=u.flags,f=null,h=Ta(r.width*ii,3),m=h%2/2;n&&null==a&&(a=h>0?"#fff":i);var v=1==r.pxAlign;if(v&&p.translate(m,m),!n){var g=he,y=me,b=ve,x=ge,Z=h*ii/2;0==r.min&&(x+=Z),0==r.max&&(y-=Z,x+=Z),(f=new Path2D).rect(g,y,b,x)}n?ot(i,h,r.dash,r.cap,a,l,s,d,c):function(e,n,r,i,a,u,l,s,c,d,f){var p=!1;S.forEach((function(h,m){if(h.series[0]==e){var v,g=w[h.series[1]],y=t[h.series[1]],b=(g._paths||Oa).band;La(b)&&(b=1==h.dir?b[0]:b[1]);var x=null;g.show&&b&&function(e,t,n){for(t=na(t,0),n=na(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(y,Ve,Ue)?(x=h.fill(o,m)||u,v=g._paths.clip):b=null,ot(n,r,i,a,x,l,s,c,d,f,v,b),p=!0}})),p||ot(n,r,i,a,u,l,s,c,d,f)}(e,i,h,r.dash,r.cap,a,l,s,d,f,c),v&&p.translate(-m,-m)}o.setData=Ke;function ot(e,t,n,r,o,i,a,u,l,s,c,d){Je(e,t,n,r,o),(l||s||d)&&(p.save(),l&&p.clip(l),s&&p.clip(s)),d?3==(3&u)?(p.clip(d),c&&p.clip(c),at(o,a),it(e,i,t)):2&u?(at(o,a),p.clip(d),it(e,i,t)):1&u&&(p.save(),p.clip(d),c&&p.clip(c),at(o,a),p.restore(),it(e,i,t)):(at(o,a),it(e,i,t)),(l||s||d)&&p.restore()}function it(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){p.strokeStyle=Fe=t,p.stroke(e)})):null!=t&&e&&p.stroke(t))}function at(e,t){t instanceof Map?t.forEach((function(e,t){p.fillStyle=Oe=t,p.fill(e)})):null!=t&&e&&p.fill(t)}function ut(e,t,n,r,o,i,a,u,l,s){var c=a%2/2;1==g&&p.translate(c,c),Je(u,a,l,s,u),p.beginPath();var d,f,h,m,v=o+(0==r||3==r?-i:i);0==n?(f=o,m=v):(d=o,h=v);for(var y=0;y0&&(t._paths=null,e&&(1==i?(t.min=null,t.max=null):t.facets.forEach((function(e){e.min=null,e.max=null}))))}))}var dt,ft,pt,ht,mt,vt,gt,yt,bt,xt,Zt,wt,Dt=!1;function kt(){Dt||(Ya(St),Dt=!0)}function St(){ye&&(!function(){var e=Wa(k,ja);for(var n in e){var a=e[n],u=O[n];if(null!=u&&null!=u.min)$a(a,u),n==C&&ct(!0);else if(n!=C||2==i)if(0==Re&&null==a.from){var l=a.range(o,null,null,n);a.min=l[0],a.max=l[1]}else a.min=ba,a.max=-ba}if(Re>0)for(var s in w.forEach((function(n,a){if(1==i){var u=n.scale,l=e[u],s=O[u];if(0==a){var c=l.range(o,l.min,l.max,u);l.min=c[0],l.max=c[1],Ve=Hi(l.min,t[0]),Ue=Hi(l.max,t[0]),t[0][Ve]l.max&&Ue--,n.min=Xe[Ve],n.max=Xe[Ue]}else n.show&&n.auto&&tt(l,s,n,t[a],n.sorted);n.idxs[0]=Ve,n.idxs[1]=Ue}else if(a>0&&n.show&&n.auto){var d=(0,r.Z)(n.facets,2),f=d[0],p=d[1],h=f.scale,m=p.scale,v=(0,r.Z)(t[a],2),g=v[0],y=v[1];tt(e[h],O[h],f,g,f.sorted),tt(e[m],O[m],p,y,p.sorted),n.min=p.min,n.max=p.max}})),e){var c=e[s],d=O[s];if(null==c.from&&(null==d||null==d.min)){var f=c.range(o,c.min==ba?null:c.min,c.max==-ba?null:c.max,s);c.min=f[0],c.max=f[1]}}for(var p in e){var h=e[p];if(null!=h.from){var m=e[h.from];if(null==m.min)h.min=h.max=null;else{var v=h.range(o,m.min,m.max,p);h.min=v[0],h.max=v[1]}}}var g={},y=!1;for(var b in e){var x=e[b],Z=k[b];if(Z.min!=x.min||Z.max!=x.max){Z.min=x.min,Z.max=x.max;var D=Z.distr;Z._min=3==D?va(Z.min):4==D?ya(Z.min,Z.asinh):Z.min,Z._max=3==D?va(Z.max):4==D?ya(Z.max,Z.asinh):Z.max,g[b]=y=!0}}if(y){for(var S in w.forEach((function(e,t){2==i?t>0&&g.y&&(e._paths=null):g[e.scale]&&(e._paths=null)})),g)xe=!0,un("setScale",S);Se.show&&(Ze=we=Se.left>=0)}for(var _ in O)O[_]=null}(),ye=!1),xe&&(!function(){for(var e=!1,t=0;!e;){var n=lt(++t),r=st(t);(e=3==t||n&&r)||(ke(o.width,o.height),be=!0)}}(),xe=!1),be&&(Ti(m,pi,fe),Ti(m,di,pe),Ti(m,si,ce),Ti(m,ci,de),Ti(v,pi,fe),Ti(v,di,pe),Ti(v,si,ce),Ti(v,ci,de),Ti(h,si,le),Ti(h,ci,se),f.width=ca(le*ii),f.height=ca(se*ii),D.forEach((function(e){var t=e._el,n=e._show,r=e._size,o=e._pos,i=e.side;if(null!=t)if(n){var a=i%2==1;Ti(t,a?"left":"top",o-(3===i||0===i?r:0)),Ti(t,a?"width":"height",r),Ti(t,a?"top":"left",a?pe:fe),Ti(t,a?"height":"width",a?de:ce),Mi(t,ui)}else Ai(t,ui)})),Fe=Oe=Be=Le=Ne=ze=je=We=Ie=null,$e=1,Xt(!0),un("setSize"),be=!1),le>0&&se>0&&(p.clearRect(0,0,f.width,f.height),un("drawClear"),E.forEach((function(e){return e()})),un("draw")),Se.show&&Ze&&(Ut(null,!0,!1),Ze=!1),c||(c=!0,o.status=1,un("ready")),Ge=!1,Dt=!1}function Ct(e,n){var r=k[e];if(null==r.from){if(0==Re){var i=r.range(o,n.min,n.max,e);n.min=i[0],n.max=i[1]}if(n.min>n.max){var a=n.min;n.min=n.max,n.max=a}if(Re>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==C&&2==r.distr&&Re>0&&(n.min=Hi(n.min,t[0]),n.max=Hi(n.max,t[0]),n.min==n.max&&n.max++),O[e]=n,ye=!0,kt()}}o.redraw=function(e,t){xe=t||!1,!1!==e?It(C,R.min,R.max):kt()},o.setScale=Ct;var _t=!1,Et=Se.drag,At=Et.x,Mt=Et.y;Se.show&&(Se.x&&(dt=Ri("u-cursor-x",v)),Se.y&&(ft=Ri("u-cursor-y",v)),0==R.ori?(pt=dt,ht=ft):(pt=ft,ht=dt),Zt=Se.left,wt=Se.top);var Tt,Pt,Rt,Ft=o.select=$a({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Ot=Ft.show?Ri("u-select",Ft.over?v:m):null;function Bt(e,t){if(Ft.show){for(var n in e)Ti(Ot,n,Ft[n]=e[n]);!1!==t&&un("setSelect")}}function It(e,t,n){Ct(e,{min:t,max:n})}function Lt(e,t,n,r){null!=t.focus&&function(e){if(e!=Rt){var t=null==e,n=1!=_e.alpha;w.forEach((function(r,o){var i=t||0==o||o==e;r._focus=t?null:i,n&&function(e,t){w[e].alpha=t,Se.show&&Ae[e]&&(Ae[e].style.opacity=t);V&&X[e]&&(X[e].style.opacity=t)}(o,i?1:_e.alpha)})),Rt=e,n&&kt()}}(e),null!=t.show&&w.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=w[e],r=V?X[e]:null;n.show?r&&Mi(r,ui):(r&&Ai(r,ui),Ae.length>1&&Oi(Ae[e],-10,-10,ce,de))}(r,t.show),It(2==i?n.facets[1].scale:n.scale,null,null),kt())})),!1!==n&&un("setSeries",e,t),r&&dn("setSeries",o,e,t)}o.setSelect=Bt,o.setSeries=Lt,o.addBand=function(e,t){e.fill=Da(e.fill||null),e.dir=na(e.dir,-1),t=null==t?S.length:t,S.splice(t,0,e)},o.setBand=function(e,t){$a(S[e],t)},o.delBand=function(e){null==e?S.length=0:S.splice(e,1)};var Nt={focus:!0};function zt(e,t,n){var r=k[t];n&&(e=e/ii-(1==r.ori?pe:fe));var o=ce;1==r.ori&&(e=(o=de)-e),-1==r.dir&&(e=o-e);var i=r._min,a=i+(r._max-i)*(e/o),u=r.distr;return 3==u?ha(10,a):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return aa.sinh(e)*t}(a,r.asinh):a}function jt(e,t){Ti(Ot,pi,Ft.left=e),Ti(Ot,si,Ft.width=t)}function Wt(e,t){Ti(Ot,di,Ft.top=e),Ti(Ot,ci,Ft.height=t)}V&&Ee&&Wi(Zi,L,(function(e){Se._lock||null!=Rt&&Lt(null,Nt,!0,ln.setSeries)})),o.valToIdx=function(e){return Hi(e,t[0])},o.posToIdx=function(e,n){return Hi(zt(e,C,n),t[0],Ve,Ue)},o.posToVal=zt,o.valToPos=function(e,t,n){return 0==k[t].ori?u(e,k[t],n?ve:ce,n?he:0):l(e,k[t],n?ge:de,n?me:0)},o.batch=function(e){e(o),kt()},o.setCursor=function(e,t,n){Zt=e.left,wt=e.top,Ut(null,t,n)};var $t=0==R.ori?jt:Wt,Ht=1==R.ori?jt:Wt;function Yt(e,t){if(null!=e){var n=e.idx;Y.idx=n,w.forEach((function(e,t){(t>0||!K)&&Vt(t,n)}))}V&&Y.live&&function(){if(V&&Y.live)for(var e=2==i?1:0;eUe;Tt=ba;var f=0==R.ori?ce:de,p=1==R.ori?ce:de;if(Zt<0||0==Re||d){u=null;for(var h=0;h0&&Ae.length>1&&Oi(Ae[h],-10,-10,ce,de);if(Ee&&Lt(null,Nt,!0,null==e&&ln.setSeries),Y.live){H.fill(null),we=!0;for(var m=0;m0&&b.show){var E=null==S?-10:Aa(P(S,1==i?k[b.scale]:k[b.facets[1].scale],p,0),.5);if(E>0&&1==i){var A=la(E-wt);A<=Tt&&(Tt=A,Pt=y)}var M=void 0,F=void 0;if(0==R.ori?(M=_,F=E):(M=E,F=_),we&&Ae.length>1){Ii(Ae[y],Se.points.fill(o,y),Se.points.stroke(o,y));var O=void 0,B=void 0,I=void 0,L=void 0,N=!0,z=Se.points.bbox;if(null!=z){N=!1;var j=z(o,y);I=j.left,L=j.top,O=j.width,B=j.height}else I=M,L=F,O=B=Se.points.size(o,y);Ni(Ae[y],O,B,N),Oi(Ae[y],I,L,ce,de)}}if(Y.live){if(!we||0==y&&K)continue;Vt(y,D)}}}if(Se.idx=u,Se.left=Zt,Se.top=wt,we&&(Y.idx=u,Yt()),Ft.show&&_t)if(null!=e){var W=(0,r.Z)(ln.scales,2),$=W[0],V=W[1],U=(0,r.Z)(ln.match,2),q=U[0],X=U[1],G=(0,r.Z)(e.cursor.sync.scales,2),J=G[0],ee=G[1],te=e.cursor.drag;if(At=te._x,Mt=te._y,At||Mt){var ne,re,oe,ie,ae,ue=e.select,le=ue.left,se=ue.top,fe=ue.width,pe=ue.height,he=e.scales[$].ori,me=e.posToVal,ve=null!=$&&q($,J),ge=null!=V&&X(V,ee);ve&&At?(0==he?(ne=le,re=fe):(ne=se,re=pe),oe=k[$],ie=T(me(ne,J),oe,f,0),ae=T(me(ne+re,J),oe,f,0),$t(fa(ie,ae),la(ae-ie))):$t(0,f),ge&&Mt?(1==he?(ne=le,re=fe):(ne=se,re=pe),oe=k[V],ie=P(me(ne,ee),oe,p,0),ae=P(me(ne+re,ee),oe,p,0),Ht(fa(ie,ae),la(ae-ie))):Ht(0,p)}else Jt()}else{var ye=la(bt-mt),be=la(xt-vt);if(1==R.ori){var xe=ye;ye=be,be=xe}At=Et.x&&ye>=Et.dist,Mt=Et.y&&be>=Et.dist;var Ze,De,ke=Et.uni;null!=ke?At&&Mt&&(Mt=be>=ke,(At=ye>=ke)||Mt||(be>ye?Mt=!0:At=!0)):Et.x&&Et.y&&(At||Mt)&&(At=Mt=!0),At&&(0==R.ori?(Ze=gt,De=Zt):(Ze=yt,De=wt),$t(fa(Ze,De),la(De-Ze)),Mt||Ht(0,p)),Mt&&(1==R.ori?(Ze=gt,De=Zt):(Ze=yt,De=wt),Ht(fa(Ze,De),la(De-Ze)),At||$t(0,f)),At||Mt||($t(0,0),Ht(0,0))}if(Et._x=At,Et._y=Mt,null==e){if(a){if(null!=sn){var Ce=(0,r.Z)(ln.scales,2),Me=Ce[0],Te=Ce[1];ln.values[0]=null!=Me?zt(0==R.ori?Zt:wt,Me):null,ln.values[1]=null!=Te?zt(1==R.ori?Zt:wt,Te):null}dn(gi,o,Zt,wt,ce,de,u)}if(Ee){var Pe=a&&ln.setSeries,Fe=_e.prox;null==Rt?Tt<=Fe&&Lt(Pt,Nt,!0,Pe):Tt>Fe?Lt(null,Nt,!0,Pe):Pt!=Rt&&Lt(Pt,Nt,!0,Pe)}}c&&!1!==n&&un("setCursor")}o.setLegend=Yt;var qt=null;function Xt(e){!0===e?qt=null:un("syncRect",qt=v.getBoundingClientRect())}function Gt(e,t,n,r,o,i,a){Se._lock||(Kt(e,t,n,r,o,i,a,!1,null!=e),null!=e?Ut(null,!0,!0):Ut(t,!0,!1))}function Kt(e,t,n,i,a,u,l,c,d){if(null==qt&&Xt(!1),null!=e)n=e.clientX-qt.left,i=e.clientY-qt.top;else{if(n<0||i<0)return Zt=-10,void(wt=-10);var f=(0,r.Z)(ln.scales,2),p=f[0],h=f[1],m=t.cursor.sync,v=(0,r.Z)(m.values,2),g=v[0],y=v[1],b=(0,r.Z)(m.scales,2),x=b[0],Z=b[1],w=(0,r.Z)(ln.match,2),D=w[0],S=w[1],C=t.axes[0].side%2==1,_=0==R.ori?ce:de,E=1==R.ori?ce:de,A=C?u:a,M=C?a:u,T=C?i:n,P=C?n:i;if(n=null!=x?D(p,x)?s(g,k[p],_,0):-10:_*(T/A),i=null!=Z?S(h,Z)?s(y,k[h],E,0):-10:E*(P/M),1==R.ori){var F=n;n=i,i=F}}if(d&&((n<=1||n>=ce-1)&&(n=Za(n,ce)),(i<=1||i>=de-1)&&(i=Za(i,de))),c){mt=n,vt=i;var O=Se.move(o,n,i),B=(0,r.Z)(O,2);gt=B[0],yt=B[1]}else Zt=n,wt=i}var Qt={width:0,height:0};function Jt(){Bt(Qt,!1)}function en(e,t,n,r,i,a,u){_t=!0,At=Mt=Et._x=Et._y=!1,Kt(e,t,n,r,i,a,0,!0,!1),null!=e&&(ae(bi,Ci,tn),dn(yi,o,gt,yt,ce,de,null))}function tn(e,t,n,r,i,a,u){_t=Et._x=Et._y=!1,Kt(e,t,n,r,i,a,0,!1,!0);var l=Ft.left,s=Ft.top,c=Ft.width,d=Ft.height,f=c>0||d>0;if(f&&Bt(Ft),Et.setScale&&f){var p=l,h=c,m=s,v=d;if(1==R.ori&&(p=s,h=d,m=l,v=c),At&&It(C,zt(p,C),zt(p+h,C)),Mt)for(var g in k){var y=k[g];g!=C&&null==y.from&&y.min!=ba&&It(g,zt(m+v,g),zt(m,g))}Jt()}else Se.lock&&(Se._lock=!Se._lock,Se._lock||Ut(null,!0,!1));null!=e&&(ue(bi,Ci),dn(bi,o,Zt,wt,ce,de,null))}function nn(e,t,n,r,i,a,u){Qe(),Jt(),null!=e&&dn(wi,o,Zt,wt,ce,de,null)}function rn(){D.forEach(Ql),De(o.width,o.height,!0)}Wi(ki,_i,rn);var on={};on.mousedown=en,on.mousemove=Gt,on.mouseup=tn,on.dblclick=nn,on.setSeries=function(e,t,n,r){Lt(n,r,!0,!1)},Se.show&&(ae(yi,v,en),ae(gi,v,Gt),ae(xi,v,Xt),ae(Zi,v,(function(e,t,n,r,o,i,a){if(!Se._lock){var u=_t;if(_t){var l,s,c=!0,d=!0;0==R.ori?(l=At,s=Mt):(l=Mt,s=At),l&&s&&(c=Zt<=10||Zt>=ce-10,d=wt<=10||wt>=de-10),l&&c&&(Zt=Zt=3?tl:Sa)),e.font=Kl(e.font),e.labelFont=Kl(e.labelFont),e._size=e.size(o,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Te[t]=!0,e._el=Ri("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(d),fn()):n(o,fn):fn(),o}Jl.assign=$a,Jl.fmtNum=ia,Jl.rangeNum=ta,Jl.rangeLog=Gi,Jl.rangeAsinh=Ki,Jl.orient=pl,Jl.pxRatio=ii,Jl.join=function(e,t){for(var n=new Set,r=0;r=i&&E<=a;E+=w){var A=s[E],M=y(f(l[E],c,v,h));if(null!=A){var T=y(p(A,d,g,m));k&&(yl(D,_,M),k=!1),1==t?b(Z,M,S):b(Z,_,T),b(Z,M,T),S=T,_=M}else null===A&&(yl(D,_,M),k=!0)}var P=hl(e,o),R=(0,r.Z)(P,2),F=R[0],O=R[1];if(null!=u.fill||0!=F){var B=x.fill=new Path2D(Z),I=y(p(u.fillTo(e,o,u.min,u.max,F),d,g,m));b(B,_,I),b(B,C,I)}x.gaps=D=u.gaps(e,o,i,a,D);var L=u.width*ii/2,N=n||1==t?L:-L,z=n||-1==t?-L:L;return D.forEach((function(e){e[0]+=N,e[1]+=z})),u.spanGaps||(x.clip=gl(D,c.ori,h,m,v,g)),0!=O&&(x.band=2==O?[vl(e,o,i,a,Z,-1),vl(e,o,i,a,Z,1)]:vl(e,o,i,a,Z,O)),x}))}},es.bars=function(e){var t=na((e=e||Oa).size,[.6,ba,1]),n=e.align||0,o=(e.gap||0)*ii,i=na(e.radius,0),a=1-t[0],u=na(t[1],ba)*ii,l=na(t[2],1)*ii,s=na(e.disp,Oa),c=na(e.each,(function(e){})),d=s.fill,f=s.stroke;return function(e,t,p,h){return pl(e,t,(function(m,v,g,y,b,x,Z,w,D,k,S){var C,_,E=m.pxRound,A=y.dir*(0==y.ori?1:-1),M=b.dir*(1==b.ori?1:-1),T=0==y.ori?Sl:Cl,P=0==y.ori?c:function(e,t,n,r,o,i,a){c(e,t,n,o,r,a,i)},R=hl(e,t),F=(0,r.Z)(R,2),O=F[0],B=F[1],I=3==b.distr?1==O?b.max:b.min:0,L=Z(I,b,S,D),N=E(m.width*ii),z=!1,j=null,W=null,$=null,H=null;null==d||0!=N&&null==f||(z=!0,j=d.values(e,t,p,h),W=new Map,new Set(j).forEach((function(e){null!=e&&W.set(e,new Path2D)})),N>0&&($=f.values(e,t,p,h),H=new Map,new Set($).forEach((function(e){null!=e&&H.set(e,new Path2D)}))));var Y=s.x0,V=s.size;if(null!=Y&&null!=V){v=Y.values(e,t,p,h),2==Y.unit&&(v=v.map((function(t){return e.posToVal(w+t*k,y.key,!0)})));var U=V.values(e,t,p,h);_=E((_=2==V.unit?U[0]*k:x(U[0],y,k,w)-x(0,y,k,w))-N),C=1==A?-N/2:_+N/2}else{var q=k;if(v.length>1)for(var X=null,G=0,K=1/0;G=p&&ae<=h;ae+=A){var ue=g[ae],le=x(2!=y.distr||null!=s?v[ae]:ae,y,k,w),se=Z(na(ue,I),b,S,D);null!=ie&&null!=ue&&(L=Z(ie[ae],b,S,D));var ce=E(le-C),de=E(pa(se,L)),fe=E(fa(se,L)),pe=de-fe,he=i*_;null!=ue&&(z?(N>0&&null!=$[ae]&&T(H.get($[ae]),ce,fe+sa(N/2),_,pa(0,pe-N),he),null!=j[ae]&&T(W.get(j[ae]),ce,fe+sa(N/2),_,pa(0,pe-N),he)):T(te,ce,fe+sa(N/2),_,pa(0,pe-N),he),P(e,t,ae,ce-N/2,fe,_+N,pe)),0!=B&&(M*B==1?(de=fe,fe=J):(fe=de,de=J),T(ne,ce-N/2,fe,_+N,pa(0,pe=de-fe),0))}return N>0&&(ee.stroke=z?H:te),ee.fill=z?W:te,ee}))}},es.spline=function(e){return t=Bl,function(e,n,o,i){return pl(e,n,(function(a,u,l,s,c,d,f,p,h,m,v){var g,y,b,x=a.pxRound;0==s.ori?(g=Zl,b=Dl,y=Al):(g=wl,b=kl,y=Ml);var Z=1*s.dir*(0==s.ori?1:-1);o=Yi(l,o,i,1),i=Yi(l,o,i,-1);for(var w=[],D=!1,k=x(d(u[1==Z?o:i],s,m,p)),S=k,C=[],_=[],E=1==Z?o:i;E>=o&&E<=i;E+=Z){var A=l[E],M=d(u[E],s,m,p);null!=A?(D&&(yl(w,S,M),D=!1),C.push(S=M),_.push(f(l[E],c,v,h))):null===A&&(yl(w,S,M),D=!0)}var T={stroke:t(C,_,g,b,y,x),fill:null,clip:null,band:null,gaps:null,flags:1},P=T.stroke,R=hl(e,n),F=(0,r.Z)(R,2),O=F[0],B=F[1];if(null!=a.fill||0!=O){var I=T.fill=new Path2D(P),L=x(f(a.fillTo(e,n,a.min,a.max,O),c,v,h));b(I,S,L),b(I,k,L)}return T.gaps=w=a.gaps(e,n,o,i,w),a.spanGaps||(T.clip=gl(w,s.ori,p,h,m,v)),0!=B&&(T.band=2==B?[vl(e,n,o,i,P,-1),vl(e,n,o,i,P,1)]:vl(e,n,o,i,P,B)),T}))};var t};var ts,ns=function(e){if(7!=e.length)return"0, 0, 0";var t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16);return"".concat(t,", ").concat(n,", ").concat(r)},rs={height:500,legend:{show:!1},cursor:{drag:{x:!1,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{mouseup:function(){return null},mousedown:function(){return null},click:function(){return null},dblclick:function(){return null},mouseenter:function(){return null}}}},os=function(e){return void 0===e||null===e?"":e.toLocaleString("en-US",{maximumSignificantDigits:20})},is=function(e,t,n,r){var o,i=e.axes[n];if(r>1)return i._size||60;var a=6+((null===i||void 0===i||null===(o=i.ticks)||void 0===o?void 0:o.size)||0)+(i.gap||0),u=(null!==t&&void 0!==t?t:[]).reduce((function(e,t){return t.length>e.length?t:e}),"");return""!=u&&(a+=function(e,t){var n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);var r=n.offsetWidth;return n.remove(),r}(u,e.ctx.font)),Math.ceil(a)},as=function(e,t){return function(e){for(var t=0,n=0;n>8*o&255).toString(16)).substr(-2);return r}("".concat(e).concat(t))},us=function(e){return e<=1?[]:[4*e,1.2*e]},ls=function(e){for(var t=e.length,n=-1/0;t--;){var r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},ss=function(e){for(var t=e.length,n=1/0;t--;){var r=e[t];Number.isFinite(r)&&r2&&void 0!==arguments[2]?arguments[2]:"";return t.map((function(e){return"".concat(os(e)," ").concat(n)}))}(e,n,t)}};return e?Number(e)%2?n:vn(vn({},n),{},{side:1}):{space:80}}))},ds=function(e,t){if(null==e||null==t)return[-1,1];var n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},fs=function(e){var t,n,r=e.u,o=e.tooltipIdx,i=e.metrics,a=e.series,u=e.tooltip,l=e.tooltipOffset,s=e.unit,c=void 0===s?"":s,d=o.seriesIdx,f=o.dataIdx;if(null!==d&&void 0!==f){var p=r.data[d][f],h=r.data[0][f],m=(null===(t=i[d-1])||void 0===t?void 0:t.metric)||{},v=a[d],g=as(Number(v.scale||0),v.label||""),y=r.over.getBoundingClientRect(),b=y.width,x=y.height,Z=r.valToPos(p||0,(null===(n=a[d])||void 0===n?void 0:n.scale)||"1"),w=r.valToPos(h,"x"),D=u.getBoundingClientRect(),k=D.width,S=D.height,C=w+k>=b,_=Z+S>=x;u.style.display="grid",u.style.top="".concat(l.top+Z+10-(_?S+10:0),"px"),u.style.left="".concat(l.left+w+10-(C?k+20:0),"px");var E=(v.label||"").replace(/{.+}/gim,""),A=cr()(new Date(1e3*h)).format("YYYY-MM-DD HH:mm:ss:SSS (Z)"),M=Object.keys(m).filter((function(e){return"__name__"!==e})).map((function(e){return"
".concat(e,": ").concat(m[e],"
")})).join(""),T='
');u.innerHTML="
".concat(A,'
\n
\n ').concat(T).concat(E,': ').concat(os(p)," ").concat(c,'\n
\n
').concat(M,"
")}},ps=n(2061),hs=n.n(ps),ms=function(e){var n=(0,t.useState)({width:0,height:0}),o=(0,r.Z)(n,2),i=o[0],a=o[1];return(0,t.useEffect)((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,r=t.height;a({width:n,height:r})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[]),i};!function(e){e.xRange="xRange",e.yRange="yRange",e.data="data"}(ts||(ts={}));var vs=function(e){var n=e.data,o=e.series,i=e.metrics,a=void 0===i?[]:i,u=e.period,l=e.yaxis,s=e.unit,c=e.setPeriod,d=e.container,f=(0,t.useRef)(null),p=(0,t.useState)(!1),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=(0,t.useState)({min:u.start,max:u.end}),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)(),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=ms(d),C=document.createElement("div");C.className="u-tooltip";var _={seriesIdx:null,dataIdx:void 0},E={left:0,top:0},A=(0,t.useCallback)(hs()((function(e){var t=e.min,n=e.max;c({from:new Date(1e3*t),to:new Date(1e3*n)})}),500),[]),M=function(e){var t=e.u,n=e.min,r=e.max,o=1e3*(r-n);oMr||(t.setScale("x",{min:n,max:r}),x({min:n,max:r}),A({min:n,max:r}))},T=function(){return[b.min,b.max]},P=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0;return l.limits.enable?l.limits.range[r]:ds(t,n)},R=vn(vn({},rs),{},{series:o,axes:cs(o.length>1?o:[{},{scale:"1"}],s),scales:vn({},function(){var e={x:{range:T}},t=Object.keys(l.limits.range);return(t.length?t:["1"]).forEach((function(t){e[t]={range:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return P(e,n,r,t)}}})),e}()),width:S.width||400,plugins:[{hooks:{ready:function(e){var t;E.left=parseFloat(e.over.style.left),E.top=parseFloat(e.over.style.top),null===(t=e.root.querySelector(".u-wrap"))||void 0===t||t.appendChild(C),e.over.addEventListener("mousedown",(function(t){return function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,o=e.u,i=e.setPanning,a=e.setPlotScale;if(0===t.button){t.preventDefault(),i(!0);var u=t.clientX,l=o.posToVal(1,"x")-o.posToVal(0,"x"),s=o.scales.x.min||0,c=o.scales.x.max||0,d=function(e){e.preventDefault();var t=l*((e.clientX-u)*r);a({u:o,min:s-t,max:c-t})};document.addEventListener("mousemove",d),document.addEventListener("mouseup",(function e(){i(!1),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",e)}))}}({u:e,e:t,setPanning:v,setPlotScale:M,factor:.9})})),e.over.addEventListener("wheel",(function(t){if(t.ctrlKey||t.metaKey){t.preventDefault();var n=e.over.getBoundingClientRect().width,r=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,o=e.posToVal(r,"x"),i=(e.scales.x.max||0)-(e.scales.x.min||0),a=t.deltaY<0?.9*i:i/.9,u=o-r/n*a,l=u+a;e.batch((function(){return M({u:e,min:u,max:l})}))}}))},setCursor:function(e){_.dataIdx!==e.cursor.idx&&(_.dataIdx=e.cursor.idx||0,null!==_.seriesIdx&&void 0!==_.dataIdx&&fs({u:e,tooltipIdx:_,metrics:a,series:o,tooltip:C,tooltipOffset:E,unit:s}))},setSeries:function(e,t){_.seriesIdx!==t&&(_.seriesIdx=t,t&&void 0!==_.dataIdx?fs({u:e,tooltipIdx:_,metrics:a,series:o,tooltip:C,tooltipOffset:E,unit:s}):C.style.display="none")}}}]}),F=function(e){if(D){switch(e){case ts.xRange:D.scales.x.range=T;break;case ts.yRange:Object.keys(l.limits.range).forEach((function(e){D.scales[e]&&(D.scales[e].range=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return P(t,n,r,e)})}));break;case ts.data:D.setData(n)}m||D.redraw()}};return(0,t.useEffect)((function(){return x({min:u.start,max:u.end})}),[u]),(0,t.useEffect)((function(){if(f.current){var e=new Jl(R,n,f.current);return k(e),x({min:u.start,max:u.end}),e.destroy}}),[f.current,o,S]),(0,t.useEffect)((function(){return F(ts.data)}),[n]),(0,t.useEffect)((function(){return F(ts.xRange)}),[b]),(0,t.useEffect)((function(){return F(ts.yRange)}),[l]),(0,ie.tZ)("div",{style:{pointerEvents:m?"none":"auto",height:"500px"},children:(0,ie.tZ)("div",{ref:f})})};function gs(e,t,n,r,o,i,a){try{var u=e[i](a),l=u.value}catch(s){return void n(s)}u.done?t(l):Promise.resolve(l).then(r,o)}function ys(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){gs(i,r,o,a,u,"next",e)}function u(e){gs(i,r,o,a,u,"throw",e)}a(void 0)}))}}var bs=n(7757),xs=n.n(bs);var Zs=function(e){return"string"===typeof e};function ws(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return Zs(e)?t:(0,o.Z)({},t,{ownerState:(0,o.Z)({},t.ownerState,n)})}var Ds=n(2678);function ks(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function Ss(e){return e instanceof ks(e).Element||e instanceof Element}function Cs(e){return e instanceof ks(e).HTMLElement||e instanceof HTMLElement}function _s(e){return"undefined"!==typeof ShadowRoot&&(e instanceof ks(e).ShadowRoot||e instanceof ShadowRoot)}var Es=Math.max,As=Math.min,Ms=Math.round;function Ts(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),r=1,o=1;if(Cs(e)&&t){var i=e.offsetHeight,a=e.offsetWidth;a>0&&(r=Ms(n.width)/a||1),i>0&&(o=Ms(n.height)/i||1)}return{width:n.width/r,height:n.height/o,top:n.top/o,right:n.right/r,bottom:n.bottom/o,left:n.left/r,x:n.left/r,y:n.top/o}}function Ps(e){var t=ks(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Rs(e){return e?(e.nodeName||"").toLowerCase():null}function Fs(e){return((Ss(e)?e.ownerDocument:e.document)||window.document).documentElement}function Os(e){return Ts(Fs(e)).left+Ps(e).scrollLeft}function Bs(e){return ks(e).getComputedStyle(e)}function Is(e){var t=Bs(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function Ls(e,t,n){void 0===n&&(n=!1);var r=Cs(t),o=Cs(t)&&function(e){var t=e.getBoundingClientRect(),n=Ms(t.width)/e.offsetWidth||1,r=Ms(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),i=Fs(t),a=Ts(e,o),u={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&(("body"!==Rs(t)||Is(i))&&(u=function(e){return e!==ks(e)&&Cs(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:Ps(e);var t}(t)),Cs(t)?((l=Ts(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=Os(i))),{x:a.left+u.scrollLeft-l.x,y:a.top+u.scrollTop-l.y,width:a.width,height:a.height}}function Ns(e){var t=Ts(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function zs(e){return"html"===Rs(e)?e:e.assignedSlot||e.parentNode||(_s(e)?e.host:null)||Fs(e)}function js(e){return["html","body","#document"].indexOf(Rs(e))>=0?e.ownerDocument.body:Cs(e)&&Is(e)?e:js(zs(e))}function Ws(e,t){var n;void 0===t&&(t=[]);var r=js(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),i=ks(r),a=o?[i].concat(i.visualViewport||[],Is(r)?r:[]):r,u=t.concat(a);return o?u:u.concat(Ws(zs(a)))}function $s(e){return["table","td","th"].indexOf(Rs(e))>=0}function Hs(e){return Cs(e)&&"fixed"!==Bs(e).position?e.offsetParent:null}function Ys(e){for(var t=ks(e),n=Hs(e);n&&$s(n)&&"static"===Bs(n).position;)n=Hs(n);return n&&("html"===Rs(n)||"body"===Rs(n)&&"static"===Bs(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Cs(e)&&"fixed"===Bs(e).position)return null;var n=zs(e);for(_s(n)&&(n=n.host);Cs(n)&&["html","body"].indexOf(Rs(n))<0;){var r=Bs(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var Vs="top",Us="bottom",qs="right",Xs="left",Gs="auto",Ks=[Vs,Us,qs,Xs],Qs="start",Js="end",ec="viewport",tc="popper",nc=Ks.reduce((function(e,t){return e.concat([t+"-"+Qs,t+"-"+Js])}),[]),rc=[].concat(Ks,[Gs]).reduce((function(e,t){return e.concat([t,t+"-"+Qs,t+"-"+Js])}),[]),oc=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function ic(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function ac(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var uc={placement:"bottom",modifiers:[],strategy:"absolute"};function lc(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function mc(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?fc(o):null,a=o?pc(o):null,u=n.x+n.width/2-r.width/2,l=n.y+n.height/2-r.height/2;switch(i){case Vs:t={x:u,y:n.y-r.height};break;case Us:t={x:u,y:n.y+n.height};break;case qs:t={x:n.x+n.width,y:l};break;case Xs:t={x:n.x-r.width,y:l};break;default:t={x:n.x,y:n.y}}var s=i?hc(i):null;if(null!=s){var c="y"===s?"height":"width";switch(a){case Qs:t[s]=t[s]-(n[c]/2-r[c]/2);break;case Js:t[s]=t[s]+(n[c]/2-r[c]/2)}}return t}var vc={top:"auto",right:"auto",bottom:"auto",left:"auto"};function gc(e){var t,n=e.popper,r=e.popperRect,o=e.placement,i=e.variation,a=e.offsets,u=e.position,l=e.gpuAcceleration,s=e.adaptive,c=e.roundOffsets,d=e.isFixed,f=a.x,p=void 0===f?0:f,h=a.y,m=void 0===h?0:h,v="function"===typeof c?c({x:p,y:m}):{x:p,y:m};p=v.x,m=v.y;var g=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),b=Xs,x=Vs,Z=window;if(s){var w=Ys(n),D="clientHeight",k="clientWidth";if(w===ks(n)&&"static"!==Bs(w=Fs(n)).position&&"absolute"===u&&(D="scrollHeight",k="scrollWidth"),o===Vs||(o===Xs||o===qs)&&i===Js)x=Us,m-=(d&&w===Z&&Z.visualViewport?Z.visualViewport.height:w[D])-r.height,m*=l?1:-1;if(o===Xs||(o===Vs||o===Us)&&i===Js)b=qs,p-=(d&&w===Z&&Z.visualViewport?Z.visualViewport.width:w[k])-r.width,p*=l?1:-1}var S,C=Object.assign({position:u},s&&vc),_=!0===c?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:Ms(t*r)/r||0,y:Ms(n*r)/r||0}}({x:p,y:m}):{x:p,y:m};return p=_.x,m=_.y,l?Object.assign({},C,((S={})[x]=y?"0":"",S[b]=g?"0":"",S.transform=(Z.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",S)):Object.assign({},C,((t={})[x]=y?m+"px":"",t[b]=g?p+"px":"",t.transform="",t))}var yc={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,u=n.roundOffsets,l=void 0===u||u,s={placement:fc(t.placement),variation:pc(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,gc(Object.assign({},s,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,gc(Object.assign({},s,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};var bc={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];Cs(o)&&Rs(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});Cs(r)&&Rs(r)&&(Object.assign(r.style,i),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};var xc={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=rc.reduce((function(e,n){return e[n]=function(e,t,n){var r=fc(e),o=[Xs,Vs].indexOf(r)>=0?-1:1,i="function"===typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],u=i[1];return a=a||0,u=(u||0)*o,[Xs,qs].indexOf(r)>=0?{x:u,y:a}:{x:a,y:u}}(n,t.rects,i),e}),{}),u=a[t.placement],l=u.x,s=u.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=s),t.modifiersData[r]=a}},Zc={left:"right",right:"left",bottom:"top",top:"bottom"};function wc(e){return e.replace(/left|right|bottom|top/g,(function(e){return Zc[e]}))}var Dc={start:"end",end:"start"};function kc(e){return e.replace(/start|end/g,(function(e){return Dc[e]}))}function Sc(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&_s(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function Cc(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function _c(e,t){return t===ec?Cc(function(e){var t=ks(e),n=Fs(e),r=t.visualViewport,o=n.clientWidth,i=n.clientHeight,a=0,u=0;return r&&(o=r.width,i=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,u=r.offsetTop)),{width:o,height:i,x:a+Os(e),y:u}}(e)):Ss(t)?function(e){var t=Ts(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):Cc(function(e){var t,n=Fs(e),r=Ps(e),o=null==(t=e.ownerDocument)?void 0:t.body,i=Es(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Es(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-r.scrollLeft+Os(e),l=-r.scrollTop;return"rtl"===Bs(o||n).direction&&(u+=Es(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:u,y:l}}(Fs(e)))}function Ec(e,t,n){var r="clippingParents"===t?function(e){var t=Ws(zs(e)),n=["absolute","fixed"].indexOf(Bs(e).position)>=0&&Cs(e)?Ys(e):e;return Ss(n)?t.filter((function(e){return Ss(e)&&Sc(e,n)&&"body"!==Rs(e)})):[]}(e):[].concat(t),o=[].concat(r,[n]),i=o[0],a=o.reduce((function(t,n){var r=_c(e,n);return t.top=Es(r.top,t.top),t.right=As(r.right,t.right),t.bottom=As(r.bottom,t.bottom),t.left=Es(r.left,t.left),t}),_c(e,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ac(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Mc(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Tc(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=void 0===r?e.placement:r,i=n.boundary,a=void 0===i?"clippingParents":i,u=n.rootBoundary,l=void 0===u?ec:u,s=n.elementContext,c=void 0===s?tc:s,d=n.altBoundary,f=void 0!==d&&d,p=n.padding,h=void 0===p?0:p,m=Ac("number"!==typeof h?h:Mc(h,Ks)),v=c===tc?"reference":tc,g=e.rects.popper,y=e.elements[f?v:c],b=Ec(Ss(y)?y:y.contextElement||Fs(e.elements.popper),a,l),x=Ts(e.elements.reference),Z=mc({reference:x,element:g,strategy:"absolute",placement:o}),w=Cc(Object.assign({},g,Z)),D=c===tc?w:x,k={top:b.top-D.top+m.top,bottom:D.bottom-b.bottom+m.bottom,left:b.left-D.left+m.left,right:D.right-b.right+m.right},S=e.modifiersData.offset;if(c===tc&&S){var C=S[o];Object.keys(k).forEach((function(e){var t=[qs,Us].indexOf(e)>=0?1:-1,n=[Vs,Us].indexOf(e)>=0?"y":"x";k[e]+=C[n]*t}))}return k}var Pc={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,u=void 0===a||a,l=n.fallbackPlacements,s=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,h=void 0===p||p,m=n.allowedAutoPlacements,v=t.options.placement,g=fc(v),y=l||(g===v||!h?[wc(v)]:function(e){if(fc(e)===Gs)return[];var t=wc(e);return[kc(e),t,kc(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(fc(n)===Gs?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,u=n.flipVariations,l=n.allowedAutoPlacements,s=void 0===l?rc:l,c=pc(r),d=c?u?nc:nc.filter((function(e){return pc(e)===c})):Ks,f=d.filter((function(e){return s.indexOf(e)>=0}));0===f.length&&(f=d);var p=f.reduce((function(t,n){return t[n]=Tc(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[fc(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:c,rootBoundary:d,padding:s,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,Z=t.rects.popper,w=new Map,D=!0,k=b[0],S=0;S=0,M=A?"width":"height",T=Tc(t,{placement:C,boundary:c,rootBoundary:d,altBoundary:f,padding:s}),P=A?E?qs:Xs:E?Us:Vs;x[M]>Z[M]&&(P=wc(P));var R=wc(P),F=[];if(i&&F.push(T[_]<=0),u&&F.push(T[P]<=0,T[R]<=0),F.every((function(e){return e}))){k=C,D=!1;break}w.set(C,F)}if(D)for(var O=function(e){var t=b.find((function(t){var n=w.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},B=h?3:1;B>0;B--){if("break"===O(B))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Rc(e,t,n){return Es(e,As(t,n))}var Fc={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=void 0===o||o,a=n.altAxis,u=void 0!==a&&a,l=n.boundary,s=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,p=void 0===f||f,h=n.tetherOffset,m=void 0===h?0:h,v=Tc(t,{boundary:l,rootBoundary:s,padding:d,altBoundary:c}),g=fc(t.placement),y=pc(t.placement),b=!y,x=hc(g),Z="x"===x?"y":"x",w=t.modifiersData.popperOffsets,D=t.rects.reference,k=t.rects.popper,S="function"===typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,C="number"===typeof S?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S),_=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,E={x:0,y:0};if(w){if(i){var A,M="y"===x?Vs:Xs,T="y"===x?Us:qs,P="y"===x?"height":"width",R=w[x],F=R+v[M],O=R-v[T],B=p?-k[P]/2:0,I=y===Qs?D[P]:k[P],L=y===Qs?-k[P]:-D[P],N=t.elements.arrow,z=p&&N?Ns(N):{width:0,height:0},j=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},W=j[M],$=j[T],H=Rc(0,D[P],z[P]),Y=b?D[P]/2-B-H-W-C.mainAxis:I-H-W-C.mainAxis,V=b?-D[P]/2+B+H+$+C.mainAxis:L+H+$+C.mainAxis,U=t.elements.arrow&&Ys(t.elements.arrow),q=U?"y"===x?U.clientTop||0:U.clientLeft||0:0,X=null!=(A=null==_?void 0:_[x])?A:0,G=R+V-X,K=Rc(p?As(F,R+Y-X-q):F,R,p?Es(O,G):O);w[x]=K,E[x]=K-R}if(u){var Q,J="x"===x?Vs:Xs,ee="x"===x?Us:qs,te=w[Z],ne="y"===Z?"height":"width",re=te+v[J],oe=te-v[ee],ie=-1!==[Vs,Xs].indexOf(g),ae=null!=(Q=null==_?void 0:_[Z])?Q:0,ue=ie?re:te-D[ne]-k[ne]-ae+C.altAxis,le=ie?te+D[ne]+k[ne]-ae-C.altAxis:oe,se=p&&ie?function(e,t,n){var r=Rc(e,t,n);return r>n?n:r}(ue,te,le):Rc(p?ue:re,te,p?le:oe);w[Z]=se,E[Z]=se-te}t.modifiersData[r]=E}},requiresIfExists:["offset"]};var Oc={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,u=fc(n.placement),l=hc(u),s=[Xs,qs].indexOf(u)>=0?"height":"width";if(i&&a){var c=function(e,t){return Ac("number"!==typeof(e="function"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:Mc(e,Ks))}(o.padding,n),d=Ns(i),f="y"===l?Vs:Xs,p="y"===l?Us:qs,h=n.rects.reference[s]+n.rects.reference[l]-a[l]-n.rects.popper[s],m=a[l]-n.rects.reference[l],v=Ys(i),g=v?"y"===l?v.clientHeight||0:v.clientWidth||0:0,y=h/2-m/2,b=c[f],x=g-d[s]-c[p],Z=g/2-d[s]/2+y,w=Rc(b,Z,x),D=l;n.modifiersData[r]=((t={})[D]=w,t.centerOffset=w-Z,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!==typeof r||(r=t.elements.popper.querySelector(r)))&&Sc(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Bc(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function Ic(e){return[Vs,qs,Us,Xs].some((function(t){return e[t]>=0}))}var Lc=sc({defaultModifiers:[dc,{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=mc({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},yc,bc,xc,Pc,Fc,Oc,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Tc(t,{elementContext:"reference"}),u=Tc(t,{altBoundary:!0}),l=Bc(a,r),s=Bc(u,o,i),c=Ic(l),d=Ic(s);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:s,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}}]}),Nc=n(9265);var zc=t.forwardRef((function(e,n){var o=e.children,i=e.container,a=e.disablePortal,u=void 0!==a&&a,l=t.useState(null),s=(0,r.Z)(l,2),c=s[0],d=s[1],f=(0,Et.Z)(t.isValidElement(o)?o.ref:null,n);return(0,Ds.Z)((function(){u||d(function(e){return"function"===typeof e?e():e}(i)||document.body)}),[i,u]),(0,Ds.Z)((function(){if(c&&!u)return(0,Nc.Z)(n,c),function(){(0,Nc.Z)(n,null)}}),[n,c,u]),u?t.isValidElement(o)?t.cloneElement(o,{ref:f}):o:c?t.createPortal(o,c):c})),jc=["anchorEl","children","direction","disablePortal","modifiers","open","ownerState","placement","popperOptions","popperRef","TransitionProps"],Wc=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition"];function $c(e){return"function"===typeof e?e():e}var Hc={},Yc=t.forwardRef((function(e,n){var i=e.anchorEl,a=e.children,u=e.direction,l=e.disablePortal,s=e.modifiers,c=e.open,d=e.placement,f=e.popperOptions,p=e.popperRef,h=e.TransitionProps,m=(0,X.Z)(e,jc),v=t.useRef(null),g=(0,Et.Z)(v,n),y=t.useRef(null),b=(0,Et.Z)(y,p),x=t.useRef(b);(0,Ds.Z)((function(){x.current=b}),[b]),t.useImperativeHandle(p,(function(){return y.current}),[]);var Z=function(e,t){if("ltr"===t)return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}(d,u),w=t.useState(Z),D=(0,r.Z)(w,2),k=D[0],S=D[1];t.useEffect((function(){y.current&&y.current.forceUpdate()})),(0,Ds.Z)((function(){if(i&&c){$c(i);var e=[{name:"preventOverflow",options:{altBoundary:l}},{name:"flip",options:{altBoundary:l}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:function(e){var t=e.state;S(t.placement)}}];null!=s&&(e=e.concat(s)),f&&null!=f.modifiers&&(e=e.concat(f.modifiers));var t=Lc($c(i),v.current,(0,o.Z)({placement:Z},f,{modifiers:e}));return x.current(t),function(){t.destroy(),x.current(null)}}}),[i,l,s,c,f,Z]);var C={placement:k};return null!==h&&(C.TransitionProps=h),(0,ie.tZ)("div",(0,o.Z)({ref:g,role:"tooltip"},m,{children:"function"===typeof a?a(C):a}))})),Vc=t.forwardRef((function(e,n){var i=e.anchorEl,a=e.children,u=e.container,l=e.direction,s=void 0===l?"ltr":l,c=e.disablePortal,d=void 0!==c&&c,f=e.keepMounted,p=void 0!==f&&f,h=e.modifiers,m=e.open,v=e.placement,g=void 0===v?"bottom":v,y=e.popperOptions,b=void 0===y?Hc:y,x=e.popperRef,Z=e.style,w=e.transition,D=void 0!==w&&w,k=(0,X.Z)(e,Wc),S=t.useState(!0),C=(0,r.Z)(S,2),_=C[0],E=C[1];if(!p&&!m&&(!D||_))return null;var A=u||(i?(0,Mt.Z)($c(i)).body:void 0);return(0,ie.tZ)(zc,{disablePortal:d,container:A,children:(0,ie.tZ)(Yc,(0,o.Z)({anchorEl:i,direction:s,disablePortal:d,modifiers:h,ref:n,open:D?!_:m,placement:g,popperOptions:b,popperRef:x},k,{style:(0,o.Z)({position:"fixed",top:0,left:0,display:m||!p||D&&!_?null:"none"},Z),TransitionProps:D?{in:m,onEnter:function(){E(!1)},onExited:function(){E(!0)}}:null,children:a}))})})),Uc=Vc,qc=n(4976),Xc=(0,J.ZP)(Uc,{name:"MuiPopper",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),Gc=t.forwardRef((function(e,t){var n=(0,qc.Z)(),r=(0,ee.Z)({props:e,name:"MuiPopper"});return(0,ie.tZ)(Xc,(0,o.Z)({direction:null==n?void 0:n.direction},r,{ref:t}))})),Kc=Gc,Qc=n(7677),Jc=n(522);function ed(e){return(0,ne.Z)("MuiTooltip",e)}var td=(0,re.Z)("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),nd=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","title","TransitionComponent","TransitionProps"];var rd=(0,J.ZP)(Kc,{name:"MuiTooltip",slot:"Popper",overridesResolver:function(e,t){var n=e.ownerState;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})((function(e){var t,n=e.theme,r=e.ownerState,i=e.open;return(0,o.Z)({zIndex:n.zIndex.tooltip,pointerEvents:"none"},!r.disableInteractive&&{pointerEvents:"auto"},!i&&{pointerEvents:"none"},r.arrow&&(t={},(0,q.Z)(t,'&[data-popper-placement*="bottom"] .'.concat(td.arrow),{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}}),(0,q.Z)(t,'&[data-popper-placement*="top"] .'.concat(td.arrow),{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}}),(0,q.Z)(t,'&[data-popper-placement*="right"] .'.concat(td.arrow),(0,o.Z)({},r.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}})),(0,q.Z)(t,'&[data-popper-placement*="left"] .'.concat(td.arrow),(0,o.Z)({},r.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})),t))})),od=(0,J.ZP)("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:function(e,t){var n=e.ownerState;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t["tooltipPlacement".concat((0,te.Z)(n.placement.split("-")[0]))]]}})((function(e){var t,n,r=e.theme,i=e.ownerState;return(0,o.Z)({backgroundColor:(0,Q.Fq)(r.palette.grey[700],.92),borderRadius:r.shape.borderRadius,color:r.palette.common.white,fontFamily:r.typography.fontFamily,padding:"4px 8px",fontSize:r.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:r.typography.fontWeightMedium},i.arrow&&{position:"relative",margin:0},i.touch&&{padding:"8px 16px",fontSize:r.typography.pxToRem(14),lineHeight:"".concat((n=16/14,Math.round(1e5*n)/1e5),"em"),fontWeight:r.typography.fontWeightRegular},(t={},(0,q.Z)(t,".".concat(td.popper,'[data-popper-placement*="left"] &'),(0,o.Z)({transformOrigin:"right center"},i.isRtl?(0,o.Z)({marginLeft:"14px"},i.touch&&{marginLeft:"24px"}):(0,o.Z)({marginRight:"14px"},i.touch&&{marginRight:"24px"}))),(0,q.Z)(t,".".concat(td.popper,'[data-popper-placement*="right"] &'),(0,o.Z)({transformOrigin:"left center"},i.isRtl?(0,o.Z)({marginRight:"14px"},i.touch&&{marginRight:"24px"}):(0,o.Z)({marginLeft:"14px"},i.touch&&{marginLeft:"24px"}))),(0,q.Z)(t,".".concat(td.popper,'[data-popper-placement*="top"] &'),(0,o.Z)({transformOrigin:"center bottom",marginBottom:"14px"},i.touch&&{marginBottom:"24px"})),(0,q.Z)(t,".".concat(td.popper,'[data-popper-placement*="bottom"] &'),(0,o.Z)({transformOrigin:"center top",marginTop:"14px"},i.touch&&{marginTop:"24px"})),t))})),id=(0,J.ZP)("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:function(e,t){return t.arrow}})((function(e){var t=e.theme;return{overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:(0,Q.Fq)(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}})),ad=!1,ud=null;function ld(e,t){return function(n){t&&t(n),e(n)}}var sd=t.forwardRef((function(e,n){var i,a,u,l,s,c,d=(0,ee.Z)({props:e,name:"MuiTooltip"}),f=d.arrow,p=void 0!==f&&f,h=d.children,m=d.components,v=void 0===m?{}:m,g=d.componentsProps,y=void 0===g?{}:g,b=d.describeChild,x=void 0!==b&&b,Z=d.disableFocusListener,w=void 0!==Z&&Z,D=d.disableHoverListener,k=void 0!==D&&D,S=d.disableInteractive,C=void 0!==S&&S,_=d.disableTouchListener,E=void 0!==_&&_,A=d.enterDelay,M=void 0===A?100:A,T=d.enterNextDelay,P=void 0===T?0:T,R=d.enterTouchDelay,F=void 0===R?700:R,O=d.followCursor,B=void 0!==O&&O,I=d.id,L=d.leaveDelay,N=void 0===L?0:L,z=d.leaveTouchDelay,j=void 0===z?1500:z,W=d.onClose,$=d.onOpen,H=d.open,Y=d.placement,V=void 0===Y?"bottom":Y,U=d.PopperComponent,q=d.PopperProps,Q=void 0===q?{}:q,J=d.title,ne=d.TransitionComponent,re=void 0===ne?Qt:ne,oe=d.TransitionProps,ae=(0,X.Z)(d,nd),ue=Ot(),le="rtl"===ue.direction,se=t.useState(),ce=(0,r.Z)(se,2),de=ce[0],fe=ce[1],ve=t.useState(null),ge=(0,r.Z)(ve,2),ye=ge[0],be=ge[1],xe=t.useRef(!1),Ze=C||B,we=t.useRef(),De=t.useRef(),ke=t.useRef(),Se=t.useRef(),Ce=(0,Jc.Z)({controlled:H,default:!1,name:"Tooltip",state:"open"}),_e=(0,r.Z)(Ce,2),Ee=_e[0],Ae=_e[1],Me=Ee,Te=(0,Qc.Z)(I),Pe=t.useRef(),Re=t.useCallback((function(){void 0!==Pe.current&&(document.body.style.WebkitUserSelect=Pe.current,Pe.current=void 0),clearTimeout(Se.current)}),[]);t.useEffect((function(){return function(){clearTimeout(we.current),clearTimeout(De.current),clearTimeout(ke.current),Re()}}),[Re]);var Fe=function(e){clearTimeout(ud),ad=!0,Ae(!0),$&&!Me&&$(e)},Oe=(0,he.Z)((function(e){clearTimeout(ud),ud=setTimeout((function(){ad=!1}),800+N),Ae(!1),W&&Me&&W(e),clearTimeout(we.current),we.current=setTimeout((function(){xe.current=!1}),ue.transitions.duration.shortest)})),Be=function(e){xe.current&&"touchstart"!==e.type||(de&&de.removeAttribute("title"),clearTimeout(De.current),clearTimeout(ke.current),M||ad&&P?De.current=setTimeout((function(){Fe(e)}),ad?P:M):Fe(e))},Ie=function(e){clearTimeout(De.current),clearTimeout(ke.current),ke.current=setTimeout((function(){Oe(e)}),N)},Le=(0,me.Z)(),Ne=Le.isFocusVisibleRef,ze=Le.onBlur,je=Le.onFocus,We=Le.ref,$e=t.useState(!1),He=(0,r.Z)($e,2)[1],Ye=function(e){ze(e),!1===Ne.current&&(He(!1),Ie(e))},Ve=function(e){de||fe(e.currentTarget),je(e),!0===Ne.current&&(He(!0),Be(e))},Ue=function(e){xe.current=!0;var t=h.props;t.onTouchStart&&t.onTouchStart(e)},qe=Be,Xe=Ie;t.useEffect((function(){if(Me)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){"Escape"!==e.key&&"Esc"!==e.key||Oe(e)}}),[Oe,Me]);var Ge=(0,pe.Z)(fe,n),Ke=(0,pe.Z)(We,Ge),Qe=(0,pe.Z)(h.ref,Ke);""===J&&(Me=!1);var Je=t.useRef({x:0,y:0}),et=t.useRef(),tt={},nt="string"===typeof J;x?(tt.title=Me||!nt||k?null:J,tt["aria-describedby"]=Me?Te:null):(tt["aria-label"]=nt?J:null,tt["aria-labelledby"]=Me&&!nt?Te:null);var rt=(0,o.Z)({},tt,ae,h.props,{className:(0,G.Z)(ae.className,h.props.className),onTouchStart:Ue,ref:Qe},B?{onMouseMove:function(e){var t=h.props;t.onMouseMove&&t.onMouseMove(e),Je.current={x:e.clientX,y:e.clientY},et.current&&et.current.update()}}:{});var ot={};E||(rt.onTouchStart=function(e){Ue(e),clearTimeout(ke.current),clearTimeout(we.current),Re(),Pe.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",Se.current=setTimeout((function(){document.body.style.WebkitUserSelect=Pe.current,Be(e)}),F)},rt.onTouchEnd=function(e){h.props.onTouchEnd&&h.props.onTouchEnd(e),Re(),clearTimeout(ke.current),ke.current=setTimeout((function(){Oe(e)}),j)}),k||(rt.onMouseOver=ld(qe,rt.onMouseOver),rt.onMouseLeave=ld(Xe,rt.onMouseLeave),Ze||(ot.onMouseOver=qe,ot.onMouseLeave=Xe)),w||(rt.onFocus=ld(Ve,rt.onFocus),rt.onBlur=ld(Ye,rt.onBlur),Ze||(ot.onFocus=Ve,ot.onBlur=Ye));var it=t.useMemo((function(){var e,t=[{name:"arrow",enabled:Boolean(ye),options:{element:ye,padding:4}}];return null!=(e=Q.popperOptions)&&e.modifiers&&(t=t.concat(Q.popperOptions.modifiers)),(0,o.Z)({},Q.popperOptions,{modifiers:t})}),[ye,Q]),at=(0,o.Z)({},d,{isRtl:le,arrow:p,disableInteractive:Ze,placement:V,PopperComponentProp:U,touch:xe.current}),ut=function(e){var t=e.classes,n=e.disableInteractive,r=e.arrow,o=e.touch,i=e.placement,a={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch","tooltipPlacement".concat((0,te.Z)(i.split("-")[0]))],arrow:["arrow"]};return(0,K.Z)(a,ed,t)}(at),lt=null!=(i=v.Popper)?i:rd,st=null!=(a=null!=(u=v.Transition)?u:re)?a:Qt,ct=null!=(l=v.Tooltip)?l:od,dt=null!=(s=v.Arrow)?s:id,ft=ws(lt,(0,o.Z)({},Q,y.popper),at),pt=ws(st,(0,o.Z)({},oe,y.transition),at),ht=ws(ct,(0,o.Z)({},y.tooltip),at),mt=ws(dt,(0,o.Z)({},y.arrow),at);return(0,ie.BX)(t.Fragment,{children:[t.cloneElement(h,rt),(0,ie.tZ)(lt,(0,o.Z)({as:null!=U?U:Kc,placement:V,anchorEl:B?{getBoundingClientRect:function(){return{top:Je.current.y,left:Je.current.x,right:Je.current.x,bottom:Je.current.y,width:0,height:0}}}:de,popperRef:et,open:!!de&&Me,id:Te,transition:!0},ot,ft,{className:(0,G.Z)(ut.popper,null==Q?void 0:Q.className,null==(c=y.popper)?void 0:c.className),popperOptions:it,children:function(e){var t,n,r=e.TransitionProps;return(0,ie.tZ)(st,(0,o.Z)({timeout:ue.transitions.duration.shorter},r,pt,{children:(0,ie.BX)(ct,(0,o.Z)({},ht,{className:(0,G.Z)(ut.tooltip,null==(t=y.tooltip)?void 0:t.className),children:[J,p?(0,ie.tZ)(dt,(0,o.Z)({},mt,{className:(0,G.Z)(ut.arrow,null==(n=y.arrow)?void 0:n.className),ref:be})):null]}))}))}}))]})})),cd=sd,dd=function(e){var n=e.labels,o=e.query,i=e.onChange,a=(0,t.useState)(""),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=(0,t.useMemo)((function(){return Array.from(new Set(n.map((function(e){return e.group}))))}),[n]),d=function(){var e=ys(xs().mark((function e(t,n){return xs().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:s(n),setTimeout((function(){return s("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)("div",{className:"legendWrapper",children:c.map((function(e){return(0,ie.BX)("div",{className:"legendGroup",children:[(0,ie.BX)("div",{className:"legendGroupTitle",children:[(0,ie.BX)("span",{className:"legendGroupQuery",children:["Query ",e]}),(0,ie.tZ)("svg",{className:"legendGroupLine",width:"33",height:"3",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:(0,ie.tZ)("line",{strokeWidth:"3",x1:"0",y1:"0",x2:"33",y2:"0",stroke:"#363636",strokeDasharray:us(e).join(",")})}),(0,ie.BX)("b",{children:['"',o[e-1],'":']})]}),(0,ie.tZ)("div",{children:n.filter((function(t){return t.group===e})).map((function(e){return(0,ie.BX)("div",{className:e.checked?"legendItem":"legendItem legendItemHide",onClick:function(t){return i(e,t.ctrlKey||t.metaKey)},children:[(0,ie.tZ)("div",{className:"legendMarker",style:{borderColor:e.color,backgroundColor:"rgba(".concat(ns(e.color),", 0.1)")}}),(0,ie.BX)("div",{className:"legendLabel",children:[e.label.replace(/{.+}/gim,""),!!Object.keys(e.freeFormFields).length&&(0,ie.BX)(ie.HY,{children:["\xa0{",Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e})).map((function(t){var n="".concat(t,'="').concat(e.freeFormFields[t],'"'),r="".concat(e.group,".").concat(e.label,".").concat(n);return(0,ie.tZ)(cd,{arrow:!0,open:l===r,title:"Copied!",children:(0,ie.BX)("span",{className:"legendFreeFields",onClick:function(e){e.stopPropagation(),d(n,r)},children:[t,": ",e.freeFormFields[t]]})},t)})),"}"]})]})]},"".concat(e.group,".").concat(e.label))}))})]},e)}))}),(0,ie.BX)("div",{className:"legendWrapperHotkey",children:[(0,ie.BX)("p",{children:[(0,ie.tZ)("code",{children:"Left click"})," - select series"]}),(0,ie.BX)("p",{children:[(0,ie.tZ)("code",{children:"Ctrl"})," + ",(0,ie.tZ)("code",{children:"Left click"})," - toggle multiple series"]})]})]})};var fd=["__name__"],pd=function(e,t){var n=e.metric,r=n.__name__,o=function(e,t){if(null==e)return{};var n,r,o=(0,X.Z)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,fd),i=t||r||"Query ".concat(e.group," result");return 0===Object.keys(e.metric).length?i:"".concat(i," {").concat(Object.entries(o).map((function(e){return"".concat(e[0],": ").concat(e[1])})).join(", "),"}")},hd=function(e,t,n){var r=pd(e,n[e.group-1]);return{label:r,dash:us(e.group),freeFormFields:e.metric,width:1.4,stroke:as(e.group,r),show:!vd(r,e.group,t),scale:String(e.group),points:{size:4.2,width:1.4}}},md=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields}},vd=function(e,t,n){return n.includes("".concat(t,".").concat(e))},gd=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},yd=function(e){var n=e.data,o=void 0===n?[]:n,i=e.period,a=e.customStep,u=e.query,l=e.yaxis,s=e.unit,c=e.showLegend,d=void 0===c||c,f=e.setYaxisLimits,p=e.setPeriod,h=e.alias,m=void 0===h?[]:h,v=(0,t.useMemo)((function(){return a.enable?a.value:i.step||1}),[i.step,a]),g=(0,t.useState)([[]]),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)([]),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=(0,t.useState)([]),C=(0,r.Z)(S,2),_=C[0],E=C[1],A=(0,t.useState)([]),M=(0,r.Z)(A,2),T=M[0],P=M[1],R=function(e){var t=function(e){var t={};for(var n in e){var r=e[n],o=ss(r),i=ls(r);t[n]=ds(o,i)}return t}(e);f(t)};(0,t.useEffect)((function(){var e=[],t={},n=[],r=[];null===o||void 0===o||o.forEach((function(o){var i=hd(o,T,m);r.push(i),n.push(md(i,o.group));var a=t[o.group];a||(a=[]);var u,l=oi(o.values);try{for(l.s();!(u=l.n()).done;){var s=u.value;e.push(s[0]),a.push(gd(s[1]))}}catch(c){l.e(c)}finally{l.f()}t[o.group]=a}));var a=function(e,t,n){for(var r=Array.from(new Set(e)).sort((function(e,t){return e-t})),o=n.start,i=Rr(n.end+t),a=0,u=[];o<=i;){for(;a=r.length||r[a]>o)&&u.push(o)}for(;u.length<2;)u.push(o),o=Rr(o+t);return u}(e,v,i);x([a].concat((0,ve.Z)(o.map((function(e){var t,n=[],r=e.values,o=0,i=oi(a);try{for(i.s();!(t=i.n()).done;){for(var u=t.value;o *":{padding:0}}),"checkbox"===n.padding&&{width:48,padding:"0 0 0 4px"},"none"===n.padding&&{padding:0},"left"===n.align&&{textAlign:"left"},"center"===n.align&&{textAlign:"center"},"right"===n.align&&{textAlign:"right",flexDirection:"row-reverse"},"justify"===n.align&&{textAlign:"justify"},n.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:t.palette.background.default})})),Ld=t.forwardRef((function(e,n){var r,i=(0,ee.Z)({props:e,name:"MuiTableCell"}),a=i.align,u=void 0===a?"inherit":a,l=i.className,s=i.component,c=i.padding,d=i.scope,f=i.size,p=i.sortDirection,h=i.variant,m=(0,X.Z)(i,Bd),v=t.useContext(bd),g=t.useContext(Cd),y=g&&"head"===g.variant;r=s||(y?"th":"td");var b=d;!b&&y&&(b="col");var x=h||g&&g.variant,Z=(0,o.Z)({},i,{align:u,component:r,padding:c||(v&&v.padding?v.padding:"normal"),size:f||(v&&v.size?v.size:"medium"),sortDirection:p,stickyHeader:"head"===x&&v&&v.stickyHeader,variant:x}),w=function(e){var t=e.classes,n=e.variant,r=e.align,o=e.padding,i=e.size,a={root:["root",n,e.stickyHeader&&"stickyHeader","inherit"!==r&&"align".concat((0,te.Z)(r)),"normal"!==o&&"padding".concat((0,te.Z)(o)),"size".concat((0,te.Z)(i))]};return(0,K.Z)(a,Fd,t)}(Z),D=null;return p&&(D="asc"===p?"ascending":"descending"),(0,ie.tZ)(Id,(0,o.Z)({as:r,ref:n,className:(0,G.Z)(w.root,l),"aria-sort":D,scope:b,ownerState:Z},m))})),Nd=Ld;function zd(e){return(0,ne.Z)("MuiTableContainer",e)}(0,re.Z)("MuiTableContainer",["root"]);var jd=["className","component"],Wd=(0,J.ZP)("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:function(e,t){return t.root}})({width:"100%",overflowX:"auto"}),$d=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTableContainer"}),r=n.className,i=n.component,a=void 0===i?"div":i,u=(0,X.Z)(n,jd),l=(0,o.Z)({},n,{component:a}),s=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},zd,t)}(l);return(0,ie.tZ)(Wd,(0,o.Z)({ref:t,as:a,className:(0,G.Z)(s.root,r),ownerState:l},u))})),Hd=$d;function Yd(e){return(0,ne.Z)("MuiTableHead",e)}(0,re.Z)("MuiTableHead",["root"]);var Vd=["className","component"],Ud=(0,J.ZP)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"table-header-group"}),qd={variant:"head"},Xd="thead",Gd=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTableHead"}),r=n.className,i=n.component,a=void 0===i?Xd:i,u=(0,X.Z)(n,Vd),l=(0,o.Z)({},n,{component:a}),s=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},Yd,t)}(l);return(0,ie.tZ)(Cd.Provider,{value:qd,children:(0,ie.tZ)(Ud,(0,o.Z)({as:a,className:(0,G.Z)(s.root,r),ref:t,role:a===Xd?null:"rowgroup",ownerState:l},u))})})),Kd=Gd;function Qd(e){return(0,ne.Z)("MuiTableRow",e)}var Jd=(0,re.Z)("MuiTableRow",["root","selected","hover","head","footer"]),ef=["className","component","hover","selected"],tf=(0,J.ZP)("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.head&&t.head,n.footer&&t.footer]}})((function(e){var t,n=e.theme;return t={color:"inherit",display:"table-row",verticalAlign:"middle",outline:0},(0,q.Z)(t,"&.".concat(Jd.hover,":hover"),{backgroundColor:n.palette.action.hover}),(0,q.Z)(t,"&.".concat(Jd.selected),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity),"&:hover":{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity)}}),t})),nf=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiTableRow"}),i=r.className,a=r.component,u=void 0===a?"tr":a,l=r.hover,s=void 0!==l&&l,c=r.selected,d=void 0!==c&&c,f=(0,X.Z)(r,ef),p=t.useContext(Cd),h=(0,o.Z)({},r,{component:u,hover:s,selected:d,head:p&&"head"===p.variant,footer:p&&"footer"===p.variant}),m=function(e){var t=e.classes,n={root:["root",e.selected&&"selected",e.hover&&"hover",e.head&&"head",e.footer&&"footer"]};return(0,K.Z)(n,Qd,t)}(h);return(0,ie.tZ)(tf,(0,o.Z)({as:u,ref:n,className:(0,G.Z)(m.root,i),role:"tr"===u?null:"row",ownerState:h},f))})),rf=nf,of=(0,ht.Z)((0,ie.tZ)("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function af(e){return(0,ne.Z)("MuiTableSortLabel",e)}var uf=(0,re.Z)("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc"]),lf=["active","children","className","direction","hideSortIcon","IconComponent"],sf=(0,J.ZP)(at,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.active&&t.active]}})((function(e){var t=e.theme;return(0,q.Z)({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:t.palette.text.secondary},"&:hover":(0,q.Z)({color:t.palette.text.secondary},"& .".concat(uf.icon),{opacity:.5})},"&.".concat(uf.active),(0,q.Z)({color:t.palette.text.primary},"& .".concat(uf.icon),{opacity:1,color:t.palette.text.secondary}))})),cf=(0,J.ZP)("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:function(e,t){var n=e.ownerState;return[t.icon,t["iconDirection".concat((0,te.Z)(n.direction))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:t.transitions.create(["opacity","transform"],{duration:t.transitions.duration.shorter}),userSelect:"none"},"desc"===n.direction&&{transform:"rotate(0deg)"},"asc"===n.direction&&{transform:"rotate(180deg)"})})),df=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTableSortLabel"}),r=n.active,i=void 0!==r&&r,a=n.children,u=n.className,l=n.direction,s=void 0===l?"asc":l,c=n.hideSortIcon,d=void 0!==c&&c,f=n.IconComponent,p=void 0===f?of:f,h=(0,X.Z)(n,lf),m=(0,o.Z)({},n,{active:i,direction:s,hideSortIcon:d,IconComponent:p}),v=function(e){var t=e.classes,n=e.direction,r={root:["root",e.active&&"active"],icon:["icon","iconDirection".concat((0,te.Z)(n))]};return(0,K.Z)(r,af,t)}(m);return(0,ie.BX)(sf,(0,o.Z)({className:(0,G.Z)(v.root,u),component:"span",disableRipple:!0,ownerState:m,ref:t},h,{children:[a,d&&!i?null:(0,ie.tZ)(cf,{as:p,className:(0,G.Z)(v.icon),ownerState:m})]}))})),ff=df,pf=function(e){var n=e.data,o=function(e){return(0,t.useMemo)((function(){var t={};return e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return t[e[0]]?t[e[0]].options.add(e[1]):t[e[0]]={options:new Set([e[1]])}}))})),Object.entries(t).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}))}),[e])}(n),i=(0,t.useState)(""),a=(0,r.Z)(i,2),u=a[0],l=a[1],s=(0,t.useState)("asc"),c=(0,r.Z)(s,2),d=c[0],f=c[1],p=(0,t.useMemo)((function(){var e=null===n||void 0===n?void 0:n.map((function(e){return{metadata:o.map((function(t){return e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-"}})),t="Value"===u,r=o.findIndex((function(e){return e.key===u}));return t||-1!==r?e.sort((function(e,n){var o=t?Number(e.value):e.metadata[r],i=t?Number(n.value):n.metadata[r];return("asc"===d?oi)?-1:1})):e}),[o,n,u,d]),h=function(e){f((function(t){return"asc"===t&&u===e?"desc":"asc"})),l(e)};return(0,ie.tZ)(ie.HY,{children:p.length>0?(0,ie.tZ)(Hd,{children:(0,ie.BX)(Sd,{"aria-label":"simple table",children:[(0,ie.tZ)(Kd,{children:(0,ie.BX)(rf,{children:[o.map((function(e,t){return(0,ie.tZ)(Nd,{style:{textTransform:"capitalize"},children:(0,ie.tZ)(ff,{active:u===e.key,direction:d,onClick:function(){return h(e.key)},children:e.key})},t)})),(0,ie.tZ)(Nd,{align:"right",children:(0,ie.tZ)(ff,{active:"Value"===u,direction:d,onClick:function(){return h("Value")},children:"Value"})})]})}),(0,ie.tZ)(Rd,{children:p.map((function(e,t){return(0,ie.BX)(rf,{hover:!0,children:[e.metadata.map((function(e,n){var r=p[t-1]&&p[t-1].metadata[n];return(0,ie.tZ)(Nd,{sx:r===e?{opacity:.4}:{},children:e},n)})),(0,ie.tZ)(Nd,{align:"right",children:e.value})]},t)}))})]})}):(0,ie.tZ)(_t,{color:"warning",severity:"warning",sx:{mt:2},children:"No data to show"})})},hf=n(3362),mf=n(7219),vf=n(3282),gf=n(4312),yf=["onChange","maxRows","minRows","style","value"];function bf(e,t){return parseInt(e[t],10)||0}var xf={visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"},Zf=t.forwardRef((function(e,n){var i=e.onChange,a=e.maxRows,u=e.minRows,l=void 0===u?1:u,s=e.style,c=e.value,d=(0,X.Z)(e,yf),f=t.useRef(null!=c).current,p=t.useRef(null),h=(0,Et.Z)(n,p),m=t.useRef(null),v=t.useRef(0),g=t.useState({}),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=t.useCallback((function(){var t=p.current,n=(0,vf.Z)(t).getComputedStyle(t);if("0px"!==n.width){var r=m.current;r.style.width=n.width,r.value=t.value||e.placeholder||"x","\n"===r.value.slice(-1)&&(r.value+=" ");var o=n["box-sizing"],i=bf(n,"padding-bottom")+bf(n,"padding-top"),u=bf(n,"border-bottom-width")+bf(n,"border-top-width"),s=r.scrollHeight;r.value="x";var c=r.scrollHeight,d=s;l&&(d=Math.max(Number(l)*c,d)),a&&(d=Math.min(Number(a)*c,d));var f=(d=Math.max(d,c))+("border-box"===o?i+u:0),h=Math.abs(d-s)<=1;x((function(e){return v.current<20&&(f>0&&Math.abs((e.outerHeightStyle||0)-f)>1||e.overflow!==h)?(v.current+=1,{overflow:h,outerHeightStyle:f}):e}))}}),[a,l,e.placeholder]);t.useEffect((function(){var e,t=(0,gf.Z)((function(){v.current=0,Z()})),n=(0,vf.Z)(p.current);return n.addEventListener("resize",t),"undefined"!==typeof ResizeObserver&&(e=new ResizeObserver(t)).observe(p.current),function(){t.clear(),n.removeEventListener("resize",t),e&&e.disconnect()}}),[Z]),(0,Ds.Z)((function(){Z()})),t.useEffect((function(){v.current=0}),[c]);return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("textarea",(0,o.Z)({value:c,onChange:function(e){v.current=0,f||Z(),i&&i(e)},ref:h,rows:l,style:(0,o.Z)({height:b.outerHeightStyle,overflow:b.overflow?"hidden":null},s)},d)),(0,ie.tZ)("textarea",{"aria-hidden":!0,className:e.className,readOnly:!0,ref:m,tabIndex:-1,style:(0,o.Z)({},xf,s,{padding:0})})]})})),wf=Zf;function Df(e){var t=e.props,n=e.states,r=e.muiFormControl;return n.reduce((function(e,n){return e[n]=t[n],r&&"undefined"===typeof t[n]&&(e[n]=r[n]),e}),{})}var kf=t.createContext();function Sf(){return t.useContext(kf)}var Cf=n(4993);function _f(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}function Ef(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(_f(e.value)&&""!==e.value||t&&_f(e.defaultValue)&&""!==e.defaultValue)}function Af(e){return(0,ne.Z)("MuiInputBase",e)}var Mf=(0,re.Z)("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Tf=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","startAdornment","type","value"],Pf=function(e,t){var n=e.ownerState;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,"small"===n.size&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t["color".concat((0,te.Z)(n.color))],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},Rf=function(e,t){var n=e.ownerState;return[t.input,"small"===n.size&&t.inputSizeSmall,n.multiline&&t.inputMultiline,"search"===n.type&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},Ff=(0,J.ZP)("div",{name:"MuiInputBase",slot:"Root",overridesResolver:Pf})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},t.typography.body1,(0,q.Z)({color:t.palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center"},"&.".concat(Mf.disabled),{color:t.palette.text.disabled,cursor:"default"}),n.multiline&&(0,o.Z)({padding:"4px 0 5px"},"small"===n.size&&{paddingTop:1}),n.fullWidth&&{width:"100%"})})),Of=(0,J.ZP)("input",{name:"MuiInputBase",slot:"Input",overridesResolver:Rf})((function(e){var t,n=e.theme,r=e.ownerState,i="light"===n.palette.mode,a={color:"currentColor",opacity:i?.42:.5,transition:n.transitions.create("opacity",{duration:n.transitions.duration.shorter})},u={opacity:"0 !important"},l={opacity:i?.42:.5};return(0,o.Z)((t={font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":a,"&::-moz-placeholder":a,"&:-ms-input-placeholder":a,"&::-ms-input-placeholder":a,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"}},(0,q.Z)(t,"label[data-shrink=false] + .".concat(Mf.formControl," &"),{"&::-webkit-input-placeholder":u,"&::-moz-placeholder":u,"&:-ms-input-placeholder":u,"&::-ms-input-placeholder":u,"&:focus::-webkit-input-placeholder":l,"&:focus::-moz-placeholder":l,"&:focus:-ms-input-placeholder":l,"&:focus::-ms-input-placeholder":l}),(0,q.Z)(t,"&.".concat(Mf.disabled),{opacity:1,WebkitTextFillColor:n.palette.text.disabled}),(0,q.Z)(t,"&:-webkit-autofill",{animationDuration:"5000s",animationName:"mui-auto-fill"}),t),"small"===r.size&&{paddingTop:1},r.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},"search"===r.type&&{MozAppearance:"textfield"})})),Bf=(0,ie.tZ)(Ro,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),If=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiInputBase"}),a=i["aria-describedby"],u=i.autoComplete,l=i.autoFocus,s=i.className,c=i.components,d=void 0===c?{}:c,f=i.componentsProps,p=void 0===f?{}:f,h=i.defaultValue,m=i.disabled,v=i.disableInjectingGlobalStyles,g=i.endAdornment,y=i.fullWidth,b=void 0!==y&&y,x=i.id,Z=i.inputComponent,w=void 0===Z?"input":Z,D=i.inputProps,k=void 0===D?{}:D,S=i.inputRef,C=i.maxRows,_=i.minRows,E=i.multiline,A=void 0!==E&&E,M=i.name,T=i.onBlur,P=i.onChange,R=i.onClick,F=i.onFocus,O=i.onKeyDown,B=i.onKeyUp,I=i.placeholder,L=i.readOnly,N=i.renderSuffix,z=i.rows,j=i.startAdornment,W=i.type,$=void 0===W?"text":W,H=i.value,Y=(0,X.Z)(i,Tf),V=null!=k.value?k.value:H,U=t.useRef(null!=V).current,q=t.useRef(),Q=t.useCallback((function(e){0}),[]),J=(0,pe.Z)(k.ref,Q),ne=(0,pe.Z)(S,J),re=(0,pe.Z)(q,ne),oe=t.useState(!1),ae=(0,r.Z)(oe,2),ue=ae[0],le=ae[1],se=Sf();var ce=Df({props:i,muiFormControl:se,states:["color","disabled","error","hiddenLabel","size","required","filled"]});ce.focused=se?se.focused:ue,t.useEffect((function(){!se&&m&&ue&&(le(!1),T&&T())}),[se,m,ue,T]);var de=se&&se.onFilled,fe=se&&se.onEmpty,he=t.useCallback((function(e){Ef(e)?de&&de():fe&&fe()}),[de,fe]);(0,Cf.Z)((function(){U&&he({value:V})}),[V,he,U]);t.useEffect((function(){he(q.current)}),[]);var me=w,ve=k;A&&"input"===me&&(ve=z?(0,o.Z)({type:void 0,minRows:z,maxRows:z},ve):(0,o.Z)({type:void 0,maxRows:C,minRows:_},ve),me=wf);t.useEffect((function(){se&&se.setAdornedStart(Boolean(j))}),[se,j]);var ge=(0,o.Z)({},i,{color:ce.color||"primary",disabled:ce.disabled,endAdornment:g,error:ce.error,focused:ce.focused,formControl:se,fullWidth:b,hiddenLabel:ce.hiddenLabel,multiline:A,size:ce.size,startAdornment:j,type:$}),ye=function(e){var t=e.classes,n=e.color,r=e.disabled,o=e.error,i=e.endAdornment,a=e.focused,u=e.formControl,l=e.fullWidth,s=e.hiddenLabel,c=e.multiline,d=e.size,f=e.startAdornment,p=e.type,h={root:["root","color".concat((0,te.Z)(n)),r&&"disabled",o&&"error",l&&"fullWidth",a&&"focused",u&&"formControl","small"===d&&"sizeSmall",c&&"multiline",f&&"adornedStart",i&&"adornedEnd",s&&"hiddenLabel"],input:["input",r&&"disabled","search"===p&&"inputTypeSearch",c&&"inputMultiline","small"===d&&"inputSizeSmall",s&&"inputHiddenLabel",f&&"inputAdornedStart",i&&"inputAdornedEnd"]};return(0,K.Z)(h,Af,t)}(ge),be=d.Root||Ff,xe=p.root||{},Ze=d.Input||Of;return ve=(0,o.Z)({},ve,p.input),(0,ie.BX)(t.Fragment,{children:[!v&&Bf,(0,ie.BX)(be,(0,o.Z)({},xe,!Zs(be)&&{ownerState:(0,o.Z)({},ge,xe.ownerState)},{ref:n,onClick:function(e){q.current&&e.currentTarget===e.target&&q.current.focus(),R&&R(e)}},Y,{className:(0,G.Z)(ye.root,xe.className,s),children:[j,(0,ie.tZ)(kf.Provider,{value:null,children:(0,ie.tZ)(Ze,(0,o.Z)({ownerState:ge,"aria-invalid":ce.error,"aria-describedby":a,autoComplete:u,autoFocus:l,defaultValue:h,disabled:ce.disabled,id:x,onAnimationStart:function(e){he("mui-auto-fill-cancel"===e.animationName?q.current:{value:"x"})},name:M,placeholder:I,readOnly:L,required:ce.required,rows:z,value:V,onKeyDown:O,onKeyUp:B,type:$},ve,!Zs(Ze)&&{as:me,ownerState:(0,o.Z)({},ge,ve.ownerState)},{ref:re,className:(0,G.Z)(ye.input,ve.className),onBlur:function(e){T&&T(e),k.onBlur&&k.onBlur(e),se&&se.onBlur?se.onBlur(e):le(!1)},onChange:function(e){if(!U){var t=e.target||q.current;if(null==t)throw new Error((0,mf.Z)(1));he({value:t.value})}for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},t.notched&&{maxWidth:"100%",transition:n.transitions.create("max-width",{duration:100,easing:n.transitions.easing.easeOut,delay:50})}))}));function rp(e){return(0,ne.Z)("MuiOutlinedInput",e)}var op=(0,o.Z)({},Mf,(0,re.Z)("MuiOutlinedInput",["root","notchedOutline","input"])),ip=["components","fullWidth","inputComponent","label","multiline","notched","type"],ap=(0,J.ZP)(Ff,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiOutlinedInput",slot:"Root",overridesResolver:Pf})((function(e){var t,n=e.theme,r=e.ownerState,i="light"===n.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return(0,o.Z)((t={position:"relative",borderRadius:n.shape.borderRadius},(0,q.Z)(t,"&:hover .".concat(op.notchedOutline),{borderColor:n.palette.text.primary}),(0,q.Z)(t,"@media (hover: none)",(0,q.Z)({},"&:hover .".concat(op.notchedOutline),{borderColor:i})),(0,q.Z)(t,"&.".concat(op.focused," .").concat(op.notchedOutline),{borderColor:n.palette[r.color].main,borderWidth:2}),(0,q.Z)(t,"&.".concat(op.error," .").concat(op.notchedOutline),{borderColor:n.palette.error.main}),(0,q.Z)(t,"&.".concat(op.disabled," .").concat(op.notchedOutline),{borderColor:n.palette.action.disabled}),t),r.startAdornment&&{paddingLeft:14},r.endAdornment&&{paddingRight:14},r.multiline&&(0,o.Z)({padding:"16.5px 14px"},"small"===r.size&&{padding:"8.5px 14px"}))})),up=(0,J.ZP)((function(e){var t=e.className,n=e.label,r=e.notched,i=(0,X.Z)(e,ep),a=null!=n&&""!==n,u=(0,o.Z)({},e,{notched:r,withLabel:a});return(0,ie.tZ)(tp,(0,o.Z)({"aria-hidden":!0,className:t,ownerState:u},i,{children:(0,ie.tZ)(np,{ownerState:u,children:a?(0,ie.tZ)("span",{children:n}):Qf||(Qf=(0,ie.tZ)("span",{className:"notranslate",children:"\u200b"}))})}))}),{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:function(e,t){return t.notchedOutline}})((function(e){return{borderColor:"light"===e.theme.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}})),lp=(0,J.ZP)(Of,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:Rf})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({padding:"16.5px 14px","&:-webkit-autofill":{WebkitBoxShadow:"light"===t.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===t.palette.mode?null:"#fff",caretColor:"light"===t.palette.mode?null:"#fff",borderRadius:"inherit"}},"small"===n.size&&{padding:"8.5px 14px"},n.multiline&&{padding:0},n.startAdornment&&{paddingLeft:0},n.endAdornment&&{paddingRight:0})})),sp=t.forwardRef((function(e,n){var r,i=(0,ee.Z)({props:e,name:"MuiOutlinedInput"}),a=i.components,u=void 0===a?{}:a,l=i.fullWidth,s=void 0!==l&&l,c=i.inputComponent,d=void 0===c?"input":c,f=i.label,p=i.multiline,h=void 0!==p&&p,m=i.notched,v=i.type,g=void 0===v?"text":v,y=(0,X.Z)(i,ip),b=function(e){var t=e.classes,n=(0,K.Z)({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},rp,t);return(0,o.Z)({},t,n)}(i),x=Df({props:i,muiFormControl:Sf(),states:["required"]});return(0,ie.tZ)(Lf,(0,o.Z)({components:(0,o.Z)({Root:ap,Input:lp},u),renderSuffix:function(e){return(0,ie.tZ)(up,{className:b.notchedOutline,label:null!=f&&""!==f&&x.required?r||(r=(0,ie.BX)(t.Fragment,{children:[f,"\xa0","*"]})):f,notched:"undefined"!==typeof m?m:Boolean(e.startAdornment||e.filled||e.focused)})},fullWidth:s,inputComponent:d,multiline:h,ref:n,type:g},y,{classes:(0,o.Z)({},b,{notchedOutline:null})}))}));sp.muiName="Input";var cp=sp;function dp(e){return(0,ne.Z)("MuiFormLabel",e)}var fp=(0,re.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),pp=["children","className","color","component","disabled","error","filled","focused","required"],hp=(0,J.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return(0,o.Z)({},t.root,"secondary"===n.color&&t.colorSecondary,n.filled&&t.filled)}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({color:n.palette.text.secondary},n.typography.body1,(t={lineHeight:"1.4375em",padding:0,position:"relative"},(0,q.Z)(t,"&.".concat(fp.focused),{color:n.palette[r.color].main}),(0,q.Z)(t,"&.".concat(fp.disabled),{color:n.palette.text.disabled}),(0,q.Z)(t,"&.".concat(fp.error),{color:n.palette.error.main}),t))})),mp=(0,J.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,t){return t.asterisk}})((function(e){var t=e.theme;return(0,q.Z)({},"&.".concat(fp.error),{color:t.palette.error.main})})),vp=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiFormLabel"}),r=n.children,i=n.className,a=n.component,u=void 0===a?"label":a,l=(0,X.Z)(n,pp),s=Df({props:n,muiFormControl:Sf(),states:["color","required","focused","disabled","error","filled"]}),c=(0,o.Z)({},n,{color:s.color||"primary",component:u,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),d=function(e){var t=e.classes,n=e.color,r=e.focused,o=e.disabled,i=e.error,a=e.filled,u=e.required,l={root:["root","color".concat((0,te.Z)(n)),o&&"disabled",i&&"error",a&&"filled",r&&"focused",u&&"required"],asterisk:["asterisk",i&&"error"]};return(0,K.Z)(l,dp,t)}(c);return(0,ie.BX)(hp,(0,o.Z)({as:u,ownerState:c,className:(0,G.Z)(d.root,i),ref:t},l,{children:[r,s.required&&(0,ie.BX)(mp,{ownerState:c,"aria-hidden":!0,className:d.asterisk,children:["\u2009","*"]})]}))})),gp=vp;function yp(e){return(0,ne.Z)("MuiInputLabel",e)}(0,re.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var bp=["disableAnimation","margin","shrink","variant"],xp=(0,J.ZP)(gp,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiInputLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(fp.asterisk),t.asterisk),t.root,n.formControl&&t.formControl,"small"===n.size&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},n.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===n.size&&{transform:"translate(0, 17px) scale(1)"},n.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!n.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===n.variant&&(0,o.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===n.size&&{transform:"translate(12px, 13px) scale(1)"},n.shrink&&(0,o.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===n.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===n.variant&&(0,o.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===n.size&&{transform:"translate(14px, 9px) scale(1)"},n.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 24px)",transform:"translate(14px, -9px) scale(0.75)"}))})),Zp=t.forwardRef((function(e,t){var n=(0,ee.Z)({name:"MuiInputLabel",props:e}),r=n.disableAnimation,i=void 0!==r&&r,a=n.shrink,u=(0,X.Z)(n,bp),l=Sf(),s=a;"undefined"===typeof s&&l&&(s=l.filled||l.focused||l.adornedStart);var c=Df({props:n,muiFormControl:l,states:["size","variant","required"]}),d=(0,o.Z)({},n,{disableAnimation:i,formControl:l,shrink:s,size:c.size,variant:c.variant,required:c.required}),f=function(e){var t=e.classes,n=e.formControl,r=e.size,i=e.shrink,a={root:["root",n&&"formControl",!e.disableAnimation&&"animated",i&&"shrink","small"===r&&"sizeSmall",e.variant],asterisk:[e.required&&"asterisk"]},u=(0,K.Z)(a,yp,t);return(0,o.Z)({},t,u)}(d);return(0,ie.tZ)(xp,(0,o.Z)({"data-shrink":s,ownerState:d,ref:t},u,{classes:f}))})),wp=Zp,Dp=n(7816);function kp(e){return(0,ne.Z)("MuiFormControl",e)}(0,re.Z)("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);var Sp=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],Cp=(0,J.ZP)("div",{name:"MuiFormControl",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return(0,o.Z)({},t.root,t["margin".concat((0,te.Z)(n.margin))],n.fullWidth&&t.fullWidth)}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},"normal"===t.margin&&{marginTop:16,marginBottom:8},"dense"===t.margin&&{marginTop:8,marginBottom:4},t.fullWidth&&{width:"100%"})})),_p=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiFormControl"}),a=i.children,u=i.className,l=i.color,s=void 0===l?"primary":l,c=i.component,d=void 0===c?"div":c,f=i.disabled,p=void 0!==f&&f,h=i.error,m=void 0!==h&&h,v=i.focused,g=i.fullWidth,y=void 0!==g&&g,b=i.hiddenLabel,x=void 0!==b&&b,Z=i.margin,w=void 0===Z?"none":Z,D=i.required,k=void 0!==D&&D,S=i.size,C=void 0===S?"medium":S,_=i.variant,E=void 0===_?"outlined":_,A=(0,X.Z)(i,Sp),M=(0,o.Z)({},i,{color:s,component:d,disabled:p,error:m,fullWidth:y,hiddenLabel:x,margin:w,required:k,size:C,variant:E}),T=function(e){var t=e.classes,n=e.margin,r=e.fullWidth,o={root:["root","none"!==n&&"margin".concat((0,te.Z)(n)),r&&"fullWidth"]};return(0,K.Z)(o,kp,t)}(M),P=t.useState((function(){var e=!1;return a&&t.Children.forEach(a,(function(t){if((0,Dp.Z)(t,["Input","Select"])){var n=(0,Dp.Z)(t,["Select"])?t.props.input:t;n&&n.props.startAdornment&&(e=!0)}})),e})),R=(0,r.Z)(P,2),F=R[0],O=R[1],B=t.useState((function(){var e=!1;return a&&t.Children.forEach(a,(function(t){(0,Dp.Z)(t,["Input","Select"])&&Ef(t.props,!0)&&(e=!0)})),e})),I=(0,r.Z)(B,2),L=I[0],N=I[1],z=t.useState(!1),j=(0,r.Z)(z,2),W=j[0],$=j[1];p&&W&&$(!1);var H=void 0===v||p?W:v,Y=t.useCallback((function(){N(!0)}),[]),V={adornedStart:F,setAdornedStart:O,color:s,disabled:p,error:m,filled:L,focused:H,fullWidth:y,hiddenLabel:x,size:C,onBlur:function(){$(!1)},onEmpty:t.useCallback((function(){N(!1)}),[]),onFilled:Y,onFocus:function(){$(!0)},registerEffect:undefined,required:k,variant:E};return(0,ie.tZ)(kf.Provider,{value:V,children:(0,ie.tZ)(Cp,(0,o.Z)({as:d,ownerState:M,className:(0,G.Z)(T.root,u),ref:n},A,{children:a}))})})),Ep=_p;function Ap(e){return(0,ne.Z)("MuiFormHelperText",e)}var Mp,Tp=(0,re.Z)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),Pp=["children","className","component","disabled","error","filled","focused","margin","required","variant"],Rp=(0,J.ZP)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.size&&t["size".concat((0,te.Z)(n.size))],n.contained&&t.contained,n.filled&&t.filled]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({color:n.palette.text.secondary},n.typography.caption,(t={textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0},(0,q.Z)(t,"&.".concat(Tp.disabled),{color:n.palette.text.disabled}),(0,q.Z)(t,"&.".concat(Tp.error),{color:n.palette.error.main}),t),"small"===r.size&&{marginTop:4},r.contained&&{marginLeft:14,marginRight:14})})),Fp=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiFormHelperText"}),r=n.children,i=n.className,a=n.component,u=void 0===a?"p":a,l=(0,X.Z)(n,Pp),s=Df({props:n,muiFormControl:Sf(),states:["variant","size","disabled","error","filled","focused","required"]}),c=(0,o.Z)({},n,{component:u,contained:"filled"===s.variant||"outlined"===s.variant,variant:s.variant,size:s.size,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),d=function(e){var t=e.classes,n=e.contained,r=e.size,o=e.disabled,i=e.error,a=e.filled,u=e.focused,l=e.required,s={root:["root",o&&"disabled",i&&"error",r&&"size".concat((0,te.Z)(r)),n&&"contained",u&&"focused",a&&"filled",l&&"required"]};return(0,K.Z)(s,Ap,t)}(c);return(0,ie.tZ)(Rp,(0,o.Z)({as:u,ownerState:c,className:(0,G.Z)(d.root,i),ref:t},l,{children:" "===r?Mp||(Mp=(0,ie.tZ)("span",{className:"notranslate",children:"\u200b"})):r}))})),Op=Fp;var Bp=t.createContext({});function Ip(e){return(0,ne.Z)("MuiList",e)}(0,re.Z)("MuiList",["root","padding","dense","subheader"]);var Lp=["children","className","component","dense","disablePadding","subheader"],Np=(0,J.ZP)("ul",{name:"MuiList",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})((function(e){var t=e.ownerState;return(0,o.Z)({listStyle:"none",margin:0,padding:0,position:"relative"},!t.disablePadding&&{paddingTop:8,paddingBottom:8},t.subheader&&{paddingTop:0})})),zp=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiList"}),i=r.children,a=r.className,u=r.component,l=void 0===u?"ul":u,s=r.dense,c=void 0!==s&&s,d=r.disablePadding,f=void 0!==d&&d,p=r.subheader,h=(0,X.Z)(r,Lp),m=t.useMemo((function(){return{dense:c}}),[c]),v=(0,o.Z)({},r,{component:l,dense:c,disablePadding:f}),g=function(e){var t=e.classes,n={root:["root",!e.disablePadding&&"padding",e.dense&&"dense",e.subheader&&"subheader"]};return(0,K.Z)(n,Ip,t)}(v);return(0,ie.tZ)(Bp.Provider,{value:m,children:(0,ie.BX)(Np,(0,o.Z)({as:l,className:(0,G.Z)(g.root,a),ref:n,ownerState:v},h,{children:[p,i]}))})})),jp=zp;function Wp(e){var t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}var $p=Wp,Hp=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function Yp(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function Vp(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function Up(e,t){if(void 0===t)return!0;var n=e.innerText;return void 0===n&&(n=e.textContent),0!==(n=n.trim().toLowerCase()).length&&(t.repeating?n[0]===t.keys[0]:0===n.indexOf(t.keys.join("")))}function qp(e,t,n,r,o,i){for(var a=!1,u=o(e,t,!!t&&n);u;){if(u===e.firstChild){if(a)return!1;a=!0}var l=!r&&(u.disabled||"true"===u.getAttribute("aria-disabled"));if(u.hasAttribute("tabindex")&&Up(u,i)&&!l)return u.focus(),!0;u=o(e,u,n)}return!1}var Xp=t.forwardRef((function(e,n){var r=e.actions,i=e.autoFocus,a=void 0!==i&&i,u=e.autoFocusItem,l=void 0!==u&&u,s=e.children,c=e.className,d=e.disabledItemsFocusable,f=void 0!==d&&d,p=e.disableListWrap,h=void 0!==p&&p,m=e.onKeyDown,v=e.variant,g=void 0===v?"selectedMenu":v,y=(0,X.Z)(e,Hp),b=t.useRef(null),x=t.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});(0,Cf.Z)((function(){a&&b.current.focus()}),[a]),t.useImperativeHandle(r,(function(){return{adjustStyleForScrollbar:function(e,t){var n=!b.current.style.width;if(e.clientHeight0&&(a-o.lastTime>500?(o.keys=[],o.repeating=!0,o.previousKeyMatched=!0):o.repeating&&i!==o.keys[0]&&(o.repeating=!1)),o.lastTime=a,o.keys.push(i);var u=r&&!o.repeating&&Up(r,o);o.previousKeyMatched&&(u||qp(t,r,!1,f,Yp,o))?e.preventDefault():o.previousKeyMatched=!1}m&&m(e)},tabIndex:a?0:-1},y,{children:D}))})),Gp=Xp,Kp=n(4246);function Qp(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Jp(e,t){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0,i=[t,n].concat((0,ve.Z)(r)),a=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,(function(e){-1===i.indexOf(e)&&-1===a.indexOf(e.tagName)&&th(e,o)}))}function oh(e,t){var n=-1;return e.some((function(e,r){return!!t(e)&&(n=r,!0)})),n}function ih(e,t){var n=[],r=e.container;if(!t.disableScrollLock){if(function(e){var t=(0,Mt.Z)(e);return t.body===e?(0,vf.Z)(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(r)){var o=Wp((0,Mt.Z)(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight="".concat(nh(r)+o,"px");var i=(0,Mt.Z)(r).querySelectorAll(".mui-fixed");[].forEach.call(i,(function(e){n.push({value:e.style.paddingRight,property:"padding-right",el:e}),e.style.paddingRight="".concat(nh(e)+o,"px")}))}var a=r.parentElement,u=(0,vf.Z)(r),l="HTML"===(null==a?void 0:a.nodeName)&&"scroll"===u.getComputedStyle(a).overflowY?a:r;n.push({value:l.style.overflow,property:"overflow",el:l},{value:l.style.overflowX,property:"overflow-x",el:l},{value:l.style.overflowY,property:"overflow-y",el:l}),l.style.overflow="hidden"}return function(){n.forEach((function(e){var t=e.value,n=e.el,r=e.property;t?n.style.setProperty(r,t):n.style.removeProperty(r)}))}}var ah=function(){function e(){Qp(this,e),this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}return eh(e,[{key:"add",value:function(e,t){var n=this.modals.indexOf(e);if(-1!==n)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&th(e.modalRef,!1);var r=function(e){var t=[];return[].forEach.call(e.children,(function(e){"true"===e.getAttribute("aria-hidden")&&t.push(e)})),t}(t);rh(t,e.mount,e.modalRef,r,!0);var o=oh(this.containers,(function(e){return e.container===t}));return-1!==o?(this.containers[o].modals.push(e),n):(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblings:r}),n)}},{key:"mount",value:function(e,t){var n=oh(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];r.restore||(r.restore=ih(r,t))}},{key:"remove",value:function(e){var t=this.modals.indexOf(e);if(-1===t)return t;var n=oh(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];if(r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length)r.restore&&r.restore(),e.modalRef&&th(e.modalRef,!0),rh(r.container,e.mount,e.modalRef,r.hiddenSiblings,!1),this.containers.splice(n,1);else{var o=r.modals[r.modals.length-1];o.modalRef&&th(o.modalRef,!1)}return t}},{key:"isTopModal",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}(),uh=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function lh(e){var t=[],n=[];return Array.from(e.querySelectorAll(uh)).forEach((function(e,r){var o=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return Number.isNaN(t)?"true"===e.contentEditable||("AUDIO"===e.nodeName||"VIDEO"===e.nodeName||"DETAILS"===e.nodeName)&&null===e.getAttribute("tabindex")?0:e.tabIndex:t}(e);-1!==o&&function(e){return!(e.disabled||"INPUT"===e.tagName&&"hidden"===e.type||function(e){if("INPUT"!==e.tagName||"radio"!==e.type)return!1;if(!e.name)return!1;var t=function(t){return e.ownerDocument.querySelector('input[type="radio"]'.concat(t))},n=t('[name="'.concat(e.name,'"]:checked'));return n||(n=t('[name="'.concat(e.name,'"]'))),n!==e}(e))}(e)&&(0===o?t.push(e):n.push({documentOrder:r,tabIndex:o,node:e}))})),n.sort((function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex})).map((function(e){return e.node})).concat(t)}function sh(){return!0}var ch=function(e){var n=e.children,r=e.disableAutoFocus,o=void 0!==r&&r,i=e.disableEnforceFocus,a=void 0!==i&&i,u=e.disableRestoreFocus,l=void 0!==u&&u,s=e.getTabbable,c=void 0===s?lh:s,d=e.isEnabled,f=void 0===d?sh:d,p=e.open,h=t.useRef(),m=t.useRef(null),v=t.useRef(null),g=t.useRef(null),y=t.useRef(null),b=t.useRef(!1),x=t.useRef(null),Z=(0,Et.Z)(n.ref,x),w=t.useRef(null);t.useEffect((function(){p&&x.current&&(b.current=!o)}),[o,p]),t.useEffect((function(){if(p&&x.current){var e=(0,Mt.Z)(x.current);return x.current.contains(e.activeElement)||(x.current.hasAttribute("tabIndex")||x.current.setAttribute("tabIndex",-1),b.current&&x.current.focus()),function(){l||(g.current&&g.current.focus&&(h.current=!0,g.current.focus()),g.current=null)}}}),[p]),t.useEffect((function(){if(p&&x.current){var e=(0,Mt.Z)(x.current),t=function(t){var n=x.current;if(null!==n)if(e.hasFocus()&&!a&&f()&&!h.current){if(!n.contains(e.activeElement)){if(t&&y.current!==t.target||e.activeElement!==y.current)y.current=null;else if(null!==y.current)return;if(!b.current)return;var r=[];if(e.activeElement!==m.current&&e.activeElement!==v.current||(r=c(x.current)),r.length>0){var o,i,u=Boolean((null==(o=w.current)?void 0:o.shiftKey)&&"Tab"===(null==(i=w.current)?void 0:i.key)),l=r[0],s=r[r.length-1];u?s.focus():l.focus()}else n.focus()}}else h.current=!1},n=function(t){w.current=t,!a&&f()&&"Tab"===t.key&&e.activeElement===x.current&&t.shiftKey&&(h.current=!0,v.current.focus())};e.addEventListener("focusin",t),e.addEventListener("keydown",n,!0);var r=setInterval((function(){"BODY"===e.activeElement.tagName&&t()}),50);return function(){clearInterval(r),e.removeEventListener("focusin",t),e.removeEventListener("keydown",n,!0)}}}),[o,a,l,f,p,c]);var D=function(e){null===g.current&&(g.current=e.relatedTarget),b.current=!0};return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("div",{tabIndex:0,onFocus:D,ref:m,"data-test":"sentinelStart"}),t.cloneElement(n,{ref:Z,onFocus:function(e){null===g.current&&(g.current=e.relatedTarget),b.current=!0,y.current=e.target;var t=n.props.onFocus;t&&t(e)}}),(0,ie.tZ)("div",{tabIndex:0,onFocus:D,ref:v,"data-test":"sentinelEnd"})]})};function dh(e){return(0,ne.Z)("MuiModal",e)}(0,re.Z)("MuiModal",["root","hidden"]);var fh=["BackdropComponent","BackdropProps","children","classes","className","closeAfterTransition","component","components","componentsProps","container","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onKeyDown","open","theme","onTransitionEnter","onTransitionExited"];var ph=new ah,hh=t.forwardRef((function(e,n){var i=e.BackdropComponent,a=e.BackdropProps,u=e.children,l=e.classes,s=e.className,c=e.closeAfterTransition,d=void 0!==c&&c,f=e.component,p=void 0===f?"div":f,h=e.components,m=void 0===h?{}:h,v=e.componentsProps,g=void 0===v?{}:v,y=e.container,b=e.disableAutoFocus,x=void 0!==b&&b,Z=e.disableEnforceFocus,w=void 0!==Z&&Z,D=e.disableEscapeKeyDown,k=void 0!==D&&D,S=e.disablePortal,C=void 0!==S&&S,_=e.disableRestoreFocus,E=void 0!==_&&_,A=e.disableScrollLock,M=void 0!==A&&A,T=e.hideBackdrop,P=void 0!==T&&T,R=e.keepMounted,F=void 0!==R&&R,O=e.manager,B=void 0===O?ph:O,I=e.onBackdropClick,L=e.onClose,N=e.onKeyDown,z=e.open,j=e.theme,W=e.onTransitionEnter,$=e.onTransitionExited,H=(0,X.Z)(e,fh),Y=t.useState(!0),V=(0,r.Z)(Y,2),U=V[0],q=V[1],Q=t.useRef({}),J=t.useRef(null),ee=t.useRef(null),te=(0,Et.Z)(ee,n),ne=function(e){return!!e.children&&e.children.props.hasOwnProperty("in")}(e),re=function(){return Q.current.modalRef=ee.current,Q.current.mountNode=J.current,Q.current},oe=function(){B.mount(re(),{disableScrollLock:M}),ee.current.scrollTop=0},ae=(0,At.Z)((function(){var e=function(e){return"function"===typeof e?e():e}(y)||(0,Mt.Z)(J.current).body;B.add(re(),e),ee.current&&oe()})),ue=t.useCallback((function(){return B.isTopModal(re())}),[B]),le=(0,At.Z)((function(e){J.current=e,e&&(z&&ue()?oe():th(ee.current,!0))})),se=t.useCallback((function(){B.remove(re())}),[B]);t.useEffect((function(){return function(){se()}}),[se]),t.useEffect((function(){z?ae():ne&&d||se()}),[z,se,ne,d,ae]);var ce=(0,o.Z)({},e,{classes:l,closeAfterTransition:d,disableAutoFocus:x,disableEnforceFocus:w,disableEscapeKeyDown:k,disablePortal:C,disableRestoreFocus:E,disableScrollLock:M,exited:U,hideBackdrop:P,keepMounted:F}),de=function(e){var t=e.open,n=e.exited,r=e.classes,o={root:["root",!t&&n&&"hidden"]};return(0,K.Z)(o,dh,r)}(ce);if(!F&&!z&&(!ne||U))return null;var fe={};void 0===u.props.tabIndex&&(fe.tabIndex="-1"),ne&&(fe.onEnter=(0,Kp.Z)((function(){q(!1),W&&W()}),u.props.onEnter),fe.onExited=(0,Kp.Z)((function(){q(!0),$&&$(),d&&se()}),u.props.onExited));var pe=m.Root||p,he=g.root||{};return(0,ie.tZ)(zc,{ref:le,container:y,disablePortal:C,children:(0,ie.BX)(pe,(0,o.Z)({role:"presentation"},he,!Zs(pe)&&{as:p,ownerState:(0,o.Z)({},ce,he.ownerState),theme:j},H,{ref:te,onKeyDown:function(e){N&&N(e),"Escape"===e.key&&ue()&&(k||(e.stopPropagation(),L&&L(e,"escapeKeyDown")))},className:(0,G.Z)(de.root,he.className,s),children:[!P&&i?(0,ie.tZ)(i,(0,o.Z)({"aria-hidden":!0,open:z,onClick:function(e){e.target===e.currentTarget&&(I&&I(e),L&&L(e,"backdropClick"))}},a)):null,(0,ie.tZ)(ch,{disableEnforceFocus:w,disableAutoFocus:x,disableRestoreFocus:E,isEnabled:ue,open:z,children:t.cloneElement(u,fe)})]}))})})),mh=hh,vh=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],gh={entering:{opacity:1},entered:{opacity:1}},yh=t.forwardRef((function(e,n){var r=Ot(),i={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},a=e.addEndListener,u=e.appear,l=void 0===u||u,s=e.children,c=e.easing,d=e.in,f=e.onEnter,p=e.onEntered,h=e.onEntering,m=e.onExit,v=e.onExited,g=e.onExiting,y=e.style,b=e.timeout,x=void 0===b?i:b,Z=e.TransitionComponent,w=void 0===Z?Ht:Z,D=(0,X.Z)(e,vh),k=t.useRef(null),S=(0,pe.Z)(s.ref,n),C=(0,pe.Z)(k,S),_=function(e){return function(t){if(e){var n=k.current;void 0===t?e(n):e(n,t)}}},E=_(h),A=_((function(e,t){Yt(e);var n=Vt({style:y,timeout:x,easing:c},{mode:"enter"});e.style.webkitTransition=r.transitions.create("opacity",n),e.style.transition=r.transitions.create("opacity",n),f&&f(e,t)})),M=_(p),T=_(g),P=_((function(e){var t=Vt({style:y,timeout:x,easing:c},{mode:"exit"});e.style.webkitTransition=r.transitions.create("opacity",t),e.style.transition=r.transitions.create("opacity",t),m&&m(e)})),R=_(v);return(0,ie.tZ)(w,(0,o.Z)({appear:l,in:d,nodeRef:k,onEnter:A,onEntered:M,onEntering:E,onExit:P,onExited:R,onExiting:T,addEndListener:function(e){a&&a(k.current,e)},timeout:x},D,{children:function(e,n){return t.cloneElement(s,(0,o.Z)({style:(0,o.Z)({opacity:0,visibility:"exited"!==e||d?void 0:"hidden"},gh[e],y,s.props.style),ref:C},n))}}))})),bh=yh;function xh(e){return(0,ne.Z)("MuiBackdrop",e)}(0,re.Z)("MuiBackdrop",["root","invisible"]);var Zh=["children","component","components","componentsProps","className","invisible","open","transitionDuration","TransitionComponent"],wh=(0,J.ZP)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.invisible&&t.invisible]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},t.invisible&&{backgroundColor:"transparent"})})),Dh=t.forwardRef((function(e,t){var n,r,i=(0,ee.Z)({props:e,name:"MuiBackdrop"}),a=i.children,u=i.component,l=void 0===u?"div":u,s=i.components,c=void 0===s?{}:s,d=i.componentsProps,f=void 0===d?{}:d,p=i.className,h=i.invisible,m=void 0!==h&&h,v=i.open,g=i.transitionDuration,y=i.TransitionComponent,b=void 0===y?bh:y,x=(0,X.Z)(i,Zh),Z=(0,o.Z)({},i,{component:l,invisible:m}),w=function(e){var t=e.classes,n={root:["root",e.invisible&&"invisible"]};return(0,K.Z)(n,xh,t)}(Z);return(0,ie.tZ)(b,(0,o.Z)({in:v,timeout:g},x,{children:(0,ie.tZ)(wh,{"aria-hidden":!0,as:null!=(n=c.Root)?n:l,className:(0,G.Z)(w.root,p),ownerState:(0,o.Z)({},Z,null==(r=f.root)?void 0:r.ownerState),classes:w,ref:t,children:a})}))})),kh=Dh,Sh=["BackdropComponent","closeAfterTransition","children","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted"],Ch=(0,J.ZP)("div",{name:"MuiModal",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.open&&n.exited&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({position:"fixed",zIndex:t.zIndex.modal,right:0,bottom:0,top:0,left:0},!n.open&&n.exited&&{visibility:"hidden"})})),_h=(0,J.ZP)(kh,{name:"MuiModal",slot:"Backdrop",overridesResolver:function(e,t){return t.backdrop}})({zIndex:-1}),Eh=t.forwardRef((function(e,n){var i,a=(0,ee.Z)({name:"MuiModal",props:e}),u=a.BackdropComponent,l=void 0===u?_h:u,s=a.closeAfterTransition,c=void 0!==s&&s,d=a.children,f=a.components,p=void 0===f?{}:f,h=a.componentsProps,m=void 0===h?{}:h,v=a.disableAutoFocus,g=void 0!==v&&v,y=a.disableEnforceFocus,b=void 0!==y&&y,x=a.disableEscapeKeyDown,Z=void 0!==x&&x,w=a.disablePortal,D=void 0!==w&&w,k=a.disableRestoreFocus,S=void 0!==k&&k,C=a.disableScrollLock,_=void 0!==C&&C,E=a.hideBackdrop,A=void 0!==E&&E,M=a.keepMounted,T=void 0!==M&&M,P=(0,X.Z)(a,Sh),R=t.useState(!0),F=(0,r.Z)(R,2),O=F[0],B=F[1],I={closeAfterTransition:c,disableAutoFocus:g,disableEnforceFocus:b,disableEscapeKeyDown:Z,disablePortal:D,disableRestoreFocus:S,disableScrollLock:_,hideBackdrop:A,keepMounted:T},L=function(e){return e.classes}((0,o.Z)({},a,I,{exited:O}));return(0,ie.tZ)(mh,(0,o.Z)({components:(0,o.Z)({Root:Ch},p),componentsProps:{root:(0,o.Z)({},m.root,(!p.Root||!Zs(p.Root))&&{ownerState:(0,o.Z)({},null==(i=m.root)?void 0:i.ownerState)})},BackdropComponent:l,onTransitionEnter:function(){return B(!1)},onTransitionExited:function(){return B(!0)},ref:n},P,{classes:L},I,{children:d}))})),Ah=Eh;function Mh(e){return(0,ne.Z)("MuiPopover",e)}(0,re.Z)("MuiPopover",["root","paper"]);var Th=["onEntering"],Ph=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps"];function Rh(e,t){var n=0;return"number"===typeof t?n=t:"center"===t?n=e.height/2:"bottom"===t&&(n=e.height),n}function Fh(e,t){var n=0;return"number"===typeof t?n=t:"center"===t?n=e.width/2:"right"===t&&(n=e.width),n}function Oh(e){return[e.horizontal,e.vertical].map((function(e){return"number"===typeof e?"".concat(e,"px"):e})).join(" ")}function Bh(e){return"function"===typeof e?e():e}var Ih=(0,J.ZP)(Ah,{name:"MuiPopover",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),Lh=(0,J.ZP)(ce,{name:"MuiPopover",slot:"Paper",overridesResolver:function(e,t){return t.paper}})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),Nh=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiPopover"}),i=r.action,a=r.anchorEl,u=r.anchorOrigin,l=void 0===u?{vertical:"top",horizontal:"left"}:u,s=r.anchorPosition,c=r.anchorReference,d=void 0===c?"anchorEl":c,f=r.children,p=r.className,h=r.container,m=r.elevation,v=void 0===m?8:m,g=r.marginThreshold,y=void 0===g?16:g,b=r.open,x=r.PaperProps,Z=void 0===x?{}:x,w=r.transformOrigin,D=void 0===w?{vertical:"top",horizontal:"left"}:w,k=r.TransitionComponent,S=void 0===k?Qt:k,C=r.transitionDuration,_=void 0===C?"auto":C,E=r.TransitionProps,A=(E=void 0===E?{}:E).onEntering,M=(0,X.Z)(r.TransitionProps,Th),T=(0,X.Z)(r,Ph),P=t.useRef(),R=(0,pe.Z)(P,Z.ref),F=(0,o.Z)({},r,{anchorOrigin:l,anchorReference:d,elevation:v,marginThreshold:y,PaperProps:Z,transformOrigin:D,TransitionComponent:S,transitionDuration:_,TransitionProps:M}),O=function(e){var t=e.classes;return(0,K.Z)({root:["root"],paper:["paper"]},Mh,t)}(F),B=t.useCallback((function(){if("anchorPosition"===d)return s;var e=Bh(a),t=(e&&1===e.nodeType?e:(0,jn.Z)(P.current).body).getBoundingClientRect();return{top:t.top+Rh(t,l.vertical),left:t.left+Fh(t,l.horizontal)}}),[a,l.horizontal,l.vertical,s,d]),I=t.useCallback((function(e){return{vertical:Rh(e,D.vertical),horizontal:Fh(e,D.horizontal)}}),[D.horizontal,D.vertical]),L=t.useCallback((function(e){var t={width:e.offsetWidth,height:e.offsetHeight},n=I(t);if("none"===d)return{top:null,left:null,transformOrigin:Oh(n)};var r=B(),o=r.top-n.vertical,i=r.left-n.horizontal,u=o+t.height,l=i+t.width,s=(0,Cn.Z)(Bh(a)),c=s.innerHeight-y,f=s.innerWidth-y;if(oc){var h=u-c;o-=h,n.vertical+=h}if(if){var v=l-f;i-=v,n.horizontal+=v}return{top:"".concat(Math.round(o),"px"),left:"".concat(Math.round(i),"px"),transformOrigin:Oh(n)}}),[a,d,B,I,y]),N=t.useCallback((function(){var e=P.current;if(e){var t=L(e);null!==t.top&&(e.style.top=t.top),null!==t.left&&(e.style.left=t.left),e.style.transformOrigin=t.transformOrigin}}),[L]);t.useEffect((function(){b&&N()})),t.useImperativeHandle(i,(function(){return b?{updatePosition:function(){N()}}:null}),[b,N]),t.useEffect((function(){if(b){var e=(0,Zn.Z)((function(){N()})),t=(0,Cn.Z)(a);return t.addEventListener("resize",e),function(){e.clear(),t.removeEventListener("resize",e)}}}),[a,b,N]);var z=_;"auto"!==_||S.muiSupportAuto||(z=void 0);var j=h||(a?(0,jn.Z)(Bh(a)).body:void 0);return(0,ie.tZ)(Ih,(0,o.Z)({BackdropProps:{invisible:!0},className:(0,G.Z)(O.root,p),container:j,open:b,ref:n,ownerState:F},T,{children:(0,ie.tZ)(S,(0,o.Z)({appear:!0,in:b,onEntering:function(e,t){A&&A(e,t),N()},timeout:z},M,{children:(0,ie.tZ)(Lh,(0,o.Z)({elevation:v},Z,{ref:R,className:(0,G.Z)(O.paper,Z.className),children:f}))}))}))})),zh=Nh;function jh(e){return(0,ne.Z)("MuiMenu",e)}(0,re.Z)("MuiMenu",["root","paper","list"]);var Wh=["onEntering"],$h=["autoFocus","children","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant"],Hh={vertical:"top",horizontal:"right"},Yh={vertical:"top",horizontal:"left"},Vh=(0,J.ZP)(zh,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiMenu",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),Uh=(0,J.ZP)(ce,{name:"MuiMenu",slot:"Paper",overridesResolver:function(e,t){return t.paper}})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),qh=(0,J.ZP)(Gp,{name:"MuiMenu",slot:"List",overridesResolver:function(e,t){return t.list}})({outline:0}),Xh=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiMenu"}),i=r.autoFocus,a=void 0===i||i,u=r.children,l=r.disableAutoFocusItem,s=void 0!==l&&l,c=r.MenuListProps,d=void 0===c?{}:c,f=r.onClose,p=r.open,h=r.PaperProps,m=void 0===h?{}:h,v=r.PopoverClasses,g=r.transitionDuration,y=void 0===g?"auto":g,b=r.TransitionProps,x=(b=void 0===b?{}:b).onEntering,Z=r.variant,w=void 0===Z?"selectedMenu":Z,D=(0,X.Z)(r.TransitionProps,Wh),k=(0,X.Z)(r,$h),S=Ot(),C="rtl"===S.direction,_=(0,o.Z)({},r,{autoFocus:a,disableAutoFocusItem:s,MenuListProps:d,onEntering:x,PaperProps:m,transitionDuration:y,TransitionProps:D,variant:w}),E=function(e){var t=e.classes;return(0,K.Z)({root:["root"],paper:["paper"],list:["list"]},jh,t)}(_),A=a&&!s&&p,M=t.useRef(null),T=-1;return t.Children.map(u,(function(e,n){t.isValidElement(e)&&(e.props.disabled||("selectedMenu"===w&&e.props.selected||-1===T)&&(T=n))})),(0,ie.tZ)(Vh,(0,o.Z)({classes:v,onClose:f,anchorOrigin:{vertical:"bottom",horizontal:C?"right":"left"},transformOrigin:C?Hh:Yh,PaperProps:(0,o.Z)({component:Uh},m,{classes:(0,o.Z)({},m.classes,{root:E.paper})}),className:E.root,open:p,ref:n,transitionDuration:y,TransitionProps:(0,o.Z)({onEntering:function(e,t){M.current&&M.current.adjustStyleForScrollbar(e,S),x&&x(e,t)}},D),ownerState:_},k,{children:(0,ie.tZ)(qh,(0,o.Z)({onKeyDown:function(e){"Tab"===e.key&&(e.preventDefault(),f&&f(e,"tabKeyDown"))},actions:M,autoFocus:a&&(-1===T||s),autoFocusItem:A,variant:w},d,{className:(0,G.Z)(E.list,d.className),children:u}))}))})),Gh=Xh;function Kh(e){return(0,ne.Z)("MuiNativeSelect",e)}var Qh=(0,re.Z)("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput"]),Jh=["className","disabled","IconComponent","inputRef","variant"],em=function(e){var t,n=e.ownerState,r=e.theme;return(0,o.Z)((t={MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{backgroundColor:"light"===r.palette.mode?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)",borderRadius:0},"&::-ms-expand":{display:"none"}},(0,q.Z)(t,"&.".concat(Qh.disabled),{cursor:"default"}),(0,q.Z)(t,"&[multiple]",{height:"auto"}),(0,q.Z)(t,"&:not([multiple]) option, &:not([multiple]) optgroup",{backgroundColor:r.palette.background.paper}),(0,q.Z)(t,"&&&",{paddingRight:24,minWidth:16}),t),"filled"===n.variant&&{"&&&":{paddingRight:32}},"outlined"===n.variant&&{borderRadius:r.shape.borderRadius,"&:focus":{borderRadius:r.shape.borderRadius},"&&&":{paddingRight:32}})},tm=(0,J.ZP)("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:J.FO,overridesResolver:function(e,t){var n=e.ownerState;return[t.select,t[n.variant],(0,q.Z)({},"&.".concat(Qh.multiple),t.multiple)]}})(em),nm=function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)((0,q.Z)({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:n.palette.action.active},"&.".concat(Qh.disabled),{color:n.palette.action.disabled}),t.open&&{transform:"rotate(180deg)"},"filled"===t.variant&&{right:7},"outlined"===t.variant&&{right:7})},rm=(0,J.ZP)("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:function(e,t){var n=e.ownerState;return[t.icon,n.variant&&t["icon".concat((0,te.Z)(n.variant))],n.open&&t.iconOpen]}})(nm),om=t.forwardRef((function(e,n){var r=e.className,i=e.disabled,a=e.IconComponent,u=e.inputRef,l=e.variant,s=void 0===l?"standard":l,c=(0,X.Z)(e,Jh),d=(0,o.Z)({},e,{disabled:i,variant:s}),f=function(e){var t=e.classes,n=e.variant,r=e.disabled,o=e.multiple,i=e.open,a={select:["select",n,r&&"disabled",o&&"multiple"],icon:["icon","icon".concat((0,te.Z)(n)),i&&"iconOpen",r&&"disabled"]};return(0,K.Z)(a,Kh,t)}(d);return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(tm,(0,o.Z)({ownerState:d,className:(0,G.Z)(f.select,r),disabled:i,ref:u||n},c)),e.multiple?null:(0,ie.tZ)(rm,{as:a,ownerState:d,className:f.icon})]})})),im=om;function am(e){return(0,ne.Z)("MuiSelect",e)}var um,lm=(0,re.Z)("MuiSelect",["select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput"]),sm=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],cm=(0,J.ZP)("div",{name:"MuiSelect",slot:"Select",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"&.".concat(lm.select),t.select),(0,q.Z)({},"&.".concat(lm.select),t[n.variant]),(0,q.Z)({},"&.".concat(lm.multiple),t.multiple)]}})(em,(0,q.Z)({},"&.".concat(lm.select),{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"})),dm=(0,J.ZP)("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:function(e,t){var n=e.ownerState;return[t.icon,n.variant&&t["icon".concat((0,te.Z)(n.variant))],n.open&&t.iconOpen]}})(nm),fm=(0,J.ZP)("input",{shouldForwardProp:function(e){return(0,J.Dz)(e)&&"classes"!==e},name:"MuiSelect",slot:"NativeInput",overridesResolver:function(e,t){return t.nativeInput}})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function pm(e,t){return"object"===typeof t&&null!==t?e===t:String(e)===String(t)}function hm(e){return null==e||"string"===typeof e&&!e.trim()}var mm,vm,gm=t.forwardRef((function(e,n){var i=e["aria-describedby"],a=e["aria-label"],u=e.autoFocus,l=e.autoWidth,s=e.children,c=e.className,d=e.defaultOpen,f=e.defaultValue,p=e.disabled,h=e.displayEmpty,m=e.IconComponent,v=e.inputRef,g=e.labelId,y=e.MenuProps,b=void 0===y?{}:y,x=e.multiple,Z=e.name,w=e.onBlur,D=e.onChange,k=e.onClose,S=e.onFocus,C=e.onOpen,_=e.open,E=e.readOnly,A=e.renderValue,M=e.SelectDisplayProps,T=void 0===M?{}:M,P=e.tabIndex,R=e.value,F=e.variant,O=void 0===F?"standard":F,B=(0,X.Z)(e,sm),I=(0,Jc.Z)({controlled:R,default:f,name:"Select"}),L=(0,r.Z)(I,2),N=L[0],z=L[1],j=(0,Jc.Z)({controlled:_,default:d,name:"Select"}),W=(0,r.Z)(j,2),$=W[0],H=W[1],Y=t.useRef(null),V=t.useRef(null),U=t.useState(null),q=(0,r.Z)(U,2),Q=q[0],J=q[1],ee=t.useRef(null!=_).current,ne=t.useState(),re=(0,r.Z)(ne,2),oe=re[0],ae=re[1],ue=(0,pe.Z)(n,v),le=t.useCallback((function(e){V.current=e,e&&J(e)}),[]);t.useImperativeHandle(ue,(function(){return{focus:function(){V.current.focus()},node:Y.current,value:N}}),[N]),t.useEffect((function(){d&&$&&Q&&!ee&&(ae(l?null:Q.clientWidth),V.current.focus())}),[Q,l]),t.useEffect((function(){u&&V.current.focus()}),[u]),t.useEffect((function(){if(g){var e=(0,jn.Z)(V.current).getElementById(g);if(e){var t=function(){getSelection().isCollapsed&&V.current.focus()};return e.addEventListener("click",t),function(){e.removeEventListener("click",t)}}}}),[g]);var se,ce,de=function(e,t){e?C&&C(t):k&&k(t),ee||(ae(l?null:Q.clientWidth),H(e))},fe=t.Children.toArray(s),he=function(e){return function(t){var n;if(t.currentTarget.hasAttribute("tabindex")){if(x){n=Array.isArray(N)?N.slice():[];var r=N.indexOf(e.props.value);-1===r?n.push(e.props.value):n.splice(r,1)}else n=e.props.value;if(e.props.onClick&&e.props.onClick(t),N!==n&&(z(n),D)){var o=t.nativeEvent||t,i=new o.constructor(o.type,o);Object.defineProperty(i,"target",{writable:!0,value:{value:n,name:Z}}),D(i,e)}x||de(!1,t)}}},me=null!==Q&&$;delete B["aria-invalid"];var ve=[],ge=!1;(Ef({value:N})||h)&&(A?se=A(N):ge=!0);var ye=fe.map((function(e,n,r){if(!t.isValidElement(e))return null;var o;if(x){if(!Array.isArray(N))throw new Error((0,mf.Z)(2));(o=N.some((function(t){return pm(t,e.props.value)})))&&ge&&ve.push(e.props.children)}else(o=pm(N,e.props.value))&&ge&&(ce=e.props.children);if(o&&!0,void 0===e.props.value)return t.cloneElement(e,{"aria-readonly":!0,role:"option"});return t.cloneElement(e,{"aria-selected":o?"true":"false",onClick:he(e),onKeyUp:function(t){" "===t.key&&t.preventDefault(),e.props.onKeyUp&&e.props.onKeyUp(t)},role:"option",selected:void 0===r[0].props.value||!0===r[0].props.disabled?function(){if(N)return o;var t=r.find((function(e){return void 0!==e.props.value&&!0!==e.props.disabled}));return e===t||o}():o,value:void 0,"data-value":e.props.value})}));ge&&(se=x?0===ve.length?null:ve.reduce((function(e,t,n){return e.push(t),n1||!p)}),[o,l,p]),w=(0,t.useMemo)((function(){if(y(0),!Z)return[];try{var e=new RegExp(String(o),"i");return c.filter((function(t){return e.test(t)&&t!==o})).sort((function(t,n){var r,o;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(o=n.match(e))||void 0===o?void 0:o.index)||0)}))}catch(t){return[]}}),[l,o,c]);return(0,t.useEffect)((function(){if(x.current){var e=x.current.childNodes[g];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}),[g]),(0,ie.BX)(ni,{ref:b,children:[(0,ie.tZ)(Pm,{defaultValue:o,fullWidth:!0,label:"Query ".concat(n+1),multiline:!0,error:!!s,onFocus:function(){return h(!0)},onBlur:function(e){var t,r=(null===(t=e.relatedTarget)||void 0===t?void 0:t.id)||"",o=w.indexOf(r.replace("$autocomplete$",""));-1!==o?(a(w[o],n),e.target.focus()):h(!1)},onKeyDown:function(e){var t=e.key,r=e.ctrlKey,o=e.metaKey,l=e.shiftKey,s=r||o,c="ArrowUp"===t,d="ArrowDown"===t,f="Enter"===t,p=Z&&w.length;((c||d)&&(p||s)||f&&(p||s||!l))&&e.preventDefault(),c&&p&&!s?y((function(e){return 0===e?0:e-1})):c&&s&&i(-1,n),d&&p&&!s?y((function(e){return e>=w.length-1?w.length-1:e+1})):d&&s&&i(1,n),f&&p&&!l&&!s?a(w[g],n):f&&!l&&u()},onChange:function(e){return a(e.target.value,n)}}),(0,ie.tZ)(Kc,{open:Z,anchorEl:b.current,placement:"bottom-start",children:(0,ie.tZ)(ce,{elevation:3,sx:{maxHeight:300,overflow:"auto"},children:(0,ie.tZ)(Gp,{ref:x,dense:!0,children:w.map((function(e,t){return(0,ie.tZ)($m,{id:"$autocomplete$".concat(e),sx:{bgcolor:"rgba(0, 0, 0, ".concat(t===g?.12:0,")")},children:e},e)}))})})})]})},Ym=n(3745),Vm=n(5551),Um=n(3451);function qm(e){return(0,ne.Z)("MuiTypography",e)}(0,re.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var Xm=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],Gm=(0,J.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.variant&&t[n.variant],"inherit"!==n.align&&t["align".concat((0,te.Z)(n.align))],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({margin:0},n.variant&&t.typography[n.variant],"inherit"!==n.align&&{textAlign:n.align},n.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},n.gutterBottom&&{marginBottom:"0.35em"},n.paragraph&&{marginBottom:16})})),Km={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},Qm={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Jm=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTypography"}),r=function(e){return Qm[e]||e}(n.color),i=Qo((0,o.Z)({},n,{color:r})),a=i.align,u=void 0===a?"inherit":a,l=i.className,s=i.component,c=i.gutterBottom,d=void 0!==c&&c,f=i.noWrap,p=void 0!==f&&f,h=i.paragraph,m=void 0!==h&&h,v=i.variant,g=void 0===v?"body1":v,y=i.variantMapping,b=void 0===y?Km:y,x=(0,X.Z)(i,Xm),Z=(0,o.Z)({},i,{align:u,color:r,className:l,component:s,gutterBottom:d,noWrap:p,paragraph:m,variant:g,variantMapping:b}),w=s||(m?"p":b[g]||Km[g])||"span",D=function(e){var t=e.align,n=e.gutterBottom,r=e.noWrap,o=e.paragraph,i=e.variant,a=e.classes,u={root:["root",i,"inherit"!==e.align&&"align".concat((0,te.Z)(t)),n&&"gutterBottom",r&&"noWrap",o&&"paragraph"]};return(0,K.Z)(u,qm,a)}(Z);return(0,ie.tZ)(Gm,(0,o.Z)({as:w,ref:t,ownerState:Z,className:(0,G.Z)(D.root,l)},x))})),ev=Jm;function tv(e){return(0,ne.Z)("MuiFormControlLabel",e)}var nv=(0,re.Z)("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error"]),rv=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","value"],ov=(0,J.ZP)("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(nv.label),t.label),t.root,t["labelPlacement".concat((0,te.Z)(n.labelPlacement))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)((0,q.Z)({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16},"&.".concat(nv.disabled),{cursor:"default"}),"start"===n.labelPlacement&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},"top"===n.labelPlacement&&{flexDirection:"column-reverse",marginLeft:16},"bottom"===n.labelPlacement&&{flexDirection:"column",marginLeft:16},(0,q.Z)({},"& .".concat(nv.label),(0,q.Z)({},"&.".concat(nv.disabled),{color:t.palette.text.disabled})))})),iv=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiFormControlLabel"}),i=r.className,a=r.componentsProps,u=void 0===a?{}:a,l=r.control,s=r.disabled,c=r.disableTypography,d=r.label,f=r.labelPlacement,p=void 0===f?"end":f,h=(0,X.Z)(r,rv),m=Sf(),v=s;"undefined"===typeof v&&"undefined"!==typeof l.props.disabled&&(v=l.props.disabled),"undefined"===typeof v&&m&&(v=m.disabled);var g={disabled:v};["checked","name","onChange","value","inputRef"].forEach((function(e){"undefined"===typeof l.props[e]&&"undefined"!==typeof r[e]&&(g[e]=r[e])}));var y=Df({props:r,muiFormControl:m,states:["error"]}),b=(0,o.Z)({},r,{disabled:v,labelPlacement:p,error:y.error}),x=function(e){var t=e.classes,n=e.disabled,r=e.labelPlacement,o=e.error,i={root:["root",n&&"disabled","labelPlacement".concat((0,te.Z)(r)),o&&"error"],label:["label",n&&"disabled"]};return(0,K.Z)(i,tv,t)}(b),Z=d;return null==Z||Z.type===ev||c||(Z=(0,ie.tZ)(ev,(0,o.Z)({component:"span",className:x.label},u.typography,{children:Z}))),(0,ie.BX)(ov,(0,o.Z)({className:(0,G.Z)(x.root,i),ownerState:b,ref:n},h,{children:[t.cloneElement(l,g),Z]}))})),av=iv;function uv(e){return(0,ne.Z)("PrivateSwitchBase",e)}(0,re.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var lv=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],sv=(0,J.ZP)(at)((function(e){var t=e.ownerState;return(0,o.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),cv=(0,J.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),dv=t.forwardRef((function(e,t){var n=e.autoFocus,i=e.checked,a=e.checkedIcon,u=e.className,l=e.defaultChecked,s=e.disabled,c=e.disableFocusRipple,d=void 0!==c&&c,f=e.edge,p=void 0!==f&&f,h=e.icon,m=e.id,v=e.inputProps,g=e.inputRef,y=e.name,b=e.onBlur,x=e.onChange,Z=e.onFocus,w=e.readOnly,D=e.required,k=e.tabIndex,S=e.type,C=e.value,_=(0,X.Z)(e,lv),E=(0,Jc.Z)({controlled:i,default:Boolean(l),name:"SwitchBase",state:"checked"}),A=(0,r.Z)(E,2),M=A[0],T=A[1],P=Sf(),R=s;P&&"undefined"===typeof R&&(R=P.disabled);var F="checkbox"===S||"radio"===S,O=(0,o.Z)({},e,{checked:M,disabled:R,disableFocusRipple:d,edge:p}),B=function(e){var t=e.classes,n=e.checked,r=e.disabled,o=e.edge,i={root:["root",n&&"checked",r&&"disabled",o&&"edge".concat((0,te.Z)(o))],input:["input"]};return(0,K.Z)(i,uv,t)}(O);return(0,ie.BX)(sv,(0,o.Z)({component:"span",className:(0,G.Z)(B.root,u),centerRipple:!0,focusRipple:!d,disabled:R,tabIndex:null,role:void 0,onFocus:function(e){Z&&Z(e),P&&P.onFocus&&P.onFocus(e)},onBlur:function(e){b&&b(e),P&&P.onBlur&&P.onBlur(e)},ownerState:O,ref:t},_,{children:[(0,ie.tZ)(cv,(0,o.Z)({autoFocus:n,checked:i,defaultChecked:l,className:B.input,disabled:R,id:F&&m,name:y,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;T(t),x&&x(e,t)}},readOnly:w,ref:g,required:D,ownerState:O,tabIndex:k,type:S},"checkbox"===S&&void 0===C?{}:{value:C},v)),M?a:h]}))})),fv=dv;function pv(e){return(0,ne.Z)("MuiSwitch",e)}var hv=(0,re.Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),mv=["className","color","edge","size","sx"],vv=(0,J.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,te.Z)(n.edge))],t["size".concat((0,te.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,o.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,q.Z)(t,"& .".concat(hv.thumb),{width:16,height:16}),(0,q.Z)(t,"& .".concat(hv.switchBase),(0,q.Z)({padding:4},"&.".concat(hv.checked),{transform:"translateX(16px)"})),t))})),gv=(0,J.ZP)(fv,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,q.Z)({},"& .".concat(hv.input),t.input),"default"!==n.color&&t["color".concat((0,te.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,q.Z)(t,"&.".concat(hv.checked),{transform:"translateX(20px)"}),(0,q.Z)(t,"&.".concat(hv.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,q.Z)(t,"&.".concat(hv.checked," + .").concat(hv.track),{opacity:.5}),(0,q.Z)(t,"&.".concat(hv.disabled," + .").concat(hv.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,q.Z)(t,"& .".concat(hv.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({"&:hover":{backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,q.Z)(t,"&.".concat(hv.checked),(0,q.Z)({color:n.palette[r.color].main,"&:hover":{backgroundColor:(0,Q.Fq)(n.palette[r.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(hv.disabled),{color:"light"===n.palette.mode?(0,Q.$n)(n.palette[r.color].main,.62):(0,Q._j)(n.palette[r.color].main,.55)})),(0,q.Z)(t,"&.".concat(hv.checked," + .").concat(hv.track),{backgroundColor:n.palette[r.color].main}),t))})),yv=(0,J.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),bv=(0,J.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),xv=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiSwitch"}),r=n.className,i=n.color,a=void 0===i?"primary":i,u=n.edge,l=void 0!==u&&u,s=n.size,c=void 0===s?"medium":s,d=n.sx,f=(0,X.Z)(n,mv),p=(0,o.Z)({},n,{color:a,edge:l,size:c}),h=function(e){var t=e.classes,n=e.edge,r=e.size,i=e.color,a=e.checked,u=e.disabled,l={root:["root",n&&"edge".concat((0,te.Z)(n)),"size".concat((0,te.Z)(r))],switchBase:["switchBase","color".concat((0,te.Z)(i)),a&&"checked",u&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},s=(0,K.Z)(l,pv,t);return(0,o.Z)({},t,s)}(p),m=(0,ie.tZ)(bv,{className:h.thumb,ownerState:p});return(0,ie.BX)(vv,{className:(0,G.Z)(h.root,r),sx:d,ownerState:p,children:[(0,ie.tZ)(gv,(0,o.Z)({type:"checkbox",icon:m,checkedIcon:m,ref:t,ownerState:p},f,{classes:(0,o.Z)({},h,{root:h.switchBase})})),(0,ie.tZ)(yv,{className:h.track,ownerState:p})]})})),Zv=xv,wv=(0,J.ZP)(Zv)((function(){return{padding:10,"& .MuiSwitch-track":{borderRadius:14,"&:before, &:after":{content:'""',position:"absolute",top:"50%",transform:"translateY(-50%)",width:14,height:14}},"& .MuiSwitch-thumb":{boxShadow:"none",width:12,height:12,margin:4}}})),Dv=function(e){var n=e.defaultStep,o=e.customStepEnable,i=e.setStep,a=e.toggleEnableStep,u=(0,t.useState)(n),l=(0,r.Z)(u,2),s=l[0],c=l[1],d=(0,t.useState)(!1),f=(0,r.Z)(d,2),p=f[0],h=f[1];(0,t.useEffect)((function(){i(s||1)}),[s]);return(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"auto 120px",alignItems:"center",children:[(0,ie.tZ)(av,{control:(0,ie.tZ)(wv,{checked:o,onChange:function(){h(!1),a()}}),label:"Override step value"}),(0,ie.tZ)(Pm,{label:"Step value",type:"number",size:"small",variant:"outlined",value:s,disabled:!o,error:p,helperText:p?"step is out of allowed range":" ",onChange:function(e){if(o){var t=+e.target.value;t>0?(c(t),h(!1)):h(!0)}}})]})},kv=function(){var e=bo().customStep,t=xo(),n=no(),r=n.queryControls,o=r.autocomplete,i=r.nocache,a=n.time.period.step,u=ro();return(0,ie.BX)(ni,{display:"flex",alignItems:"center",children:[(0,ie.tZ)(ni,{children:(0,ie.tZ)(av,{label:"Enable autocomplete",control:(0,ie.tZ)(wv,{checked:o,onChange:function(){u({type:"TOGGLE_AUTOCOMPLETE"}),Wr("AUTOCOMPLETE",!o)}})})}),(0,ie.tZ)(ni,{ml:2,children:(0,ie.tZ)(av,{label:"Enable cache",control:(0,ie.tZ)(wv,{checked:!i,onChange:function(){u({type:"NO_CACHE"}),Wr("NO_CACHE",!i)}})})}),(0,ie.tZ)(ni,{ml:2,children:(0,ie.tZ)(Dv,{defaultStep:a,customStepEnable:e.enable,setStep:function(e){t({type:"SET_CUSTOM_STEP",payload:e})},toggleEnableStep:function(){t({type:"TOGGLE_CUSTOM_STEP"})}})})]})},Sv=function(e){var n=e.error,r=e.queryOptions,o=no(),i=o.query,a=o.queryHistory,u=o.queryControls.autocomplete,l=ro(),s=(0,t.useRef)(i);(0,t.useEffect)((function(){s.current=i}),[i]);var c=function(){l({type:"SET_QUERY_HISTORY",payload:i.map((function(e,t){var n=a[t]||{values:[]},r=e===n.values[n.values.length-1];return{index:n.values.length-Number(r),values:!r&&e?[].concat((0,ve.Z)(n.values),[e]):n.values}}))}),l({type:"SET_QUERY",payload:i}),l({type:"RUN_QUERY"})},d=function(){return l({type:"SET_QUERY",payload:[].concat((0,ve.Z)(s.current),[""])})},f=function(e,t){var n=(0,ve.Z)(s.current);n[t]=e,l({type:"SET_QUERY",payload:n})},p=function(e,t){var n=a[t],r=n.index,o=n.values,i=r+e;i<0||i>=o.length||(f(o[i]||"",t),l({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:o,index:i},queryNumber:t}}))};return(0,ie.BX)(ni,{boxShadow:"rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;",p:4,pb:2,m:-4,mb:2,children:[(0,ie.tZ)(ni,{children:i.map((function(e,t){return(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"1fr auto auto",gap:"4px",width:"100%",mb:t===i.length-1?0:2.5,children:[(0,ie.tZ)(Hm,{query:i[t],index:t,autocomplete:u,queryOptions:r,error:n,setHistoryIndex:p,runQuery:c,setQuery:f}),0===t&&(0,ie.tZ)(cd,{title:"Execute Query",children:(0,ie.tZ)(pt,{onClick:c,sx:{height:"49px",width:"49px"},children:(0,ie.tZ)(Um.Z,{})})}),i.length<2&&(0,ie.tZ)(cd,{title:"Add Query",children:(0,ie.tZ)(pt,{onClick:d,sx:{height:"49px",width:"49px"},children:(0,ie.tZ)(Vm.Z,{})})}),t>0&&(0,ie.tZ)(cd,{title:"Remove Query",children:(0,ie.tZ)(pt,{onClick:function(){return function(e){var t=(0,ve.Z)(s.current);t.splice(e,1),l({type:"SET_QUERY",payload:t})}(t)},sx:{height:"49px",width:"49px"},children:(0,ie.tZ)(Ym.Z,{})})})]},t)}))}),(0,ie.tZ)(ni,{mt:3,children:(0,ie.tZ)(kv,{})})]})};function Cv(e){var t,n,r,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);o--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new _v(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function _v(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return _v=function(e){this.s=e,this.n=e.next},_v.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new _v(e)}var Ev,Av=function(e){return"".concat(e,"/api/v1/label/__name__/values")};!function(e){e.emptyServer="Please enter Server URL",e.validServer="Please provide a valid Server URL",e.validQuery="Please enter a valid Query and execute it"}(Ev||(Ev={}));var Mv=function(){var e,t=(null===(e=document.getElementById("root"))||void 0===e?void 0:e.dataset.params)||"{}";return JSON.parse(t)},Tv=function(){return!!Object.keys(Mv()).length},Pv=Tv(),Rv=Mv().serverURL,Fv=function(e){var n=e.predefinedQuery,o=e.visible,i=e.display,a=e.customStep,u=no(),l=u.query,s=u.displayType,c=u.serverUrl,d=u.time.period,f=u.queryControls.nocache,p=(0,t.useState)([]),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=(0,t.useState)(!1),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)(),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=(0,t.useState)(),C=(0,r.Z)(S,2),_=C[0],E=C[1],A=(0,t.useState)(),M=(0,r.Z)(A,2),T=M[0],P=M[1],R=(0,t.useState)([]),F=(0,r.Z)(R,2),O=F[0],B=F[1];(0,t.useEffect)((function(){T&&(k(void 0),E(void 0))}),[T]);var I=function(){var e=ys(xs().mark((function e(t,n,r){var o,i,a,u,l,s;return xs().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==t&&void 0!==t&&t.length){e.next=2;break}return e.abrupt("return");case 2:return o=new AbortController,B([].concat((0,ve.Z)(n),[o])),x(!0),e.prev=5,e.delegateYield(xs().mark((function e(){var n,c,d,f,p;return xs().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return fetch(e,{signal:o.signal})})));case 2:n=e.sent,c=[],d=1,i=!1,a=!1,e.prev=7,l=Cv(n);case 9:return e.next=11,l.next();case 11:if(!(i=!(s=e.sent).done)){e.next=20;break}return f=s.value,e.next=15,f.json();case 15:p=e.sent,f.ok?(P(void 0),c.push.apply(c,(0,ve.Z)(p.data.result.map((function(e){return e.group=d,e})))),d++):P("".concat(p.errorType,"\r\n").concat(null===p||void 0===p?void 0:p.error));case 17:i=!1,e.next=9;break;case 20:e.next=26;break;case 22:e.prev=22,e.t0=e.catch(7),a=!0,u=e.t0;case 26:if(e.prev=26,e.prev=27,!i||null==l.return){e.next=31;break}return e.next=31,l.return();case 31:if(e.prev=31,!a){e.next=34;break}throw u;case 34:return e.finish(31);case 35:return e.finish(26);case 36:"chart"===r?k(c):E(c);case 37:case"end":return e.stop()}}),e,null,[[7,22,26,36],[27,,31,35]])}))(),"t0",7);case 7:e.next=12;break;case 9:e.prev=9,e.t1=e.catch(5),e.t1 instanceof Error&&"AbortError"!==e.t1.name&&P("".concat(e.t1.name,": ").concat(e.t1.message));case 12:x(!1);case 13:case"end":return e.stop()}}),e,null,[[5,9]])})));return function(t,n,r){return e.apply(this,arguments)}}(),L=(0,t.useCallback)(hs()(I,1e3),[]),N=function(){var e=ys(xs().mark((function e(){var t,n,r,o;return xs().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=Pv?Rv:c){e.next=3;break}return e.abrupt("return");case 3:return n=Av(t),e.prev=4,e.next=7,fetch(n);case 7:return r=e.sent,e.next=10,r.json();case 10:o=e.sent,r.ok&&v(o.data),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),e.t0 instanceof Error&&P("".concat(e.t0.name,": ").concat(e.t0.message));case 17:case"end":return e.stop()}}),e,null,[[4,14]])})));return function(){return e.apply(this,arguments)}}(),z=(0,t.useMemo)((function(){var e=Pv?Rv:c,t=null!==n&&void 0!==n?n:l,r="chart"===(i||s);if(d)if(e)if(t.every((function(e){return!e.trim()})))P(Ev.validQuery);else{if(function(e){var t;try{t=new URL(e)}catch(n){return!1}return"http:"===t.protocol||"https:"===t.protocol}(e)){var o=vn({},d);return a.enable&&(o.step=a.value),t.filter((function(e){return e.trim()})).map((function(t){return r?function(e,t,n,r){return"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"")}(e,t,o,f):function(e,t,n){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step)}(e,t,o)}))}P(Ev.validServer)}else P(Ev.emptyServer)}),[c,d,s,a]),j=function(e){var n=(0,t.useRef)();return(0,t.useEffect)((function(){n.current=e}),[e]),n.current}(z);return(0,t.useEffect)((function(){N()}),[c]),(0,t.useEffect)((function(){var e,t;!o||z&&j&&(e=z,t=j,e.length===t.length&&e.every((function(e,n){return e===t[n]})))||L(z,O,i||s)}),[z,o]),(0,t.useEffect)((function(){var e=O.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),B(O.filter((function(e){return!e.signal.aborted}))))}),[O]),{fetchUrl:z,isLoading:b,graphData:D,liveData:_,error:T,queryOptions:m}},Ov=n(9023);function Bv(e){return(0,ne.Z)("MuiButton",e)}var Iv=(0,re.Z)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","contained","containedInherit","containedPrimary","containedSecondary","disableElevation","focusVisible","disabled","colorInherit","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);var Lv=t.createContext({}),Nv=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],zv=function(e){return(0,o.Z)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}})},jv=(0,J.ZP)(at,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,te.Z)(n.color))],t["size".concat((0,te.Z)(n.size))],t["".concat(n.variant,"Size").concat((0,te.Z)(n.size))],"inherit"===n.color&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})((function(e){var t,n,r,i=e.theme,a=e.ownerState;return(0,o.Z)({},i.typography.button,(t={minWidth:64,padding:"6px 16px",borderRadius:(i.vars||i).shape.borderRadius,transition:i.transitions.create(["background-color","box-shadow","border-color","color"],{duration:i.transitions.duration.short}),"&:hover":(0,o.Z)({textDecoration:"none",backgroundColor:i.vars?"rgba(".concat(i.vars.palette.text.primaryChannel," / ").concat(i.vars.palette.action.hoverOpacity,")"):(0,Q.Fq)(i.palette.text.primary,i.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===a.variant&&"inherit"!==a.color&&{backgroundColor:i.vars?"rgba(".concat(i.vars.palette[a.color].mainChannel," / ").concat(i.vars.palette.action.hoverOpacity,")"):(0,Q.Fq)(i.palette[a.color].main,i.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===a.variant&&"inherit"!==a.color&&{border:"1px solid ".concat((i.vars||i).palette[a.color].main),backgroundColor:i.vars?"rgba(".concat(i.vars.palette[a.color].mainChannel," / ").concat(i.vars.palette.action.hoverOpacity,")"):(0,Q.Fq)(i.palette[a.color].main,i.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===a.variant&&{backgroundColor:(i.vars||i).palette.grey.A100,boxShadow:(i.vars||i).shadows[4],"@media (hover: none)":{boxShadow:(i.vars||i).shadows[2],backgroundColor:(i.vars||i).palette.grey[300]}},"contained"===a.variant&&"inherit"!==a.color&&{backgroundColor:(i.vars||i).palette[a.color].dark,"@media (hover: none)":{backgroundColor:(i.vars||i).palette[a.color].main}}),"&:active":(0,o.Z)({},"contained"===a.variant&&{boxShadow:(i.vars||i).shadows[8]})},(0,q.Z)(t,"&.".concat(Iv.focusVisible),(0,o.Z)({},"contained"===a.variant&&{boxShadow:(i.vars||i).shadows[6]})),(0,q.Z)(t,"&.".concat(Iv.disabled),(0,o.Z)({color:(i.vars||i).palette.action.disabled},"outlined"===a.variant&&{border:"1px solid ".concat((i.vars||i).palette.action.disabledBackground)},"outlined"===a.variant&&"secondary"===a.color&&{border:"1px solid ".concat((i.vars||i).palette.action.disabled)},"contained"===a.variant&&{color:(i.vars||i).palette.action.disabled,boxShadow:(i.vars||i).shadows[0],backgroundColor:(i.vars||i).palette.action.disabledBackground})),t),"text"===a.variant&&{padding:"6px 8px"},"text"===a.variant&&"inherit"!==a.color&&{color:(i.vars||i).palette[a.color].main},"outlined"===a.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===a.variant&&"inherit"!==a.color&&{color:(i.vars||i).palette[a.color].main,border:i.vars?"1px solid rgba(".concat(i.vars.palette[a.color].mainChannel," / 0.5)"):"1px solid ".concat((0,Q.Fq)(i.palette[a.color].main,.5))},"contained"===a.variant&&{color:i.vars?i.vars.palette.text.primary:null==(n=(r=i.palette).getContrastText)?void 0:n.call(r,i.palette.grey[300]),backgroundColor:(i.vars||i).palette.grey[300],boxShadow:(i.vars||i).shadows[2]},"contained"===a.variant&&"inherit"!==a.color&&{color:(i.vars||i).palette[a.color].contrastText,backgroundColor:(i.vars||i).palette[a.color].main},"inherit"===a.color&&{color:"inherit",borderColor:"currentColor"},"small"===a.size&&"text"===a.variant&&{padding:"4px 5px",fontSize:i.typography.pxToRem(13)},"large"===a.size&&"text"===a.variant&&{padding:"8px 11px",fontSize:i.typography.pxToRem(15)},"small"===a.size&&"outlined"===a.variant&&{padding:"3px 9px",fontSize:i.typography.pxToRem(13)},"large"===a.size&&"outlined"===a.variant&&{padding:"7px 21px",fontSize:i.typography.pxToRem(15)},"small"===a.size&&"contained"===a.variant&&{padding:"4px 10px",fontSize:i.typography.pxToRem(13)},"large"===a.size&&"contained"===a.variant&&{padding:"8px 22px",fontSize:i.typography.pxToRem(15)},a.fullWidth&&{width:"100%"})}),(function(e){var t;return e.ownerState.disableElevation&&(t={boxShadow:"none","&:hover":{boxShadow:"none"}},(0,q.Z)(t,"&.".concat(Iv.focusVisible),{boxShadow:"none"}),(0,q.Z)(t,"&:active",{boxShadow:"none"}),(0,q.Z)(t,"&.".concat(Iv.disabled),{boxShadow:"none"}),t)})),Wv=(0,J.ZP)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.startIcon,t["iconSize".concat((0,te.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},zv(t))})),$v=(0,J.ZP)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.endIcon,t["iconSize".concat((0,te.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},zv(t))})),Hv=t.forwardRef((function(e,n){var r=t.useContext(Lv),i=(0,Ov.Z)(r,e),a=(0,ee.Z)({props:i,name:"MuiButton"}),u=a.children,l=a.color,s=void 0===l?"primary":l,c=a.component,d=void 0===c?"button":c,f=a.className,p=a.disabled,h=void 0!==p&&p,m=a.disableElevation,v=void 0!==m&&m,g=a.disableFocusRipple,y=void 0!==g&&g,b=a.endIcon,x=a.focusVisibleClassName,Z=a.fullWidth,w=void 0!==Z&&Z,D=a.size,k=void 0===D?"medium":D,S=a.startIcon,C=a.type,_=a.variant,E=void 0===_?"text":_,A=(0,X.Z)(a,Nv),M=(0,o.Z)({},a,{color:s,component:d,disabled:h,disableElevation:v,disableFocusRipple:y,fullWidth:w,size:k,type:C,variant:E}),T=function(e){var t=e.color,n=e.disableElevation,r=e.fullWidth,i=e.size,a=e.variant,u=e.classes,l={root:["root",a,"".concat(a).concat((0,te.Z)(t)),"size".concat((0,te.Z)(i)),"".concat(a,"Size").concat((0,te.Z)(i)),"inherit"===t&&"colorInherit",n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["startIcon","iconSize".concat((0,te.Z)(i))],endIcon:["endIcon","iconSize".concat((0,te.Z)(i))]},s=(0,K.Z)(l,Bv,u);return(0,o.Z)({},u,s)}(M),P=S&&(0,ie.tZ)(Wv,{className:T.startIcon,ownerState:M,children:S}),R=b&&(0,ie.tZ)($v,{className:T.endIcon,ownerState:M,children:b});return(0,ie.BX)(jv,(0,o.Z)({ownerState:M,className:(0,G.Z)(f,r.className),component:d,disabled:h,focusRipple:!y,focusVisibleClassName:(0,G.Z)(T.focusVisible,x),ref:n,type:C},A,{classes:T,children:[P,u,R]}))})),Yv=Hv,Vv=function(e){var n=e.data,r=(0,t.useContext)(pn).showInfoMessage,o=(0,t.useMemo)((function(){return JSON.stringify(n,null,2)}),[n]);return(0,ie.BX)(ni,{position:"relative",children:[(0,ie.tZ)(ni,{style:{position:"sticky",top:"16px",display:"flex",justifyContent:"flex-end"},children:(0,ie.tZ)(Yv,{variant:"outlined",fullWidth:!1,onClick:function(e){navigator.clipboard.writeText(o),r("Formatted JSON has been copied"),e.preventDefault()},children:"Copy JSON"})}),(0,ie.tZ)("pre",{style:{margin:0},children:o})]})},Uv=n(2495),qv=n(936),Xv=n.n(qv),Gv=function(e){var n=e.yaxis,r=e.setYaxisLimits,o=e.toggleEnableLimits,i=(0,t.useMemo)((function(){return Object.keys(n.limits.range)}),[n.limits.range]),a=(0,t.useCallback)(Xv()((function(e,t,o){var i=n.limits.range;i[t][o]=+e.target.value,i[t][0]===i[t][1]||i[t][0]>i[t][1]||r(i)}),500),[n.limits.range]);return(0,ie.BX)(ni,{display:"grid",alignItems:"center",gap:2,children:[(0,ie.tZ)(av,{control:(0,ie.tZ)(wv,{checked:n.limits.enable,onChange:o}),label:"Fix the limits for y-axis"}),(0,ie.tZ)(ni,{display:"grid",alignItems:"center",gap:2,children:i.map((function(e){return(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"120px 120px",gap:1,children:[(0,ie.tZ)(Pm,{label:"Min ".concat(e),type:"number",size:"small",variant:"outlined",disabled:!n.limits.enable,defaultValue:n.limits.range[e][0],onChange:function(t){return a(t,e,0)}}),(0,ie.tZ)(Pm,{label:"Max ".concat(e),type:"number",size:"small",variant:"outlined",disabled:!n.limits.enable,defaultValue:n.limits.range[e][1],onChange:function(t){return a(t,e,1)}})]},e)}))})]})},Kv=n(1198),Qv={popover:{display:"grid",gridGap:"16px",padding:"0 0 25px"},popoverHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",background:"#3F51B5",padding:"6px 6px 6px 12px",borderRadius:"4px 4px 0 0",color:"#FFF"},popoverBody:{display:"grid",gridGap:"6px",padding:"0 14px"}},Jv="Axes Settings",eg=function(e){var n=e.yaxis,o=e.setYaxisLimits,i=e.toggleEnableLimits,a=(0,t.useState)(null),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=Boolean(l);return(0,ie.BX)(ni,{children:[(0,ie.tZ)(cd,{title:Jv,children:(0,ie.tZ)(pt,{onClick:function(e){return s(e.currentTarget)},children:(0,ie.tZ)(Uv.Z,{})})}),(0,ie.tZ)(Kc,{open:c,anchorEl:l,placement:"left-start",modifiers:[{name:"offset",options:{offset:[0,6]}}],children:(0,ie.tZ)(Pt,{onClickAway:function(){return s(null)},children:(0,ie.BX)(ce,{elevation:3,sx:Qv.popover,children:[(0,ie.BX)(ni,{id:"handle",sx:Qv.popoverHeader,children:[(0,ie.tZ)(ev,{variant:"body1",children:(0,ie.tZ)("b",{children:Jv})}),(0,ie.tZ)(pt,{size:"small",onClick:function(){return s(null)},children:(0,ie.tZ)(Kv.Z,{style:{color:"white"}})})]}),(0,ie.tZ)(ni,{sx:Qv.popoverBody,children:(0,ie.tZ)(Gv,{yaxis:n,setYaxisLimits:o,toggleEnableLimits:i})})]})})})]})};function tg(e){return(0,ne.Z)("MuiCircularProgress",e)}(0,re.Z)("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);var ng,rg,og,ig,ag,ug,lg,sg,cg=["className","color","disableShrink","size","style","thickness","value","variant"],dg=44,fg=Oe(ag||(ag=ng||(ng=ge(["\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n"])))),pg=Oe(ug||(ug=rg||(rg=ge(["\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n"])))),hg=(0,J.ZP)("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["color".concat((0,te.Z)(n.color))]]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({display:"inline-block"},"determinate"===t.variant&&{transition:n.transitions.create("transform")},"inherit"!==t.color&&{color:(n.vars||n).palette[t.color].main})}),(function(e){return"indeterminate"===e.ownerState.variant&&Fe(lg||(lg=og||(og=ge(["\n animation: "," 1.4s linear infinite;\n "]))),fg)})),mg=(0,J.ZP)("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:function(e,t){return t.svg}})({display:"block"}),vg=(0,J.ZP)("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:function(e,t){var n=e.ownerState;return[t.circle,t["circle".concat((0,te.Z)(n.variant))],n.disableShrink&&t.circleDisableShrink]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({stroke:"currentColor"},"determinate"===t.variant&&{transition:n.transitions.create("stroke-dashoffset")},"indeterminate"===t.variant&&{strokeDasharray:"80px, 200px",strokeDashoffset:0})}),(function(e){var t=e.ownerState;return"indeterminate"===t.variant&&!t.disableShrink&&Fe(sg||(sg=ig||(ig=ge(["\n animation: "," 1.4s ease-in-out infinite;\n "]))),pg)})),gg=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiCircularProgress"}),r=n.className,i=n.color,a=void 0===i?"primary":i,u=n.disableShrink,l=void 0!==u&&u,s=n.size,c=void 0===s?40:s,d=n.style,f=n.thickness,p=void 0===f?3.6:f,h=n.value,m=void 0===h?0:h,v=n.variant,g=void 0===v?"indeterminate":v,y=(0,X.Z)(n,cg),b=(0,o.Z)({},n,{color:a,disableShrink:l,size:c,thickness:p,value:m,variant:g}),x=function(e){var t=e.classes,n=e.variant,r=e.color,o=e.disableShrink,i={root:["root",n,"color".concat((0,te.Z)(r))],svg:["svg"],circle:["circle","circle".concat((0,te.Z)(n)),o&&"circleDisableShrink"]};return(0,K.Z)(i,tg,t)}(b),Z={},w={},D={};if("determinate"===g){var k=2*Math.PI*((dg-p)/2);Z.strokeDasharray=k.toFixed(3),D["aria-valuenow"]=Math.round(m),Z.strokeDashoffset="".concat(((100-m)/100*k).toFixed(3),"px"),w.transform="rotate(-90deg)"}return(0,ie.tZ)(hg,(0,o.Z)({className:(0,G.Z)(x.root,r),style:(0,o.Z)({width:c,height:c},w,d),ownerState:b,ref:t,role:"progressbar"},D,y,{children:(0,ie.tZ)(mg,{className:x.svg,ownerState:b,viewBox:"".concat(22," ").concat(22," ").concat(dg," ").concat(dg),children:(0,ie.tZ)(vg,{className:x.circle,style:Z,ownerState:b,cx:dg,cy:dg,r:(dg-p)/2,fill:"none",strokeWidth:p})})}))})),yg=gg,bg=function(e){var t=e.isLoading,n=e.height;return(0,ie.tZ)(bh,{in:t,style:{transitionDelay:t?"300ms":"0ms"},children:(0,ie.tZ)(ni,{alignItems:"center",justifyContent:"center",flexDirection:"column",display:"flex",style:{width:"100%",maxWidth:"calc(100vw - 64px)",position:"absolute",height:null!==n&&void 0!==n?n:"50%",background:"rgba(255, 255, 255, 0.7)",pointerEvents:"none",zIndex:2},children:(0,ie.tZ)(yg,{})})})},xg=function(){var e=no(),t=e.displayType,n=e.time.period,r=e.query,o=bo(),i=o.customStep,a=o.yaxis,u=ro(),l=xo(),s=function(e){l({type:"SET_YAXIS_LIMITS",payload:e})},c=Fv({visible:!0,customStep:i}),d=c.isLoading,f=c.liveData,p=c.graphData,h=c.error,m=c.queryOptions;return(0,ie.BX)(ni,{p:4,display:"grid",gridTemplateRows:"auto 1fr",style:{minHeight:"calc(100vh - 64px)"},children:[(0,ie.tZ)(Sv,{error:h,queryOptions:m}),(0,ie.BX)(ni,{height:"100%",children:[d&&(0,ie.tZ)(bg,{isLoading:d,height:"500px"}),(0,ie.BX)(ni,{height:"100%",bgcolor:"#fff",children:[(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"1fr auto",alignItems:"center",mx:-4,px:4,mb:2,borderBottom:1,borderColor:"divider",children:[(0,ie.tZ)(lr,{}),"chart"===t&&(0,ie.tZ)(eg,{yaxis:a,setYaxisLimits:s,toggleEnableLimits:function(){l({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}})]}),h&&(0,ie.tZ)(_t,{color:"error",severity:"error",sx:{whiteSpace:"pre-wrap",mt:2},children:h}),p&&n&&"chart"===t&&(0,ie.tZ)(yd,{data:p,period:n,customStep:i,query:r,yaxis:a,setYaxisLimits:s,setPeriod:function(e){var t=e.from,n=e.to;u({type:"SET_PERIOD",payload:{from:t,to:n}})}}),f&&"code"===t&&(0,ie.tZ)(Vv,{data:f}),f&&"table"===t&&(0,ie.tZ)(pf,{data:f})]})]})]})};function Zg(e){return(0,ne.Z)("MuiAppBar",e)}(0,re.Z)("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent"]);var wg=["className","color","enableColorOnDark","position"],Dg=(0,J.ZP)(ce,{name:"MuiAppBar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,te.Z)(n.position))],t["color".concat((0,te.Z)(n.color))]]}})((function(e){var t=e.theme,n=e.ownerState,r="light"===t.palette.mode?t.palette.grey[100]:t.palette.grey[900];return(0,o.Z)({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},"fixed"===n.position&&{position:"fixed",zIndex:t.zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},"absolute"===n.position&&{position:"absolute",zIndex:t.zIndex.appBar,top:0,left:"auto",right:0},"sticky"===n.position&&{position:"sticky",zIndex:t.zIndex.appBar,top:0,left:"auto",right:0},"static"===n.position&&{position:"static"},"relative"===n.position&&{position:"relative"},"default"===n.color&&{backgroundColor:r,color:t.palette.getContrastText(r)},n.color&&"default"!==n.color&&"inherit"!==n.color&&"transparent"!==n.color&&{backgroundColor:t.palette[n.color].main,color:t.palette[n.color].contrastText},"inherit"===n.color&&{color:"inherit"},"dark"===t.palette.mode&&!n.enableColorOnDark&&{backgroundColor:null,color:null},"transparent"===n.color&&(0,o.Z)({backgroundColor:"transparent",color:"inherit"},"dark"===t.palette.mode&&{backgroundImage:"none"}))})),kg=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiAppBar"}),r=n.className,i=n.color,a=void 0===i?"primary":i,u=n.enableColorOnDark,l=void 0!==u&&u,s=n.position,c=void 0===s?"fixed":s,d=(0,X.Z)(n,wg),f=(0,o.Z)({},n,{color:a,position:c,enableColorOnDark:l}),p=function(e){var t=e.color,n=e.position,r=e.classes,o={root:["root","color".concat((0,te.Z)(t)),"position".concat((0,te.Z)(n))]};return(0,K.Z)(o,Zg,r)}(f);return(0,ie.tZ)(Dg,(0,o.Z)({square:!0,component:"header",ownerState:f,elevation:4,className:(0,G.Z)(p.root,r,"fixed"===c&&"mui-fixed"),ref:t},d))})),Sg=kg,Cg=n(6428);function _g(e){return(0,ne.Z)("MuiLink",e)}var Eg=(0,re.Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),Ag=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],Mg={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Tg=(0,J.ZP)(ev,{name:"MuiLink",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["underline".concat((0,te.Z)(n.underline))],"button"===n.component&&t.button]}})((function(e){var t=e.theme,n=e.ownerState,r=(0,Cg.D)(t,"palette.".concat(function(e){return Mg[e]||e}(n.color)))||n.color;return(0,o.Z)({},"none"===n.underline&&{textDecoration:"none"},"hover"===n.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===n.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==r?(0,Q.Fq)(r,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===n.component&&(0,q.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(Eg.focusVisible),{outline:"auto"}))})),Pg=t.forwardRef((function(e,n){var i=Ot(),a=(0,ee.Z)({props:e,name:"MuiLink"}),u=a.className,l=a.color,s=void 0===l?"primary":l,c=a.component,d=void 0===c?"a":c,f=a.onBlur,p=a.onFocus,h=a.TypographyClasses,m=a.underline,v=void 0===m?"always":m,g=a.variant,y=void 0===g?"inherit":g,b=a.sx,x=(0,X.Z)(a,Ag),Z="function"===typeof b?b(i).color:null==b?void 0:b.color,w=(0,me.Z)(),D=w.isFocusVisibleRef,k=w.onBlur,S=w.onFocus,C=w.ref,_=t.useState(!1),E=(0,r.Z)(_,2),A=E[0],M=E[1],T=(0,pe.Z)(n,C),P=(0,o.Z)({},a,{color:("function"===typeof Z?Z(i):Z)||s,component:d,focusVisible:A,underline:v,variant:y}),R=function(e){var t=e.classes,n=e.component,r=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,te.Z)(o)),"button"===n&&"button",r&&"focusVisible"]};return(0,K.Z)(i,_g,t)}(P);return(0,ie.tZ)(Tg,(0,o.Z)({color:s,className:(0,G.Z)(R.root,u),classes:h,component:d,onBlur:function(e){k(e),!1===D.current&&M(!1),f&&f(e)},onFocus:function(e){S(e),!0===D.current&&M(!0),p&&p(e)},ref:T,ownerState:P,variant:y,sx:[].concat((0,ve.Z)(e.color?[{color:Mg[s]||s}]:[]),(0,ve.Z)(Array.isArray(b)?b:[b]))},x))})),Rg=Pg;function Fg(e){return(0,ne.Z)("MuiToolbar",e)}(0,re.Z)("MuiToolbar",["root","gutters","regular","dense"]);var Og=["className","component","disableGutters","variant"],Bg=(0,J.ZP)("div",{name:"MuiToolbar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({position:"relative",display:"flex",alignItems:"center"},!n.disableGutters&&(0,q.Z)({paddingLeft:t.spacing(2),paddingRight:t.spacing(2)},t.breakpoints.up("sm"),{paddingLeft:t.spacing(3),paddingRight:t.spacing(3)}),"dense"===n.variant&&{minHeight:48})}),(function(e){var t=e.theme;return"regular"===e.ownerState.variant&&t.mixins.toolbar})),Ig=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiToolbar"}),r=n.className,i=n.component,a=void 0===i?"div":i,u=n.disableGutters,l=void 0!==u&&u,s=n.variant,c=void 0===s?"regular":s,d=(0,X.Z)(n,Og),f=(0,o.Z)({},n,{component:a,disableGutters:l,variant:c}),p=function(e){var t=e.classes,n={root:["root",!e.disableGutters&&"gutters",e.variant]};return(0,K.Z)(n,Fg,t)}(f);return(0,ie.tZ)(Bg,(0,o.Z)({as:a,className:(0,G.Z)(p.root,r),ref:t,ownerState:f},d))})),Lg=Ig,Ng=n(1385),zg=n(9428);function jg(e){return(0,ne.Z)("MuiListItem",e)}var Wg=(0,re.Z)("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]);function $g(e){return(0,ne.Z)("MuiListItemButton",e)}var Hg=(0,re.Z)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]);function Yg(e){return(0,ne.Z)("MuiListItemSecondaryAction",e)}(0,re.Z)("MuiListItemSecondaryAction",["root","disableGutters"]);var Vg=["className"],Ug=(0,J.ZP)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.disableGutters&&t.disableGutters]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},t.disableGutters&&{right:0})})),qg=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItemSecondaryAction"}),i=r.className,a=(0,X.Z)(r,Vg),u=t.useContext(Bp),l=(0,o.Z)({},r,{disableGutters:u.disableGutters}),s=function(e){var t=e.disableGutters,n=e.classes,r={root:["root",t&&"disableGutters"]};return(0,K.Z)(r,Yg,n)}(l);return(0,ie.tZ)(Ug,(0,o.Z)({className:(0,G.Z)(s.root,i),ownerState:l,ref:n},a))}));qg.muiName="ListItemSecondaryAction";var Xg=qg,Gg=["className"],Kg=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected"],Qg=(0,J.ZP)("div",{name:"MuiListItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,"flex-start"===n.alignItems&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters,!n.disablePadding&&t.padding,n.button&&t.button,n.hasSecondaryAction&&t.secondaryAction]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!r.disablePadding&&(0,o.Z)({paddingTop:8,paddingBottom:8},r.dense&&{paddingTop:4,paddingBottom:4},!r.disableGutters&&{paddingLeft:16,paddingRight:16},!!r.secondaryAction&&{paddingRight:48}),!!r.secondaryAction&&(0,q.Z)({},"& > .".concat(Hg.root),{paddingRight:48}),(t={},(0,q.Z)(t,"&.".concat(Wg.focusVisible),{backgroundColor:n.palette.action.focus}),(0,q.Z)(t,"&.".concat(Wg.selected),(0,q.Z)({backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Wg.focusVisible),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,q.Z)(t,"&.".concat(Wg.disabled),{opacity:n.palette.action.disabledOpacity}),t),"flex-start"===r.alignItems&&{alignItems:"flex-start"},r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},r.button&&(0,q.Z)({transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(Wg.selected,":hover"),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),r.hasSecondaryAction&&{paddingRight:48})})),Jg=(0,J.ZP)("li",{name:"MuiListItem",slot:"Container",overridesResolver:function(e,t){return t.container}})({position:"relative"}),ey=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItem"}),i=r.alignItems,a=void 0===i?"center":i,u=r.autoFocus,l=void 0!==u&&u,s=r.button,c=void 0!==s&&s,d=r.children,f=r.className,p=r.component,h=r.components,m=void 0===h?{}:h,v=r.componentsProps,g=void 0===v?{}:v,y=r.ContainerComponent,b=void 0===y?"li":y,x=r.ContainerProps,Z=(x=void 0===x?{}:x).className,w=r.dense,D=void 0!==w&&w,k=r.disabled,S=void 0!==k&&k,C=r.disableGutters,_=void 0!==C&&C,E=r.disablePadding,A=void 0!==E&&E,M=r.divider,T=void 0!==M&&M,P=r.focusVisibleClassName,R=r.secondaryAction,F=r.selected,O=void 0!==F&&F,B=(0,X.Z)(r.ContainerProps,Gg),I=(0,X.Z)(r,Kg),L=t.useContext(Bp),N={dense:D||L.dense||!1,alignItems:a,disableGutters:_},z=t.useRef(null);(0,Cf.Z)((function(){l&&z.current&&z.current.focus()}),[l]);var j=t.Children.toArray(d),W=j.length&&(0,Dp.Z)(j[j.length-1],["ListItemSecondaryAction"]),$=(0,o.Z)({},r,{alignItems:a,autoFocus:l,button:c,dense:N.dense,disabled:S,disableGutters:_,disablePadding:A,divider:T,hasSecondaryAction:W,selected:O}),H=function(e){var t=e.alignItems,n=e.button,r=e.classes,o=e.dense,i=e.disabled,a={root:["root",o&&"dense",!e.disableGutters&&"gutters",!e.disablePadding&&"padding",e.divider&&"divider",i&&"disabled",n&&"button","flex-start"===t&&"alignItemsFlexStart",e.hasSecondaryAction&&"secondaryAction",e.selected&&"selected"],container:["container"]};return(0,K.Z)(a,jg,r)}($),Y=(0,pe.Z)(z,n),V=m.Root||Qg,U=g.root||{},q=(0,o.Z)({className:(0,G.Z)(H.root,U.className,f),disabled:S},I),Q=p||"li";return c&&(q.component=p||"div",q.focusVisibleClassName=(0,G.Z)(Wg.focusVisible,P),Q=at),W?(Q=q.component||p?Q:"div","li"===b&&("li"===Q?Q="div":"li"===q.component&&(q.component="div")),(0,ie.tZ)(Bp.Provider,{value:N,children:(0,ie.BX)(Jg,(0,o.Z)({as:b,className:(0,G.Z)(H.container,Z),ref:Y,ownerState:$},B,{children:[(0,ie.tZ)(V,(0,o.Z)({},U,!Zs(V)&&{as:Q,ownerState:(0,o.Z)({},$,U.ownerState)},q,{children:j})),j.pop()]}))})):(0,ie.tZ)(Bp.Provider,{value:N,children:(0,ie.BX)(V,(0,o.Z)({},U,{as:Q,ref:Y,ownerState:$},!Zs(V)&&{ownerState:(0,o.Z)({},$,U.ownerState)},q,{children:[j,R&&(0,ie.tZ)(Xg,{children:R})]}))})})),ty=ey,ny=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],ry=(0,J.ZP)("div",{name:"MuiListItemText",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(Im.primary),t.primary),(0,q.Z)({},"& .".concat(Im.secondary),t.secondary),t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})((function(e){var t=e.ownerState;return(0,o.Z)({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},t.primary&&t.secondary&&{marginTop:6,marginBottom:6},t.inset&&{paddingLeft:56})})),oy=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItemText"}),i=r.children,a=r.className,u=r.disableTypography,l=void 0!==u&&u,s=r.inset,c=void 0!==s&&s,d=r.primary,f=r.primaryTypographyProps,p=r.secondary,h=r.secondaryTypographyProps,m=(0,X.Z)(r,ny),v=t.useContext(Bp).dense,g=null!=d?d:i,y=p,b=(0,o.Z)({},r,{disableTypography:l,inset:c,primary:!!g,secondary:!!y,dense:v}),x=function(e){var t=e.classes,n=e.inset,r=e.primary,o=e.secondary,i={root:["root",n&&"inset",e.dense&&"dense",r&&o&&"multiline"],primary:["primary"],secondary:["secondary"]};return(0,K.Z)(i,Bm,t)}(b);return null==g||g.type===ev||l||(g=(0,ie.tZ)(ev,(0,o.Z)({variant:v?"body2":"body1",className:x.primary,component:"span",display:"block"},f,{children:g}))),null==y||y.type===ev||l||(y=(0,ie.tZ)(ev,(0,o.Z)({variant:"body2",className:x.secondary,color:"text.secondary",display:"block"},h,{children:y}))),(0,ie.BX)(ry,(0,o.Z)({className:(0,G.Z)(x.root,a),ownerState:b,ref:n},m,{children:[g,y]}))})),iy=oy,ay=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],uy=function(){var e=ro(),n=no().queryControls.autoRefresh,o=R();(0,t.useEffect)((function(){n&&e({type:"TOGGLE_AUTOREFRESH"})}),[o]);var i=(0,t.useState)(ay[0]),a=(0,r.Z)(i,2),u=a[0],l=a[1];(0,t.useEffect)((function(){var t,r=u.seconds;return n?t=setInterval((function(){e({type:"RUN_QUERY_TO_NOW"})}),1e3*r):l(ay[0]),function(){t&&clearInterval(t)}}),[u,n]);var s=(0,t.useState)(null),c=(0,r.Z)(s,2),d=c[0],f=c[1],p=Boolean(d);return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(cd,{title:"Auto-refresh control",children:(0,ie.tZ)(Yv,{variant:"contained",color:"primary",sx:{minWidth:"110px",color:"white",border:"1px solid rgba(0, 0, 0, 0.2)",justifyContent:"space-between",boxShadow:"none"},startIcon:(0,ie.tZ)(Ng.Z,{}),endIcon:(0,ie.tZ)(zg.Z,{sx:{transform:p?"rotate(180deg)":"none"}}),onClick:function(e){return f(e.currentTarget)},children:u.title})}),(0,ie.tZ)(Kc,{open:p,anchorEl:d,placement:"bottom-end",modifiers:[{name:"offset",options:{offset:[0,6]}}],children:(0,ie.tZ)(Pt,{onClickAway:function(){return f(null)},children:(0,ie.tZ)(ce,{elevation:3,children:(0,ie.tZ)(jp,{style:{minWidth:"110px",maxHeight:"208px",overflow:"auto",padding:"20px 0"},children:ay.map((function(t){return(0,ie.tZ)(ty,{button:!0,onClick:function(){return function(t){(n&&!t.seconds||!n&&t.seconds)&&e({type:"TOGGLE_AUTOREFRESH"}),l(t),f(null)}(t)},children:(0,ie.tZ)(iy,{primary:t.title})},t.seconds)}))})})})})]})},ly=n(210),sy=function(e){var t=e.style;return(0,ie.BX)(ly.Z,{style:t,viewBox:"0 0 20 24",children:[(0,ie.tZ)("path",{d:"M8.27 10.58a2.8 2.8 0 0 0 1.7.59h.07c.65-.01 1.3-.26 1.69-.6 2.04-1.73 7.95-7.15 7.95-7.15C21.26 1.95 16.85.48 10.04.47h-.08C3.15.48-1.26 1.95.32 3.42c0 0 5.91 5.42 7.95 7.16"}),(0,ie.tZ)("path",{d:"M11.73 13.51a2.8 2.8 0 0 1-1.7.6h-.06a2.8 2.8 0 0 1-1.7-.6C6.87 12.31 1.87 7.8 0 6.08v2.61c0 .29.11.67.3.85 1.28 1.17 6.2 5.67 7.97 7.18a2.8 2.8 0 0 0 1.7.6h.06c.66-.02 1.3-.27 1.7-.6 1.77-1.5 6.69-6.01 7.96-7.18.2-.18.3-.56.3-.85V6.08a615.27 615.27 0 0 1-8.26 7.43"}),(0,ie.tZ)("path",{d:"M11.73 19.66a2.8 2.8 0 0 1-1.7.59h-.06a2.8 2.8 0 0 1-1.7-.6c-1.4-1.2-6.4-5.72-8.27-7.43v2.62c0 .28.11.66.3.84 1.28 1.17 6.2 5.68 7.97 7.19a2.8 2.8 0 0 0 1.7.59h.06c.66-.01 1.3-.26 1.7-.6 1.77-1.5 6.69-6 7.96-7.18.2-.18.3-.56.3-.84v-2.62a614.96 614.96 0 0 1-8.26 7.44"})]})},cy=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected"],dy=(0,J.ZP)(at,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiListItemButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,"flex-start"===n.alignItems&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)((t={display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,q.Z)(t,"&.".concat(Hg.selected),(0,q.Z)({backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Hg.focusVisible),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,q.Z)(t,"&.".concat(Hg.selected,":hover"),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,q.Z)(t,"&.".concat(Hg.focusVisible),{backgroundColor:n.palette.action.focus}),(0,q.Z)(t,"&.".concat(Hg.disabled),{opacity:n.palette.action.disabledOpacity}),t),r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},"flex-start"===r.alignItems&&{alignItems:"flex-start"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.dense&&{paddingTop:4,paddingBottom:4})})),fy=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItemButton"}),i=r.alignItems,a=void 0===i?"center":i,u=r.autoFocus,l=void 0!==u&&u,s=r.component,c=void 0===s?"div":s,d=r.children,f=r.dense,p=void 0!==f&&f,h=r.disableGutters,m=void 0!==h&&h,v=r.divider,g=void 0!==v&&v,y=r.focusVisibleClassName,b=r.selected,x=void 0!==b&&b,Z=(0,X.Z)(r,cy),w=t.useContext(Bp),D={dense:p||w.dense||!1,alignItems:a,disableGutters:m},k=t.useRef(null);(0,Cf.Z)((function(){l&&k.current&&k.current.focus()}),[l]);var S=(0,o.Z)({},r,{alignItems:a,dense:D.dense,disableGutters:m,divider:g,selected:x}),C=function(e){var t=e.alignItems,n=e.classes,r=e.dense,i=e.disabled,a={root:["root",r&&"dense",!e.disableGutters&&"gutters",e.divider&&"divider",i&&"disabled","flex-start"===t&&"alignItemsFlexStart",e.selected&&"selected"]},u=(0,K.Z)(a,$g,n);return(0,o.Z)({},n,u)}(S),_=(0,pe.Z)(k,n);return(0,ie.tZ)(Bp.Provider,{value:D,children:(0,ie.tZ)(dy,(0,o.Z)({ref:_,component:c,focusVisibleClassName:(0,G.Z)(C.focusVisible,y),ownerState:S},Z,{classes:C,children:d}))})})),py=fy,hy=function(e){var t=e.setDuration;return(0,ie.tZ)(jp,{style:{maxHeight:"168px",overflow:"auto",paddingRight:"15px"},children:zr.map((function(e){var n=e.id,r=e.duration,o=e.until,i=e.title;return(0,ie.tZ)(py,{onClick:function(){return t({duration:r,until:o(),id:n})},children:(0,ie.tZ)(iy,{primary:i||r})},n)}))})},my=n(1782),vy=n(4290);function gy(e,n,o,i,a){var u="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=t.useState((function(){return a&&u?o(e).matches:i?i(e).matches:n})),s=(0,r.Z)(l,2),c=s[0],d=s[1];return(0,Cf.Z)((function(){var t=!0;if(u){var n=o(e),r=function(){t&&d(n.matches)};return r(),n.addListener(r),function(){t=!1,n.removeListener(r)}}}),[e,o,u]),c}var yy=t.useSyncExternalStore;function by(e,n,o,i){var a=t.useCallback((function(){return n}),[n]),u=t.useMemo((function(){if(null!==i){var t=i(e).matches;return function(){return t}}return a}),[a,e,i]),l=t.useMemo((function(){if(null===o)return[a,function(){return function(){}}];var t=o(e);return[function(){return t.matches},function(e){return t.addListener(e),function(){t.removeListener(e)}}]}),[a,o,e]),s=(0,r.Z)(l,2),c=s[0],d=s[1];return yy(d,c,u)}var xy=function(){var e=t.useContext(Io);if(null===e)throw new Error("MUI: Can not find utils in context. It looks like you forgot to wrap your component in LocalizationProvider, or pass dateAdapter prop directly.");return e},Zy=function(){return xy().utils},wy=function(){return xy().defaultDates},Dy=function(){var e=Zy();return t.useRef(e.date()).current};function ky(e,t){return e&&t.isValid(t.date(e))?"Choose date, selected date is ".concat(t.format(t.date(e),"fullDate")):"Choose date"}var Sy=function(e,t,n){var r=e.date(t);return null===t?"":e.isValid(r)?e.formatByString(r,n):""};function Cy(e,t,n){return e||("undefined"===typeof t?n.localized:t?n["12h"]:n["24h"])}var _y=["ampm","inputFormat","maxDate","maxDateTime","maxTime","minDate","minDateTime","minTime","openTo","orientation","views"];function Ey(e,t){var n=e.ampm,r=e.inputFormat,i=e.maxDate,a=e.maxDateTime,u=e.maxTime,l=e.minDate,s=e.minDateTime,c=e.minTime,d=e.openTo,f=void 0===d?"day":d,p=e.orientation,h=void 0===p?"portrait":p,m=e.views,v=void 0===m?["year","day","hours","minutes"]:m,g=(0,X.Z)(e,_y),y=Zy(),b=wy(),x=null!=l?l:b.minDate,Z=null!=i?i:b.maxDate,w=null!=n?n:y.is12HourCycleInCurrentLocale();if("portrait"!==h)throw new Error("We are not supporting custom orientation for DateTimePicker yet :(");return(0,ee.Z)({props:(0,o.Z)({openTo:f,views:v,ampm:w,ampmInClock:!0,orientation:h,showToolbar:!0,allowSameDateSelection:!0,minDate:null!=s?s:x,minTime:null!=s?s:c,maxDate:null!=a?a:Z,maxTime:null!=a?a:u,disableIgnoringDatePartForTimeValidation:Boolean(s||a),acceptRegex:w?/[\dap]/gi:/\d/gi,mask:"__/__/____ __:__",disableMaskedInput:w,inputFormat:Cy(r,w,{localized:y.formats.keyboardDateTime,"12h":y.formats.keyboardDateTime12h,"24h":y.formats.keyboardDateTime24h})},g),name:t})}var Ay=["className","selected","value"],My=(0,re.Z)("PrivatePickersToolbarText",["selected"]),Ty=(0,J.ZP)(ev)((function(e){var t=e.theme;return(0,q.Z)({transition:t.transitions.create("color"),color:t.palette.text.secondary},"&.".concat(My.selected),{color:t.palette.text.primary})})),Py=t.forwardRef((function(e,t){var n=e.className,r=e.selected,i=e.value,a=(0,X.Z)(e,Ay);return(0,ie.tZ)(Ty,(0,o.Z)({ref:t,className:(0,G.Z)(n,r&&My.selected),component:"span"},a,{children:i}))})),Ry=n(4929);var Fy=t.createContext();function Oy(e){return(0,ne.Z)("MuiGrid",e)}var By=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Iy=(0,re.Z)("MuiGrid",["root","container","item","zeroMinWidth"].concat((0,ve.Z)([0,1,2,3,4,5,6,7,8,9,10].map((function(e){return"spacing-xs-".concat(e)}))),(0,ve.Z)(["column-reverse","column","row-reverse","row"].map((function(e){return"direction-xs-".concat(e)}))),(0,ve.Z)(["nowrap","wrap-reverse","wrap"].map((function(e){return"wrap-xs-".concat(e)}))),(0,ve.Z)(By.map((function(e){return"grid-xs-".concat(e)}))),(0,ve.Z)(By.map((function(e){return"grid-sm-".concat(e)}))),(0,ve.Z)(By.map((function(e){return"grid-md-".concat(e)}))),(0,ve.Z)(By.map((function(e){return"grid-lg-".concat(e)}))),(0,ve.Z)(By.map((function(e){return"grid-xl-".concat(e)}))))),Ly=["className","columns","columnSpacing","component","container","direction","item","lg","md","rowSpacing","sm","spacing","wrap","xl","xs","zeroMinWidth"];function Ny(e){var t=parseFloat(e);return"".concat(t).concat(String(e).replace(String(t),"")||"px")}function zy(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t||!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[n["spacing-xs-".concat(String(e))]||"spacing-xs-".concat(String(e))];var r=e.xs,o=e.sm,i=e.md,a=e.lg,u=e.xl;return[Number(r)>0&&(n["spacing-xs-".concat(String(r))]||"spacing-xs-".concat(String(r))),Number(o)>0&&(n["spacing-sm-".concat(String(o))]||"spacing-sm-".concat(String(o))),Number(i)>0&&(n["spacing-md-".concat(String(i))]||"spacing-md-".concat(String(i))),Number(a)>0&&(n["spacing-lg-".concat(String(a))]||"spacing-lg-".concat(String(a))),Number(u)>0&&(n["spacing-xl-".concat(String(u))]||"spacing-xl-".concat(String(u)))]}var jy=(0,J.ZP)("div",{name:"MuiGrid",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState,r=n.container,o=n.direction,i=n.item,a=n.lg,u=n.md,l=n.sm,s=n.spacing,c=n.wrap,d=n.xl,f=n.xs,p=n.zeroMinWidth;return[t.root,r&&t.container,i&&t.item,p&&t.zeroMinWidth].concat((0,ve.Z)(zy(s,r,t)),["row"!==o&&t["direction-xs-".concat(String(o))],"wrap"!==c&&t["wrap-xs-".concat(String(c))],!1!==f&&t["grid-xs-".concat(String(f))],!1!==l&&t["grid-sm-".concat(String(l))],!1!==u&&t["grid-md-".concat(String(u))],!1!==a&&t["grid-lg-".concat(String(a))],!1!==d&&t["grid-xl-".concat(String(d))]])}})((function(e){var t=e.ownerState;return(0,o.Z)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})}),(function(e){var t=e.theme,n=e.ownerState,r=(0,Ry.P$)({values:n.direction,breakpoints:t.breakpoints.values});return(0,Ry.k9)({theme:t},r,(function(e){var t={flexDirection:e};return 0===e.indexOf("column")&&(t["& > .".concat(Iy.item)]={maxWidth:"none"}),t}))}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.rowSpacing,i={};if(r&&0!==o){var a=(0,Ry.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,Ry.k9)({theme:t},a,(function(e){var n=t.spacing(e);return"0px"!==n?(0,q.Z)({marginTop:"-".concat(Ny(n))},"& > .".concat(Iy.item),{paddingTop:Ny(n)}):{}}))}return i}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.columnSpacing,i={};if(r&&0!==o){var a=(0,Ry.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,Ry.k9)({theme:t},a,(function(e){var n=t.spacing(e);return"0px"!==n?(0,q.Z)({width:"calc(100% + ".concat(Ny(n),")"),marginLeft:"-".concat(Ny(n))},"& > .".concat(Iy.item),{paddingLeft:Ny(n)}):{}}))}return i}),(function(e){var t,n=e.theme,r=e.ownerState;return n.breakpoints.keys.reduce((function(e,i){var a={};if(r[i]&&(t=r[i]),!t)return e;if(!0===t)a={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{var u=(0,Ry.P$)({values:r.columns,breakpoints:n.breakpoints.values}),l="object"===typeof u?u[i]:u;if(void 0===l||null===l)return e;var s="".concat(Math.round(t/l*1e8)/1e6,"%"),c={};if(r.container&&r.item&&0!==r.columnSpacing){var d=n.spacing(r.columnSpacing);if("0px"!==d){var f="calc(".concat(s," + ").concat(Ny(d),")");c={flexBasis:f,maxWidth:f}}}a=(0,o.Z)({flexBasis:s,flexGrow:0,maxWidth:s},c)}return 0===n.breakpoints.values[i]?Object.assign(e,a):e[n.breakpoints.up(i)]=a,e}),{})})),Wy=t.forwardRef((function(e,n){var r=Qo((0,ee.Z)({props:e,name:"MuiGrid"})),i=r.className,a=r.columns,u=r.columnSpacing,l=r.component,s=void 0===l?"div":l,c=r.container,d=void 0!==c&&c,f=r.direction,p=void 0===f?"row":f,h=r.item,m=void 0!==h&&h,v=r.lg,g=void 0!==v&&v,y=r.md,b=void 0!==y&&y,x=r.rowSpacing,Z=r.sm,w=void 0!==Z&&Z,D=r.spacing,k=void 0===D?0:D,S=r.wrap,C=void 0===S?"wrap":S,_=r.xl,E=void 0!==_&&_,A=r.xs,M=void 0!==A&&A,T=r.zeroMinWidth,P=void 0!==T&&T,R=(0,X.Z)(r,Ly),F=x||k,O=u||k,B=t.useContext(Fy),I=d?a||12:B,L=(0,o.Z)({},r,{columns:I,container:d,direction:p,item:m,lg:g,md:b,sm:w,rowSpacing:F,columnSpacing:O,wrap:C,xl:E,xs:M,zeroMinWidth:P}),N=function(e){var t=e.classes,n=e.container,r=e.direction,o=e.item,i=e.lg,a=e.md,u=e.sm,l=e.spacing,s=e.wrap,c=e.xl,d=e.xs,f={root:["root",n&&"container",o&&"item",e.zeroMinWidth&&"zeroMinWidth"].concat((0,ve.Z)(zy(l,n)),["row"!==r&&"direction-xs-".concat(String(r)),"wrap"!==s&&"wrap-xs-".concat(String(s)),!1!==d&&"grid-xs-".concat(String(d)),!1!==u&&"grid-sm-".concat(String(u)),!1!==a&&"grid-md-".concat(String(a)),!1!==i&&"grid-lg-".concat(String(i)),!1!==c&&"grid-xl-".concat(String(c))])};return(0,K.Z)(f,Oy,t)}(L);return(0,ie.tZ)(Fy.Provider,{value:I,children:(0,ie.tZ)(jy,(0,o.Z)({ownerState:L,className:(0,G.Z)(N.root,i),as:s,ref:n},R))})})),$y=Wy,Hy=(0,ht.Z)((0,ie.tZ)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),Yy=(0,ht.Z)((0,ie.tZ)("path",{d:"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"}),"ArrowLeft"),Vy=(0,ht.Z)((0,ie.tZ)("path",{d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"ArrowRight"),Uy=(0,ht.Z)((0,ie.tZ)("path",{d:"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"}),"Calendar"),qy=(0,ht.Z)((0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),(0,ie.tZ)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Clock"),Xy=(0,ht.Z)((0,ie.tZ)("path",{d:"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"}),"DateRange"),Gy=(0,ht.Z)((0,ie.tZ)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"}),"Pen"),Ky=(0,ht.Z)((0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),(0,ie.tZ)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Time"),Qy=(0,re.Z)("PrivatePickersToolbar",["root","dateTitleContainer"]),Jy=(0,J.ZP)("div")((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"space-between",padding:t.spacing(2,3)},n.isLandscape&&{height:"auto",maxWidth:160,padding:16,justifyContent:"flex-start",flexWrap:"wrap"})})),eb=(0,J.ZP)($y)({flex:1}),tb=function(e){return"clock"===e?(0,ie.tZ)(qy,{color:"inherit"}):(0,ie.tZ)(Uy,{color:"inherit"})};function nb(e,t){return e?"text input view is open, go to ".concat(t," view"):"".concat(t," view is open, go to text input view")}var rb=t.forwardRef((function(e,t){var n=e.children,r=e.className,o=e.getMobileKeyboardInputViewButtonText,i=void 0===o?nb:o,a=e.isLandscape,u=e.isMobileKeyboardViewOpen,l=e.landscapeDirection,s=void 0===l?"column":l,c=e.penIconClassName,d=e.toggleMobileKeyboardView,f=e.toolbarTitle,p=e.viewType,h=void 0===p?"calendar":p,m=e;return(0,ie.BX)(Jy,{ref:t,className:(0,G.Z)(Qy.root,r),ownerState:m,children:[(0,ie.tZ)(ev,{color:"text.secondary",variant:"overline",children:f}),(0,ie.BX)(eb,{container:!0,justifyContent:"space-between",className:Qy.dateTitleContainer,direction:a?s:"row",alignItems:a?"flex-start":"flex-end",children:[n,(0,ie.tZ)(pt,{onClick:d,className:c,color:"inherit","aria-label":i(u,h),children:u?tb(h):(0,ie.tZ)(Gy,{color:"inherit"})})]})]})})),ob=["align","className","selected","typographyClassName","value","variant"],ib=(0,J.ZP)(Yv)({padding:0,minWidth:16,textTransform:"none"}),ab=t.forwardRef((function(e,t){var n=e.align,r=e.className,i=e.selected,a=e.typographyClassName,u=e.value,l=e.variant,s=(0,X.Z)(e,ob);return(0,ie.tZ)(ib,(0,o.Z)({variant:"text",ref:t,className:r},s,{children:(0,ie.tZ)(Py,{align:n,className:a,variant:l,value:u,selected:i})}))})),ub=t.createContext(null),lb=(0,J.ZP)(Jn)((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({boxShadow:"0 -1px 0 0 inset ".concat(n.palette.divider)},"desktop"===t.wrapperVariant&&(0,q.Z)({order:1,boxShadow:"0 1px 0 0 inset ".concat(n.palette.divider)},"& .".concat(zn.indicator),{bottom:"auto",top:0}))})),sb=function(e){var n,r=e.dateRangeIcon,i=void 0===r?(0,ie.tZ)(Xy,{}):r,a=e.onChange,u=e.timeIcon,l=void 0===u?(0,ie.tZ)(Ky,{}):u,s=e.view,c=t.useContext(ub),d=(0,o.Z)({},e,{wrapperVariant:c});return(0,ie.BX)(lb,{ownerState:d,variant:"fullWidth",value:(n=s,["day","month","year"].includes(n)?"date":"time"),onChange:function(e,t){a("date"===t?"day":"hours")},children:[(0,ie.tZ)(ar,{value:"date","aria-label":"pick date",icon:(0,ie.tZ)(t.Fragment,{children:i})}),(0,ie.tZ)(ar,{value:"time","aria-label":"pick time",icon:(0,ie.tZ)(t.Fragment,{children:l})})]})},cb=["ampm","date","dateRangeIcon","hideTabs","isMobileKeyboardViewOpen","onChange","openView","setOpenView","timeIcon","toggleMobileKeyboardView","toolbarFormat","toolbarPlaceholder","toolbarTitle","views"],db=(0,re.Z)("PrivateDateTimePickerToolbar",["penIcon"]),fb=(0,J.ZP)(rb)((0,q.Z)({paddingLeft:16,paddingRight:16,justifyContent:"space-around"},"& .".concat(db.penIcon),{position:"absolute",top:8,right:8})),pb=(0,J.ZP)("div")({display:"flex",flexDirection:"column",alignItems:"flex-start"}),hb=(0,J.ZP)("div")({display:"flex"}),mb=(0,J.ZP)(Py)({margin:"0 4px 0 2px",cursor:"default"}),vb=function(e){var n,r=e.ampm,i=e.date,a=e.dateRangeIcon,u=e.hideTabs,l=e.isMobileKeyboardViewOpen,s=e.openView,c=e.setOpenView,d=e.timeIcon,f=e.toggleMobileKeyboardView,p=e.toolbarFormat,h=e.toolbarPlaceholder,m=void 0===h?"\u2013\u2013":h,v=e.toolbarTitle,g=void 0===v?"Select date & time":v,y=e.views,b=(0,X.Z)(e,cb),x=Zy(),Z=t.useContext(ub),w="desktop"===Z||!u&&"undefined"!==typeof window&&window.innerHeight>667,D=t.useMemo((function(){return i?p?x.formatByString(i,p):x.format(i,"shortDate"):m}),[i,p,m,x]);return(0,ie.BX)(t.Fragment,{children:["desktop"!==Z&&(0,ie.BX)(fb,(0,o.Z)({toolbarTitle:g,penIconClassName:db.penIcon,isMobileKeyboardViewOpen:l,toggleMobileKeyboardView:f},b,{isLandscape:!1,children:[(0,ie.BX)(pb,{children:[y.includes("year")&&(0,ie.tZ)(ab,{tabIndex:-1,variant:"subtitle1",onClick:function(){return c("year")},selected:"year"===s,value:i?x.format(i,"year"):"\u2013"}),y.includes("day")&&(0,ie.tZ)(ab,{tabIndex:-1,variant:"h4",onClick:function(){return c("day")},selected:"day"===s,value:D})]}),(0,ie.BX)(hb,{children:[y.includes("hours")&&(0,ie.tZ)(ab,{variant:"h3",onClick:function(){return c("hours")},selected:"hours"===s,value:i?(n=i,r?x.format(n,"hours12h"):x.format(n,"hours24h")):"--"}),y.includes("minutes")&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(mb,{variant:"h3",value:":"}),(0,ie.tZ)(ab,{variant:"h3",onClick:function(){return c("minutes")},selected:"minutes"===s,value:i?x.format(i,"minutes"):"--"})]}),y.includes("seconds")&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(mb,{variant:"h3",value:":"}),(0,ie.tZ)(ab,{variant:"h3",onClick:function(){return c("seconds")},selected:"seconds"===s,value:i?x.format(i,"seconds"):"--"})]})]})]})),w&&(0,ie.tZ)(sb,{dateRangeIcon:a,timeIcon:d,view:s,onChange:c})]})};function gb(e){return(0,ne.Z)("MuiDialogActions",e)}(0,re.Z)("MuiDialogActions",["root","spacing"]);var yb=["className","disableSpacing"],bb=(0,J.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disableSpacing&&t.spacing]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),xb=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDialogActions"}),r=n.className,i=n.disableSpacing,a=void 0!==i&&i,u=(0,X.Z)(n,yb),l=(0,o.Z)({},n,{disableSpacing:a}),s=function(e){var t=e.classes,n={root:["root",!e.disableSpacing&&"spacing"]};return(0,K.Z)(n,gb,t)}(l);return(0,ie.tZ)(bb,(0,o.Z)({className:(0,G.Z)(s.root,r),ownerState:l,ref:t},u))})),Zb=xb,wb=["onClick","onTouchStart"],Db=(0,J.ZP)(Kc)((function(e){return{zIndex:e.theme.zIndex.modal}})),kb=(0,J.ZP)(ce)((function(e){var t=e.ownerState;return(0,o.Z)({transformOrigin:"top center",outline:0},"top"===t.placement&&{transformOrigin:"bottom center"})})),Sb=(0,J.ZP)(Zb)((function(e){var t=e.ownerState;return(0,o.Z)({},t.clearable?{justifyContent:"flex-start","& > *:first-of-type":{marginRight:"auto"}}:{padding:0})}));var Cb=function(e){var n=e.anchorEl,i=e.children,a=e.containerRef,u=void 0===a?null:a,l=e.onClose,s=e.onClear,c=e.clearable,d=void 0!==c&&c,f=e.clearText,p=void 0===f?"Clear":f,h=e.open,m=e.PopperProps,v=e.role,g=e.TransitionComponent,y=void 0===g?Qt:g,b=e.TrapFocusProps,x=e.PaperProps,Z=void 0===x?{}:x;t.useEffect((function(){function e(e){"Escape"!==e.key&&"Esc"!==e.key||l()}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[l]);var w=t.useRef(null);t.useEffect((function(){"tooltip"!==v&&(h?w.current=document.activeElement:w.current&&w.current instanceof HTMLElement&&w.current.focus())}),[h,v]);var D=function(e,n){var r=t.useRef(!1),o=t.useRef(!1),i=t.useRef(null),a=t.useRef(!1);t.useEffect((function(){if(e)return document.addEventListener("mousedown",t,!0),document.addEventListener("touchstart",t,!0),function(){document.removeEventListener("mousedown",t,!0),document.removeEventListener("touchstart",t,!0),a.current=!1};function t(){a.current=!0}}),[e]);var u=(0,he.Z)((function(e){if(a.current){var t=o.current;o.current=!1;var u=(0,jn.Z)(i.current);!i.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!u.documentElement.contains(e.target)||i.current.contains(e.target))||t||n(e))}})),l=function(){o.current=!0};return t.useEffect((function(){if(e){var t=(0,jn.Z)(i.current),n=function(){r.current=!0};return t.addEventListener("touchstart",u),t.addEventListener("touchmove",n),function(){t.removeEventListener("touchstart",u),t.removeEventListener("touchmove",n)}}}),[e,u]),t.useEffect((function(){if(e){var t=(0,jn.Z)(i.current);return t.addEventListener("click",u),function(){t.removeEventListener("click",u),o.current=!1}}}),[e,u]),[i,l,l]}(h,l),k=(0,r.Z)(D,3),S=k[0],C=k[1],_=k[2],E=t.useRef(null),A=(0,pe.Z)(E,u),M=(0,pe.Z)(A,S),T=e,P=Z.onClick,R=Z.onTouchStart,F=(0,X.Z)(Z,wb);return(0,ie.tZ)(Db,(0,o.Z)({transition:!0,role:v,open:h,anchorEl:n,ownerState:T},m,{children:function(e){var t=e.TransitionProps,n=e.placement;return(0,ie.tZ)(ch,(0,o.Z)({open:h,disableAutoFocus:!0,disableEnforceFocus:"tooltip"===v,isEnabled:function(){return!0}},b,{children:(0,ie.tZ)(y,(0,o.Z)({},t,{children:(0,ie.BX)(kb,(0,o.Z)({tabIndex:-1,elevation:8,ref:M,onClick:function(e){C(e),P&&P(e)},onTouchStart:function(e){_(e),R&&R(e)},ownerState:(0,o.Z)({},T,{placement:n})},F,{children:[i,(0,ie.tZ)(Sb,{ownerState:T,children:d&&(0,ie.tZ)(Yv,{onClick:s,children:p})})]}))}))}))}}))};function _b(e){var n=e.children,r=e.DateInputProps,i=e.KeyboardDateInputComponent,a=e.onDismiss,u=e.open,l=e.PopperProps,s=e.PaperProps,c=e.TransitionComponent,d=e.onClear,f=e.clearText,p=e.clearable,h=t.useRef(null),m=(0,pe.Z)(r.inputRef,h);return(0,ie.BX)(ub.Provider,{value:"desktop",children:[(0,ie.tZ)(i,(0,o.Z)({},r,{inputRef:m})),(0,ie.tZ)(Cb,{role:"dialog",open:u,anchorEl:h.current,TransitionComponent:c,PopperProps:l,PaperProps:s,onClose:a,onClear:d,clearText:f,clearable:p,children:n})]})}function Eb(e,t){return Array.isArray(t)?t.every((function(t){return-1!==e.indexOf(t)})):-1!==e.indexOf(t)}var Ab=function(e,t){return function(n){"Enter"!==n.key&&" "!==n.key||(e(),n.preventDefault(),n.stopPropagation()),t&&t(n)}},Mb=function(){for(var e=arguments.length,t=new Array(e),n=0;n12&&(e-=360),{height:Math.round((n?.26:.4)*Ib),transform:"rotateZ(".concat(e,"deg)")}}(),className:t,ownerState:u},a,{children:(0,ie.tZ)(Yb,{ownerState:u})}))}}]),n}(t.Component);Vb.getDerivedStateFromProps=function(e,t){return e.type!==t.previousType?{toAnimateTransform:!0,previousType:e.type}:{toAnimateTransform:!1,previousType:e.type}};var Ub=(0,J.ZP)("div")((function(e){return{display:"flex",justifyContent:"center",alignItems:"center",margin:e.theme.spacing(2)}})),qb=(0,J.ZP)("div")({backgroundColor:"rgba(0,0,0,.07)",borderRadius:"50%",height:220,width:220,flexShrink:0,position:"relative",pointerEvents:"none"}),Xb=(0,J.ZP)("div")({width:"100%",height:"100%",position:"absolute",pointerEvents:"auto",outline:0,touchAction:"none",userSelect:"none","@media (pointer: fine)":{cursor:"pointer",borderRadius:"50%"},"&:active":{cursor:"move"}}),Gb=(0,J.ZP)("div")((function(e){return{width:6,height:6,borderRadius:"50%",backgroundColor:e.theme.palette.primary.main,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"}})),Kb=(0,J.ZP)(pt)((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({zIndex:1,position:"absolute",bottom:n.ampmInClock?64:8,left:8},"am"===n.meridiemMode&&{backgroundColor:t.palette.primary.main,color:t.palette.primary.contrastText,"&:hover":{backgroundColor:t.palette.primary.light}})})),Qb=(0,J.ZP)(pt)((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({zIndex:1,position:"absolute",bottom:n.ampmInClock?64:8,right:8},"pm"===n.meridiemMode&&{backgroundColor:t.palette.primary.main,color:t.palette.primary.contrastText,"&:hover":{backgroundColor:t.palette.primary.light}})}));function Jb(e){var n=e.ampm,r=e.ampmInClock,o=e.autoFocus,i=e.children,a=e.date,u=e.getClockLabelText,l=e.handleMeridiemChange,s=e.isTimeDisabled,c=e.meridiemMode,d=e.minutesStep,f=void 0===d?1:d,p=e.onChange,h=e.selectedId,m=e.type,v=e.value,g=e,y=Zy(),b=t.useContext(ub),x=t.useRef(!1),Z=s(v,m),w=!n&&"hours"===m&&(v<1||v>12),D=function(e,t){s(e,m)||p(e,t)},k=function(e,t){var r=e.offsetX,o=e.offsetY;if(void 0===r){var i=e.target.getBoundingClientRect();r=e.changedTouches[0].clientX-i.left,o=e.changedTouches[0].clientY-i.top}var a="seconds"===m||"minutes"===m?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=Wb(6*n,e,t).value;return r*n%60}(r,o,f):function(e,t,n){var r=Wb(30,e,t),o=r.value,i=r.distance,a=o||12;return n?a%=12:i<74&&(a+=12,a%=24),a}(r,o,Boolean(n));D(a,t)},S=t.useMemo((function(){return"hours"===m||v%5===0}),[m,v]),C="minutes"===m?f:1,_=t.useRef(null);(0,Ds.Z)((function(){o&&_.current.focus()}),[o]);return(0,ie.BX)(Ub,{children:[(0,ie.BX)(qb,{children:[(0,ie.tZ)(Xb,{onTouchMove:function(e){x.current=!0,k(e,"shallow")},onTouchEnd:function(e){x.current&&(k(e,"finish"),x.current=!1)},onMouseUp:function(e){x.current&&(x.current=!1),k(e.nativeEvent,"finish")},onMouseMove:function(e){e.buttons>0&&k(e.nativeEvent,"shallow")}}),!Z&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(Gb,{}),a&&(0,ie.tZ)(Vb,{type:m,value:v,isInner:w,hasSelected:S})]}),(0,ie.tZ)("div",{"aria-activedescendant":h,"aria-label":u(m,a,y),ref:_,role:"listbox",onKeyDown:function(e){if(!x.current)switch(e.key){case"Home":D(0,"partial"),e.preventDefault();break;case"End":D("minutes"===m?59:23,"partial"),e.preventDefault();break;case"ArrowUp":D(v+C,"partial"),e.preventDefault();break;case"ArrowDown":D(v-C,"partial"),e.preventDefault()}},tabIndex:0,children:i})]}),n&&("desktop"===b||r)&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(Kb,{onClick:function(){return l("am")},disabled:null===c,ownerState:g,children:(0,ie.tZ)(ev,{variant:"caption",children:"AM"})}),(0,ie.tZ)(Qb,{disabled:null===c,onClick:function(){return l("pm")},ownerState:g,children:(0,ie.tZ)(ev,{variant:"caption",children:"PM"})})]})]})}var ex=["className","disabled","index","inner","label","selected"],tx=(0,re.Z)("PrivateClockNumber",["selected","disabled"]),nx=(0,J.ZP)("span")((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)((t={height:Lb,width:Lb,position:"absolute",left:"calc((100% - ".concat(Lb,"px) / 2)"),display:"inline-flex",justifyContent:"center",alignItems:"center",borderRadius:"50%",color:n.palette.text.primary,fontFamily:n.typography.fontFamily,"&:focused":{backgroundColor:n.palette.background.paper}},(0,q.Z)(t,"&.".concat(tx.selected),{color:n.palette.primary.contrastText}),(0,q.Z)(t,"&.".concat(tx.disabled),{pointerEvents:"none",color:n.palette.text.disabled}),t),r.inner&&(0,o.Z)({},n.typography.body2,{color:n.palette.text.secondary}))}));function rx(e){var t=e.className,n=e.disabled,r=e.index,i=e.inner,a=e.label,u=e.selected,l=(0,X.Z)(e,ex),s=e,c=r%12/12*Math.PI*2-Math.PI/2,d=91*(i?.65:1),f=Math.round(Math.cos(c)*d),p=Math.round(Math.sin(c)*d);return(0,ie.tZ)(nx,(0,o.Z)({className:(0,G.Z)(t,u&&tx.selected,n&&tx.disabled),"aria-disabled":!!n||void 0,"aria-selected":!!u||void 0,role:"option",style:{transform:"translate(".concat(f,"px, ").concat(p+92,"px")},ownerState:s},l,{children:a}))}var ox=function(e){for(var t=e.ampm,n=e.date,r=e.getClockNumberText,o=e.isDisabled,i=e.selectedId,a=e.utils,u=n?a.getHours(n):null,l=[],s=t?12:23,c=function(e){return null!==u&&(t?12===e?12===u||0===u:u===e||u-12===e:u===e)},d=t?1:0;d<=s;d+=1){var f=d.toString();0===d&&(f="00");var p=!t&&(0===d||d>12);f=a.formatNumber(f);var h=c(d);l.push((0,ie.tZ)(rx,{id:h?i:void 0,index:d,inner:p,selected:h,disabled:o(d),label:f,"aria-label":r(f)},d))}return l},ix=function(e){var t=e.utils,n=e.value,o=e.isDisabled,i=e.getClockNumberText,a=e.selectedId,u=t.formatNumber;return[[5,u("05")],[10,u("10")],[15,u("15")],[20,u("20")],[25,u("25")],[30,u("30")],[35,u("35")],[40,u("40")],[45,u("45")],[50,u("50")],[55,u("55")],[0,u("00")]].map((function(e,t){var u=(0,r.Z)(e,2),l=u[0],s=u[1],c=l===n;return(0,ie.tZ)(rx,{label:s,id:c?a:void 0,index:t+1,inner:!1,disabled:o(l),selected:c,"aria-label":i(s)},l)}))},ax=["children","className","components","componentsProps","isLeftDisabled","isLeftHidden","isRightDisabled","isRightHidden","leftArrowButtonText","onLeftClick","onRightClick","rightArrowButtonText"],ux=(0,J.ZP)("div")({display:"flex"}),lx=(0,J.ZP)("div")((function(e){return{width:e.theme.spacing(3)}})),sx=(0,J.ZP)(pt)((function(e){var t=e.ownerState;return(0,o.Z)({},t.hidden&&{visibility:"hidden"})})),cx=t.forwardRef((function(e,t){var n=e.children,r=e.className,i=e.components,a=void 0===i?{}:i,u=e.componentsProps,l=void 0===u?{}:u,s=e.isLeftDisabled,c=e.isLeftHidden,d=e.isRightDisabled,f=e.isRightHidden,p=e.leftArrowButtonText,h=e.onLeftClick,m=e.onRightClick,v=e.rightArrowButtonText,g=(0,X.Z)(e,ax),y="rtl"===Ot().direction,b=l.leftArrowButton||{},x=a.LeftArrowIcon||Yy,Z=l.rightArrowButton||{},w=a.RightArrowIcon||Vy,D=e;return(0,ie.BX)(ux,(0,o.Z)({ref:t,className:r,ownerState:D},g,{children:[(0,ie.tZ)(sx,(0,o.Z)({as:a.LeftArrowButton,size:"small","aria-label":p,title:p,disabled:s,edge:"end",onClick:h},b,{className:b.className,ownerState:(0,o.Z)({},D,b,{hidden:c}),children:y?(0,ie.tZ)(w,{}):(0,ie.tZ)(x,{})})),n?(0,ie.tZ)(ev,{variant:"subtitle1",component:"span",children:n}):(0,ie.tZ)(lx,{ownerState:D}),(0,ie.tZ)(sx,(0,o.Z)({as:a.RightArrowButton,size:"small","aria-label":v,title:v,edge:"start",disabled:d,onClick:m},Z,{className:Z.className,ownerState:(0,o.Z)({},D,Z,{hidden:f}),children:y?(0,ie.tZ)(x,{}):(0,ie.tZ)(w,{})}))]}))})),dx=function(e,t,n){if(n&&(e>=12?"pm":"am")!==t)return"am"===t?e-12:e+12;return e},fx=function(e,t){return 3600*t.getHours(e)+60*t.getMinutes(e)+t.getSeconds(e)},px=function(e,t){return function(n,r){return e?t.isAfter(n,r):fx(n,t)>fx(r,t)}};function hx(e,n,r){var o=Zy(),i=function(e,t){return e?t.getHours(e)>=12?"pm":"am":null}(e,o),a=t.useCallback((function(t){var i=function(e,t,n,r){var o=dx(r.getHours(e),t,n);return r.setHours(e,o)}(e,t,Boolean(n),o);r(i,"partial")}),[n,e,r,o]);return{meridiemMode:i,handleMeridiemChange:a}}function mx(e){return(0,ne.Z)("MuiClockPicker",e)}(0,re.Z)("MuiClockPicker",["root","arrowSwitcher"]);var vx=(0,J.ZP)("div")({overflowX:"hidden",width:320,maxHeight:358,display:"flex",flexDirection:"column",margin:"0 auto"}),gx=(0,J.ZP)(vx,{name:"MuiClockPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"flex",flexDirection:"column"}),yx=(0,J.ZP)(cx,{name:"MuiClockPicker",slot:"ArrowSwitcher",overridesResolver:function(e,t){return t.arrowSwitcher}})({position:"absolute",right:12,top:15}),bx=function(e,t,n){return"Select ".concat(e,". ").concat(null===t?"No time selected":"Selected time is ".concat(n.format(t,"fullTime")))},xx=function(e){return"".concat(e," minutes")},Zx=function(e){return"".concat(e," hours")},wx=function(e){return"".concat(e," seconds")},Dx=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiClockPicker"}),i=r.ampm,a=void 0!==i&&i,u=r.ampmInClock,l=void 0!==u&&u,s=r.autoFocus,c=r.components,d=r.componentsProps,f=r.date,p=r.disableIgnoringDatePartForTimeValidation,h=void 0!==p&&p,m=r.getClockLabelText,v=void 0===m?bx:m,g=r.getHoursClockNumberText,y=void 0===g?Zx:g,b=r.getMinutesClockNumberText,x=void 0===b?xx:b,Z=r.getSecondsClockNumberText,w=void 0===Z?wx:Z,D=r.leftArrowButtonText,k=void 0===D?"open previous view":D,S=r.maxTime,C=r.minTime,_=r.minutesStep,E=void 0===_?1:_,A=r.rightArrowButtonText,M=void 0===A?"open next view":A,T=r.shouldDisableTime,P=r.showViewSwitcher,R=r.onChange,F=r.view,O=r.views,B=void 0===O?["hours","minutes"]:O,I=r.openTo,L=r.onViewChange,N=r.className,z=Pb({view:F,views:B,openTo:I,onViewChange:L,onChange:R}),j=z.openView,W=z.setOpenView,$=z.nextView,H=z.previousView,Y=z.handleChangeAndOpenNext,V=Dy(),U=Zy(),q=U.setSeconds(U.setMinutes(U.setHours(V,0),0),0),X=f||q,Q=hx(X,a,Y),J=Q.meridiemMode,te=Q.handleMeridiemChange,ne=t.useCallback((function(e,t){if(null===f)return!1;var n=function(n){var r=px(h,U);return Boolean(C&&r(C,n("end"))||S&&r(n("start"),S)||T&&T(e,t))};switch(t){case"hours":var r=dx(e,J,a);return n((function(e){return Mb((function(e){return U.setHours(e,r)}),(function(t){return U.setMinutes(t,"start"===e?0:59)}),(function(t){return U.setSeconds(t,"start"===e?0:59)}))(f)}));case"minutes":return n((function(t){return Mb((function(t){return U.setMinutes(t,e)}),(function(e){return U.setSeconds(e,"start"===t?0:59)}))(f)}));case"seconds":return n((function(){return U.setSeconds(f,e)}));default:throw new Error("not supported")}}),[a,f,h,S,J,C,T,U]),re=(0,hf.Z)(),oe=t.useMemo((function(){switch(j){case"hours":var e=function(e,t){var n=dx(e,J,a);Y(U.setHours(X,n),t)};return{onChange:e,value:U.getHours(X),children:ox({date:f,utils:U,ampm:a,onChange:e,getClockNumberText:y,isDisabled:function(e){return ne(e,"hours")},selectedId:re})};case"minutes":var t=U.getMinutes(X),n=function(e,t){Y(U.setMinutes(X,e),t)};return{value:t,onChange:n,children:ix({utils:U,value:t,onChange:n,getClockNumberText:x,isDisabled:function(e){return ne(e,"minutes")},selectedId:re})};case"seconds":var r=U.getSeconds(X),o=function(e,t){Y(U.setSeconds(X,e),t)};return{value:r,onChange:o,children:ix({utils:U,value:r,onChange:o,getClockNumberText:w,isDisabled:function(e){return ne(e,"seconds")},selectedId:re})};default:throw new Error("You must provide the type for ClockView")}}),[j,U,f,a,y,x,w,J,Y,X,ne,re]),ae=r,ue=function(e){var t=e.classes;return(0,K.Z)({root:["root"],arrowSwitcher:["arrowSwitcher"]},mx,t)}(ae);return(0,ie.BX)(gx,{ref:n,className:(0,G.Z)(ue.root,N),ownerState:ae,children:[P&&(0,ie.tZ)(yx,{className:ue.arrowSwitcher,leftArrowButtonText:k,rightArrowButtonText:M,components:c,componentsProps:d,onLeftClick:function(){return W(H)},onRightClick:function(){return W($)},isLeftDisabled:!H,isRightDisabled:!$,ownerState:ae}),(0,ie.tZ)(Jb,(0,o.Z)({autoFocus:s,date:f,ampmInClock:l,type:j,ampm:a,getClockLabelText:v,minutesStep:E,isTimeDisabled:ne,meridiemMode:J,handleMeridiemChange:te,selectedId:re},oe))]})})),kx=["disabled","onSelect","selected","value"],Sx=(0,re.Z)("PrivatePickersMonth",["root","selected"]),Cx=(0,J.ZP)(ev)((function(e){var t=e.theme;return(0,o.Z)({flex:"1 0 33.33%",display:"flex",alignItems:"center",justifyContent:"center",color:"unset",backgroundColor:"transparent",border:0,outline:0},t.typography.subtitle1,(0,q.Z)({margin:"8px 0",height:36,borderRadius:18,cursor:"pointer","&:focus, &:hover":{backgroundColor:(0,Q.Fq)(t.palette.action.active,t.palette.action.hoverOpacity)},"&:disabled":{pointerEvents:"none",color:t.palette.text.secondary}},"&.".concat(Sx.selected),{color:t.palette.primary.contrastText,backgroundColor:t.palette.primary.main,"&:focus, &:hover":{backgroundColor:t.palette.primary.dark}}))})),_x=function(e){var t=e.disabled,n=e.onSelect,r=e.selected,i=e.value,a=(0,X.Z)(e,kx),u=function(){n(i)};return(0,ie.tZ)(Cx,(0,o.Z)({component:"button",className:(0,G.Z)(Sx.root,r&&Sx.selected),tabIndex:t?-1:0,onClick:u,onKeyDown:Ab(u),color:r?"primary":void 0,variant:r?"h5":"subtitle1",disabled:t},a))};function Ex(e){return(0,ne.Z)("MuiMonthPicker",e)}(0,re.Z)("MuiMonthPicker",["root"]);var Ax=["className","date","disabled","disableFuture","disablePast","maxDate","minDate","onChange","onMonthChange","readOnly"],Mx=(0,J.ZP)("div",{name:"MuiMonthPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({width:310,display:"flex",flexWrap:"wrap",alignContent:"stretch",margin:"0 4px"}),Tx=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiMonthPicker"}),r=n.className,i=n.date,a=n.disabled,u=n.disableFuture,l=n.disablePast,s=n.maxDate,c=n.minDate,d=n.onChange,f=n.onMonthChange,p=n.readOnly,h=(0,X.Z)(n,Ax),m=n,v=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},Ex,t)}(m),g=Zy(),y=Dy(),b=g.getMonth(i||y),x=function(e){var t=g.startOfMonth(l&&g.isAfter(y,c)?y:c),n=g.startOfMonth(u&&g.isBefore(y,s)?y:s),r=g.isBefore(e,t),o=g.isAfter(e,n);return r||o},Z=function(e){if(!p){var t=g.setMonth(i||y,e);d(t,"finish"),f&&f(t)}};return(0,ie.tZ)(Mx,(0,o.Z)({ref:t,className:(0,G.Z)(v.root,r),ownerState:m},h,{children:g.getMonthArray(i||y).map((function(e){var t=g.getMonth(e),n=g.format(e,"monthShort");return(0,ie.tZ)(_x,{value:t,selected:t===b,onSelect:Z,disabled:a||x(e),children:n},n)}))}))})),Px=function(e,t,n){var r=n.disablePast,o=n.disableFuture,i=n.minDate,a=n.maxDate,u=n.shouldDisableDate,l=e.date(),s=e.date(t);if(null===s)return null;switch(!0){case!e.isValid(t):return"invalidDate";case Boolean(u&&u(s)):return"shouldDisableDate";case Boolean(o&&e.isAfterDay(s,l)):return"disableFuture";case Boolean(r&&e.isBeforeDay(s,l)):return"disablePast";case Boolean(i&&e.isBeforeDay(s,i)):return"minDate";case Boolean(a&&e.isAfterDay(s,a)):return"maxDate";default:return null}},Rx=function(e){var n,i=e.date,a=e.defaultCalendarMonth,u=e.disableFuture,l=e.disablePast,s=e.disableSwitchToMonthOnDayFocus,c=void 0!==s&&s,d=e.maxDate,f=e.minDate,p=e.onMonthChange,h=e.reduceAnimations,m=e.shouldDisableDate,v=Dy(),g=Zy(),y=t.useRef(function(e,t,n){return function(r,i){switch(i.type){case"changeMonth":return(0,o.Z)({},r,{slideDirection:i.direction,currentMonth:i.newMonth,isMonthSwitchingAnimating:!e});case"finishMonthSwitchingAnimation":return(0,o.Z)({},r,{isMonthSwitchingAnimating:!1});case"changeFocusedDay":if(null!==r.focusedDay&&n.isSameDay(i.focusedDay,r.focusedDay))return r;var a=Boolean(i.focusedDay)&&!t&&!n.isSameMonth(r.currentMonth,i.focusedDay);return(0,o.Z)({},r,{focusedDay:i.focusedDay,isMonthSwitchingAnimating:a&&!e,currentMonth:a?n.startOfMonth(i.focusedDay):r.currentMonth,slideDirection:n.isAfterDay(i.focusedDay,r.currentMonth)?"left":"right"});default:throw new Error("missing support")}}}(Boolean(h),c,g)).current,b=t.useReducer(y,{isMonthSwitchingAnimating:!1,focusedDay:i||v,currentMonth:g.startOfMonth(null!=(n=null!=i?i:a)?n:v),slideDirection:"left"}),x=(0,r.Z)(b,2),Z=x[0],w=x[1],D=t.useCallback((function(e){w((0,o.Z)({type:"changeMonth"},e)),p&&p(e.newMonth)}),[p]),k=t.useCallback((function(e){var t=null!=e?e:v;g.isSameMonth(t,Z.currentMonth)||D({newMonth:g.startOfMonth(t),direction:g.isAfterDay(t,Z.currentMonth)?"left":"right"})}),[Z.currentMonth,D,v,g]),S=t.useCallback((function(e){return null!==Px(g,e,{disablePast:l,disableFuture:u,minDate:f,maxDate:d,shouldDisableDate:m})}),[u,l,d,f,m,g]),C=t.useCallback((function(){w({type:"finishMonthSwitchingAnimation"})}),[]),_=t.useCallback((function(e){S(e)||w({type:"changeFocusedDay",focusedDay:e})}),[S]);return{calendarState:Z,changeMonth:k,changeFocusedDay:_,isDateDisabled:S,onMonthSwitchingAnimationEnd:C,handleChangeMonth:D}},Fx=(0,re.Z)("PrivatePickersFadeTransitionGroup",["root"]),Ox=(0,J.ZP)(_e)({display:"block",position:"relative"}),Bx=function(e){var t=e.children,n=e.className,r=e.reduceAnimations,o=e.transKey;return r?t:(0,ie.tZ)(Ox,{className:(0,G.Z)(Fx.root,n),children:(0,ie.tZ)(bh,{appear:!1,mountOnEnter:!0,unmountOnExit:!0,timeout:{appear:500,enter:250,exit:0},children:t},o)})};function Ix(e){return(0,ne.Z)("MuiPickersDay",e)}var Lx=(0,re.Z)("MuiPickersDay",["root","dayWithMargin","dayOutsideMonth","hiddenDaySpacingFiller","today","selected","disabled"]),Nx=["allowSameDateSelection","autoFocus","className","day","disabled","disableHighlightToday","disableMargin","hidden","isAnimating","onClick","onDayFocus","onDaySelect","onFocus","onKeyDown","outsideCurrentMonth","selected","showDaysOutsideCurrentMonth","children","today"],zx=function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({},n.typography.caption,(t={width:36,height:36,borderRadius:"50%",padding:0,backgroundColor:n.palette.background.paper,color:n.palette.text.primary,"&:hover":{backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity)},"&:focus":(0,q.Z)({backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity)},"&.".concat(Lx.selected),{willChange:"background-color",backgroundColor:n.palette.primary.dark})},(0,q.Z)(t,"&.".concat(Lx.selected),{color:n.palette.primary.contrastText,backgroundColor:n.palette.primary.main,fontWeight:n.typography.fontWeightMedium,transition:n.transitions.create("background-color",{duration:n.transitions.duration.short}),"&:hover":{willChange:"background-color",backgroundColor:n.palette.primary.dark}}),(0,q.Z)(t,"&.".concat(Lx.disabled),{color:n.palette.text.disabled}),t),!r.disableMargin&&{margin:"0 ".concat(2,"px")},r.outsideCurrentMonth&&r.showDaysOutsideCurrentMonth&&{color:n.palette.text.secondary},!r.disableHighlightToday&&r.today&&(0,q.Z)({},"&:not(.".concat(Lx.selected,")"),{border:"1px solid ".concat(n.palette.text.secondary)}))},jx=function(e,t){var n=e.ownerState;return[t.root,!n.disableMargin&&t.dayWithMargin,!n.disableHighlightToday&&n.today&&t.today,!n.outsideCurrentMonth&&n.showDaysOutsideCurrentMonth&&t.dayOutsideMonth,n.outsideCurrentMonth&&!n.showDaysOutsideCurrentMonth&&t.hiddenDaySpacingFiller]},Wx=(0,J.ZP)(at,{name:"MuiPickersDay",slot:"Root",overridesResolver:jx})(zx),$x=(0,J.ZP)("div",{name:"MuiPickersDay",slot:"Root",overridesResolver:jx})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},zx({theme:t,ownerState:n}),{visibility:"hidden"})})),Hx=function(){},Yx=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiPickersDay"}),i=r.allowSameDateSelection,a=void 0!==i&&i,u=r.autoFocus,l=void 0!==u&&u,s=r.className,c=r.day,d=r.disabled,f=void 0!==d&&d,p=r.disableHighlightToday,h=void 0!==p&&p,m=r.disableMargin,v=void 0!==m&&m,g=r.isAnimating,y=r.onClick,b=r.onDayFocus,x=void 0===b?Hx:b,Z=r.onDaySelect,w=r.onFocus,D=r.onKeyDown,k=r.outsideCurrentMonth,S=r.selected,C=void 0!==S&&S,_=r.showDaysOutsideCurrentMonth,E=void 0!==_&&_,A=r.children,M=r.today,T=void 0!==M&&M,P=(0,X.Z)(r,Nx),R=(0,o.Z)({},r,{allowSameDateSelection:a,autoFocus:l,disabled:f,disableHighlightToday:h,disableMargin:v,selected:C,showDaysOutsideCurrentMonth:E,today:T}),F=function(e){var t=e.selected,n=e.disableMargin,r=e.disableHighlightToday,o=e.today,i=e.outsideCurrentMonth,a=e.showDaysOutsideCurrentMonth,u=e.classes,l={root:["root",t&&"selected",!n&&"dayWithMargin",!r&&o&&"today",i&&a&&"dayOutsideMonth"],hiddenDaySpacingFiller:["hiddenDaySpacingFiller"]};return(0,K.Z)(l,Ix,u)}(R),O=Zy(),B=t.useRef(null),I=(0,pe.Z)(B,n);(0,Ds.Z)((function(){!l||f||g||k||B.current.focus()}),[l,f,g,k]);var L=Ot();return k&&!E?(0,ie.tZ)($x,{className:(0,G.Z)(F.root,F.hiddenDaySpacingFiller,s),ownerState:R}):(0,ie.tZ)(Wx,(0,o.Z)({className:(0,G.Z)(F.root,s),ownerState:R,ref:I,centerRipple:!0,disabled:f,"aria-label":A?void 0:O.format(c,"fullDate"),tabIndex:C?0:-1,onFocus:function(e){x&&x(c),w&&w(e)},onKeyDown:function(e){switch(void 0!==D&&D(e),e.key){case"ArrowUp":x(O.addDays(c,-7)),e.preventDefault();break;case"ArrowDown":x(O.addDays(c,7)),e.preventDefault();break;case"ArrowLeft":x(O.addDays(c,"ltr"===L.direction?-1:1)),e.preventDefault();break;case"ArrowRight":x(O.addDays(c,"ltr"===L.direction?1:-1)),e.preventDefault();break;case"Home":x(O.startOfWeek(c)),e.preventDefault();break;case"End":x(O.endOfWeek(c)),e.preventDefault();break;case"PageUp":x(O.getNextMonth(c)),e.preventDefault();break;case"PageDown":x(O.getPreviousMonth(c)),e.preventDefault()}},onClick:function(e){!a&&C||(f||Z(c,"finish"),y&&y(e))}},P,{children:A||O.format(c,"dayOfMonth")}))})),Vx=function(e,t){return e.autoFocus===t.autoFocus&&e.isAnimating===t.isAnimating&&e.today===t.today&&e.disabled===t.disabled&&e.selected===t.selected&&e.disableMargin===t.disableMargin&&e.showDaysOutsideCurrentMonth===t.showDaysOutsideCurrentMonth&&e.disableHighlightToday===t.disableHighlightToday&&e.className===t.className&&e.outsideCurrentMonth===t.outsideCurrentMonth&&e.onDayFocus===t.onDayFocus&&e.onDaySelect===t.onDaySelect},Ux=t.memo(Yx,Vx);function qx(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var Xx=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return r=t,void((n=e).classList?n.classList.remove(r):"string"===typeof n.className?n.className=qx(n.className,r):n.setAttribute("class",qx(n.className&&n.className.baseVal||"",r)));var n,r}))},Gx=function(e){function n(){for(var t,n=arguments.length,r=new Array(n),o=0;o *":{position:"absolute",top:0,right:0,left:0}},(0,q.Z)(t,"& .".concat(Jx["slideEnter-left"]),{willChange:"transform",transform:"translate(100%)",zIndex:1}),(0,q.Z)(t,"& .".concat(Jx["slideEnter-right"]),{willChange:"transform",transform:"translate(-100%)",zIndex:1}),(0,q.Z)(t,"& .".concat(Jx.slideEnterActive),{transform:"translate(0%)",transition:n}),(0,q.Z)(t,"& .".concat(Jx.slideExit),{transform:"translate(0%)"}),(0,q.Z)(t,"& .".concat(Jx["slideExitActiveLeft-left"]),{willChange:"transform",transform:"translate(-100%)",transition:n,zIndex:0}),(0,q.Z)(t,"& .".concat(Jx["slideExitActiveLeft-right"]),{willChange:"transform",transform:"translate(100%)",transition:n,zIndex:0}),t})),tZ=(0,J.ZP)("div")({display:"flex",justifyContent:"center",alignItems:"center"}),nZ=(0,J.ZP)(ev)((function(e){return{width:36,height:40,margin:"0 2px",textAlign:"center",display:"flex",justifyContent:"center",alignItems:"center",color:e.theme.palette.text.secondary}})),rZ=(0,J.ZP)("div")({display:"flex",justifyContent:"center",alignItems:"center",minHeight:264}),oZ=(0,J.ZP)((function(e){var n=e.children,r=e.className,i=e.reduceAnimations,a=e.slideDirection,u=e.transKey,l=(0,X.Z)(e,Qx);if(i)return(0,ie.tZ)("div",{className:(0,G.Z)(Jx.root,r),children:n});var s={exit:Jx.slideExit,enterActive:Jx.slideEnterActive,enter:Jx["slideEnter-".concat(a)],exitActive:Jx["slideExitActiveLeft-".concat(a)]};return(0,ie.tZ)(eZ,{className:(0,G.Z)(Jx.root,r),childFactory:function(e){return t.cloneElement(e,{classNames:s})},children:(0,ie.tZ)(Kx,(0,o.Z)({mountOnEnter:!0,unmountOnExit:!0,timeout:350,classNames:s},l,{children:n}),u)})}))({minHeight:264}),iZ=(0,J.ZP)("div")({overflow:"hidden"}),aZ=(0,J.ZP)("div")({margin:"".concat(2,"px 0"),display:"flex",justifyContent:"center"});function uZ(e){var n=e.allowSameDateSelection,r=e.autoFocus,i=e.onFocusedDayChange,a=e.className,u=e.currentMonth,l=e.date,s=e.disabled,c=e.disableHighlightToday,d=e.focusedDay,f=e.isDateDisabled,p=e.isMonthSwitchingAnimating,h=e.loading,m=e.onChange,v=e.onMonthSwitchingAnimationEnd,g=e.readOnly,y=e.reduceAnimations,b=e.renderDay,x=e.renderLoading,Z=void 0===x?function(){return(0,ie.tZ)("span",{children:"..."})}:x,w=e.showDaysOutsideCurrentMonth,D=e.slideDirection,k=e.TransitionProps,S=Dy(),C=Zy(),_=t.useCallback((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"finish";if(!g){var n=Array.isArray(l)?e:C.mergeDateAndTime(e,l||S);m(n,t)}}),[l,S,m,g,C]),E=C.getMonth(u),A=(Array.isArray(l)?l:[l]).filter(Boolean).map((function(e){return e&&C.startOfDay(e)})),M=E,T=t.useMemo((function(){return t.createRef()}),[M]);return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(tZ,{children:C.getWeekdays().map((function(e,t){return(0,ie.tZ)(nZ,{"aria-hidden":!0,variant:"caption",children:e.charAt(0).toUpperCase()},e+t.toString())}))}),h?(0,ie.tZ)(rZ,{children:Z()}):(0,ie.tZ)(oZ,(0,o.Z)({transKey:M,onExited:v,reduceAnimations:y,slideDirection:D,className:a},k,{nodeRef:T,children:(0,ie.tZ)(iZ,{ref:T,role:"grid",children:C.getWeekArray(u).map((function(e){return(0,ie.tZ)(aZ,{role:"row",children:e.map((function(e){var t={key:null==e?void 0:e.toString(),day:e,isAnimating:p,disabled:s||f(e),allowSameDateSelection:n,autoFocus:r&&null!==d&&C.isSameDay(e,d),today:C.isSameDay(e,S),outsideCurrentMonth:C.getMonth(e)!==E,selected:A.some((function(t){return t&&C.isSameDay(t,e)})),disableHighlightToday:c,showDaysOutsideCurrentMonth:w,onDayFocus:i,onDaySelect:_};return b?b(e,A,t):(0,ie.tZ)("div",{role:"cell",children:(0,ie.tZ)(Ux,(0,o.Z)({},t))},t.key)}))},"week-".concat(e[0]))}))})}))]})}var lZ=(0,J.ZP)("div")({display:"flex",alignItems:"center",marginTop:16,marginBottom:8,paddingLeft:24,paddingRight:12,maxHeight:30,minHeight:30}),sZ=(0,J.ZP)("div")((function(e){var t=e.theme;return(0,o.Z)({display:"flex",maxHeight:30,overflow:"hidden",alignItems:"center",cursor:"pointer",marginRight:"auto"},t.typography.body1,{fontWeight:t.typography.fontWeightMedium})})),cZ=(0,J.ZP)("div")({marginRight:6}),dZ=(0,J.ZP)(pt)({marginRight:"auto"}),fZ=(0,J.ZP)(Hy)((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({willChange:"transform",transition:t.transitions.create("transform"),transform:"rotate(0deg)"},"year"===n.openView&&{transform:"rotate(180deg)"})}));function pZ(e){return"year"===e?"year view is open, switch to calendar view":"calendar view is open, switch to year view"}function hZ(e){var n=e.components,r=void 0===n?{}:n,i=e.componentsProps,a=void 0===i?{}:i,u=e.currentMonth,l=e.disabled,s=e.disableFuture,c=e.disablePast,d=e.getViewSwitchingButtonText,f=void 0===d?pZ:d,p=e.leftArrowButtonText,h=void 0===p?"Previous month":p,m=e.maxDate,v=e.minDate,g=e.onMonthChange,y=e.onViewChange,b=e.openView,x=e.reduceAnimations,Z=e.rightArrowButtonText,w=void 0===Z?"Next month":Z,D=e.views,k=Zy(),S=a.switchViewButton||{},C=function(e,n){var r=n.disableFuture,o=n.maxDate,i=Zy();return t.useMemo((function(){var t=i.date(),n=i.startOfMonth(r&&i.isBefore(t,o)?t:o);return!i.isAfter(n,e)}),[r,o,e,i])}(u,{disableFuture:s||l,maxDate:m}),_=function(e,n){var r=n.disablePast,o=n.minDate,i=Zy();return t.useMemo((function(){var t=i.date(),n=i.startOfMonth(r&&i.isAfter(t,o)?t:o);return!i.isBefore(n,e)}),[r,o,e,i])}(u,{disablePast:c||l,minDate:v});if(1===D.length&&"year"===D[0])return null;var E=e;return(0,ie.BX)(lZ,{ownerState:E,children:[(0,ie.BX)(sZ,{role:"presentation",onClick:function(){if(1!==D.length&&y&&!l)if(2===D.length)y(D.find((function(e){return e!==b}))||D[0]);else{var e=0!==D.indexOf(b)?0:1;y(D[e])}},ownerState:E,children:[(0,ie.tZ)(Bx,{reduceAnimations:x,transKey:k.format(u,"month"),children:(0,ie.tZ)(cZ,{"aria-live":"polite",ownerState:E,children:k.format(u,"month")})}),(0,ie.tZ)(Bx,{reduceAnimations:x,transKey:k.format(u,"year"),children:(0,ie.tZ)(cZ,{"aria-live":"polite",ownerState:E,children:k.format(u,"year")})}),D.length>1&&!l&&(0,ie.tZ)(dZ,(0,o.Z)({size:"small",as:r.SwitchViewButton,"aria-label":f(b)},S,{children:(0,ie.tZ)(fZ,{as:r.SwitchViewIcon,ownerState:E})}))]}),(0,ie.tZ)(bh,{in:"day"===b,children:(0,ie.tZ)(cx,{leftArrowButtonText:h,rightArrowButtonText:w,components:r,componentsProps:a,onLeftClick:function(){return g(k.getPreviousMonth(u),"right")},onRightClick:function(){return g(k.getNextMonth(u),"left")},isLeftDisabled:_,isRightDisabled:C})})]})}function mZ(e){return(0,ne.Z)("PrivatePickersYear",e)}var vZ=(0,re.Z)("PrivatePickersYear",["root","modeMobile","modeDesktop","yearButton","disabled","selected"]),gZ=(0,J.ZP)("div")((function(e){var t=e.ownerState;return(0,o.Z)({flexBasis:"33.3%",display:"flex",alignItems:"center",justifyContent:"center"},"desktop"===(null==t?void 0:t.wrapperVariant)&&{flexBasis:"25%"})})),yZ=(0,J.ZP)("button")((function(e){var t,n=e.theme;return(0,o.Z)({color:"unset",backgroundColor:"transparent",border:0,outline:0},n.typography.subtitle1,(t={margin:"8px 0",height:36,width:72,borderRadius:18,cursor:"pointer","&:focus, &:hover":{backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity)}},(0,q.Z)(t,"&.".concat(vZ.disabled),{color:n.palette.text.secondary}),(0,q.Z)(t,"&.".concat(vZ.selected),{color:n.palette.primary.contrastText,backgroundColor:n.palette.primary.main,"&:focus, &:hover":{backgroundColor:n.palette.primary.dark}}),t))})),bZ=t.forwardRef((function(e,n){var r=e.autoFocus,i=e.className,a=e.children,u=e.disabled,l=e.onClick,s=e.onKeyDown,c=e.selected,d=e.value,f=t.useRef(null),p=(0,pe.Z)(f,n),h=t.useContext(ub),m=(0,o.Z)({},e,{wrapperVariant:h}),v=function(e){var t=e.wrapperVariant,n=e.disabled,r=e.selected,o=e.classes,i={root:["root",t&&"mode".concat((0,te.Z)(t))],yearButton:["yearButton",n&&"disabled",r&&"selected"]};return(0,K.Z)(i,mZ,o)}(m);return t.useEffect((function(){r&&f.current.focus()}),[r]),(0,ie.tZ)(gZ,{className:(0,G.Z)(v.root,i),ownerState:m,children:(0,ie.tZ)(yZ,{ref:p,disabled:u,type:"button",tabIndex:c?0:-1,onClick:function(e){return l(e,d)},onKeyDown:function(e){return s(e,d)},className:v.yearButton,ownerState:m,children:a})})})),xZ=function(e){var t=e.date,n=e.disableFuture,r=e.disablePast,o=e.maxDate,i=e.minDate,a=e.shouldDisableDate,u=e.utils,l=u.startOfDay(u.date());r&&u.isBefore(i,l)&&(i=l),n&&u.isAfter(o,l)&&(o=l);var s=t,c=t;for(u.isBefore(t,i)&&(s=u.date(i),c=null),u.isAfter(t,o)&&(c&&(c=u.date(o)),s=null);s||c;){if(s&&u.isAfter(s,o)&&(s=null),c&&u.isBefore(c,i)&&(c=null),s){if(!a(s))return s;s=u.addDays(s,1)}if(c){if(!a(c))return c;c=u.addDays(c,-1)}}return l},ZZ=function(e,t){var n=e.date(t);return e.isValid(n)?n:null};function wZ(e){return(0,ne.Z)("MuiYearPicker",e)}(0,re.Z)("MuiYearPicker",["root"]);var DZ=(0,J.ZP)("div",{name:"MuiYearPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"flex",flexDirection:"row",flexWrap:"wrap",overflowY:"auto",height:"100%",margin:"0 4px"}),kZ=t.forwardRef((function(e,n){var o=(0,ee.Z)({props:e,name:"MuiYearPicker"}),i=o.autoFocus,a=o.className,u=o.date,l=o.disabled,s=o.disableFuture,c=o.disablePast,d=o.isDateDisabled,f=o.maxDate,p=o.minDate,h=o.onChange,m=o.onFocusedDayChange,v=o.onYearChange,g=o.readOnly,y=o.shouldDisableYear,b=o,x=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},wZ,t)}(b),Z=Dy(),w=Ot(),D=Zy(),k=u||Z,S=D.getYear(k),C=t.useContext(ub),_=t.useRef(null),E=t.useState(S),A=(0,r.Z)(E,2),M=A[0],T=A[1],P=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"finish";if(!g){var r=function(e){h(e,n),m&&m(e||Z),v&&v(e)},o=D.setYear(k,t);if(d(o)){var i=xZ({utils:D,date:o,minDate:p,maxDate:f,disablePast:Boolean(c),disableFuture:Boolean(s),shouldDisableDate:d});r(i||Z)}else r(o)}},R=t.useCallback((function(e){d(D.setYear(k,e))||T(e)}),[k,d,D]),F="desktop"===C?4:3,O=function(e,t){switch(e.key){case"ArrowUp":R(t-F),e.preventDefault();break;case"ArrowDown":R(t+F),e.preventDefault();break;case"ArrowLeft":R(t+("ltr"===w.direction?-1:1)),e.preventDefault();break;case"ArrowRight":R(t+("ltr"===w.direction?1:-1)),e.preventDefault()}};return(0,ie.tZ)(DZ,{ref:n,className:(0,G.Z)(x.root,a),ownerState:b,children:D.getYearRange(p,f).map((function(e){var t=D.getYear(e),n=t===S;return(0,ie.tZ)(bZ,{selected:n,value:t,onClick:P,onKeyDown:O,autoFocus:i&&t===M,ref:n?_:void 0,disabled:l||c&&D.isBeforeYear(e,Z)||s&&D.isAfterYear(e,Z)||y&&y(e),children:D.format(e,"year")},D.format(e,"year"))}))})})),SZ="undefined"!==typeof navigator&&/(android)/i.test(navigator.userAgent),CZ=function(e){return(0,ne.Z)("MuiCalendarPicker",e)},_Z=((0,re.Z)("MuiCalendarPicker",["root","viewTransitionContainer"]),["autoFocus","onViewChange","date","disableFuture","disablePast","defaultCalendarMonth","loading","maxDate","minDate","onChange","onMonthChange","reduceAnimations","renderLoading","shouldDisableDate","shouldDisableYear","view","views","openTo","className"]),EZ=(0,J.ZP)(vx,{name:"MuiCalendarPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"flex",flexDirection:"column"}),AZ=(0,J.ZP)(Bx,{name:"MuiCalendarPicker",slot:"ViewTransitionContainer",overridesResolver:function(e,t){return t.viewTransitionContainer}})({overflowY:"auto"}),MZ=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiCalendarPicker"}),i=r.autoFocus,a=r.onViewChange,u=r.date,l=r.disableFuture,s=void 0!==l&&l,c=r.disablePast,d=void 0!==c&&c,f=r.defaultCalendarMonth,p=r.loading,h=void 0!==p&&p,m=r.maxDate,v=r.minDate,g=r.onChange,y=r.onMonthChange,b=r.reduceAnimations,x=void 0===b?SZ:b,Z=r.renderLoading,w=void 0===Z?function(){return(0,ie.tZ)("span",{children:"..."})}:Z,D=r.shouldDisableDate,k=r.shouldDisableYear,S=r.view,C=r.views,_=void 0===C?["year","day"]:C,E=r.openTo,A=void 0===E?"day":E,M=r.className,T=(0,X.Z)(r,_Z),P=Zy(),R=wy(),F=null!=v?v:R.minDate,O=null!=m?m:R.maxDate,B=Pb({view:S,views:_,openTo:A,onChange:g,onViewChange:a}),I=B.openView,L=B.setOpenView,N=Rx({date:u,defaultCalendarMonth:f,reduceAnimations:x,onMonthChange:y,minDate:F,maxDate:O,shouldDisableDate:D,disablePast:d,disableFuture:s}),z=N.calendarState,j=N.changeFocusedDay,W=N.changeMonth,$=N.isDateDisabled,H=N.handleChangeMonth,Y=N.onMonthSwitchingAnimationEnd;t.useEffect((function(){if(u&&$(u)){var e=xZ({utils:P,date:u,minDate:F,maxDate:O,disablePast:d,disableFuture:s,shouldDisableDate:$});g(e,"partial")}}),[]),t.useEffect((function(){u&&W(u)}),[u]);var V=r,U=function(e){var t=e.classes;return(0,K.Z)({root:["root"],viewTransitionContainer:["viewTransitionContainer"]},CZ,t)}(V),q={className:M,date:u,disabled:T.disabled,disablePast:d,disableFuture:s,onChange:g,minDate:F,maxDate:O,onMonthChange:y,readOnly:T.readOnly};return(0,ie.BX)(EZ,{ref:n,className:(0,G.Z)(U.root,M),ownerState:V,children:[(0,ie.tZ)(hZ,(0,o.Z)({},T,{views:_,openView:I,currentMonth:z.currentMonth,onViewChange:L,onMonthChange:function(e,t){return H({newMonth:e,direction:t})},minDate:F,maxDate:O,disablePast:d,disableFuture:s,reduceAnimations:x})),(0,ie.tZ)(AZ,{reduceAnimations:x,className:U.viewTransitionContainer,transKey:I,ownerState:V,children:(0,ie.BX)("div",{children:["year"===I&&(0,ie.tZ)(kZ,(0,o.Z)({},T,{autoFocus:i,date:u,onChange:g,minDate:F,maxDate:O,disableFuture:s,disablePast:d,isDateDisabled:$,shouldDisableYear:k,onFocusedDayChange:j})),"month"===I&&(0,ie.tZ)(Tx,(0,o.Z)({},q)),"day"===I&&(0,ie.tZ)(uZ,(0,o.Z)({},T,z,{autoFocus:i,onMonthSwitchingAnimationEnd:Y,onFocusedDayChange:j,reduceAnimations:x,date:u,onChange:g,isDateDisabled:$,loading:h,renderLoading:w}))]})})]})}));function TZ(e){return(0,ne.Z)("MuiInputAdornment",e)}var PZ,RZ=(0,re.Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),FZ=["children","className","component","disablePointerEvents","disableTypography","position","variant"],OZ=(0,J.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,te.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,q.Z)({},"&.".concat(RZ.positionStart,"&:not(.").concat(RZ.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),BZ=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiInputAdornment"}),i=r.children,a=r.className,u=r.component,l=void 0===u?"div":u,s=r.disablePointerEvents,c=void 0!==s&&s,d=r.disableTypography,f=void 0!==d&&d,p=r.position,h=r.variant,m=(0,X.Z)(r,FZ),v=Sf()||{},g=h;h&&v.variant,v&&!g&&(g=v.variant);var y=(0,o.Z)({},r,{hiddenLabel:v.hiddenLabel,size:v.size,disablePointerEvents:c,position:p,variant:g}),b=function(e){var t=e.classes,n=e.disablePointerEvents,r=e.hiddenLabel,o=e.position,i=e.size,a=e.variant,u={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,te.Z)(o)),a,r&&"hiddenLabel",i&&"size".concat((0,te.Z)(i))]};return(0,K.Z)(u,TZ,t)}(y);return(0,ie.tZ)(kf.Provider,{value:null,children:(0,ie.tZ)(OZ,(0,o.Z)({as:l,ownerState:y,className:(0,G.Z)(b.root,a),ref:n},m,{children:"string"!==typeof i||f?(0,ie.BX)(t.Fragment,{children:["start"===p?PZ||(PZ=(0,ie.tZ)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,ie.tZ)(ev,{color:"text.secondary",children:i})}))})})),IZ=BZ,LZ=function(e){var n=(0,t.useReducer)((function(e){return e+1}),0),o=(0,r.Z)(n,2)[1],i=(0,t.useRef)(null),a=e.replace,u=e.append,l=a?a(e.format(e.value)):e.format(e.value),s=(0,t.useRef)(!1);return(0,t.useLayoutEffect)((function(){if(null!=i.current){var t=(0,r.Z)(i.current,5),n=t[0],s=t[1],c=t[2],d=t[3],f=t[4];i.current=null;var p=d&&f,h=n.slice(s.selectionStart).search(e.accept||/\d/g),m=-1!==h?h:0,v=function(t){return(t.match(e.accept||/\d/g)||[]).join("")},g=v(n.substr(0,s.selectionStart)),y=function(e){for(var t=0,n=0,r=0;r!==g.length;++r){var o=e.indexOf(g[r],t)+1,i=v(e).indexOf(g[r],n)+1;i-n>1&&(o=t,i=n),n=Math.max(i,n),t=Math.max(t,o)}return t};if(!0===e.mask&&c&&!f){var b=y(n),x=v(n.substr(b))[0];b=n.indexOf(x,b),n="".concat(n.substr(0,b)).concat(n.substr(b+1))}var Z=e.format(n);null==u||s.selectionStart!==n.length||f||(c?Z=u(Z):""===v(Z.slice(-1))&&(Z=Z.slice(0,-1)));var w=a?a(Z):Z;return l===w?o():e.onChange(w),function(){var t=y(Z);if(null!=e.mask&&(c||d&&!p))for(;Z[t]&&""===v(Z[t]);)t+=1;s.selectionStart=s.selectionEnd=t+(p?1+m:0)}}})),(0,t.useEffect)((function(){var e=function(e){"Delete"===e.code&&(s.current=!0)},t=function(e){"Delete"===e.code&&(s.current=!1)};return document.addEventListener("keydown",e),document.addEventListener("keyup",t),function(){document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}}),[]),{value:null!=i.current?i.current[0]:l,onChange:function(t){var n=t.target.value;i.current=[n,t.target,n.length>l.length,s.current,l===e.format(n)],o()}}},NZ=["components","disableOpenPicker","getOpenDialogAriaText","InputAdornmentProps","InputProps","inputRef","openPicker","OpenPickerButtonProps","renderInput"],zZ=t.forwardRef((function(e,n){var i=e.components,a=void 0===i?{}:i,u=e.disableOpenPicker,l=e.getOpenDialogAriaText,s=void 0===l?ky:l,c=e.InputAdornmentProps,d=e.InputProps,f=e.inputRef,p=e.openPicker,h=e.OpenPickerButtonProps,m=e.renderInput,v=(0,X.Z)(e,NZ),g=Zy(),y=function(e){var n=e.acceptRegex,i=void 0===n?/[\d]/gi:n,a=e.disabled,u=e.disableMaskedInput,l=e.ignoreInvalidInputs,s=e.inputFormat,c=e.inputProps,d=e.label,f=e.mask,p=e.onChange,h=e.rawValue,m=e.readOnly,v=e.rifmFormatter,g=e.TextFieldProps,y=e.validationError,b=Zy(),x=t.useState(!1),Z=(0,r.Z)(x,2),w=Z[0],D=Z[1],k=b.getFormatHelperText(s),S=t.useMemo((function(){return!(!f||u)&&function(e,t,n,r){var o=r.formatByString(r.date("2019-01-01T09:00:00.000"),t).replace(n,"_"),i=r.formatByString(r.date("2019-11-21T22:30:00.000"),t).replace(n,"_")===e&&o===e;return!i&&r.lib,i}(f,s,i,b)}),[i,u,s,f,b]),C=t.useMemo((function(){return S&&f?function(e,t){return function(n){return n.split("").map((function(r,o){if(t.lastIndex=0,o>e.length-1)return"";var i=e[o],a=e[o+1],u=t.test(r)?r:"",l="_"===i?u:i+u;return o===n.length-1&&a&&"_"!==a?l?l+a:"":l})).join("")}}(f,i):function(e){return e}}),[i,f,S]),_=Sy(b,h,s),E=t.useState(_),A=(0,r.Z)(E,2),M=A[0],T=A[1],P=t.useRef(_);t.useEffect((function(){P.current=_}),[_]);var R=!w,F=P.current!==_;R&&F&&(null===h||b.isValid(h))&&_!==M&&T(_);var O=function(e){var t=""===e||e===f?"":e;T(t);var n=null===t?null:b.parse(t,s);l&&!b.isValid(n)||p(n,t||void 0)},B=LZ({value:M,onChange:O,format:v||C}),I=S?B:{value:M,onChange:function(e){O(e.currentTarget.value)}};return(0,o.Z)({label:d,disabled:a,error:y,inputProps:(0,o.Z)({},I,{disabled:a,placeholder:k,readOnly:m,type:S?"tel":"text"},c,{onFocus:Tb((function(){D(!0)}),null==c?void 0:c.onFocus),onBlur:Tb((function(){D(!1)}),null==c?void 0:c.onBlur)})},g)}(v),b=(null==c?void 0:c.position)||"end",x=a.OpenPickerIcon||Uy;return m((0,o.Z)({ref:n,inputRef:f},y,{InputProps:(0,o.Z)({},d,(0,q.Z)({},"".concat(b,"Adornment"),u?void 0:(0,ie.tZ)(IZ,(0,o.Z)({position:b},c,{children:(0,ie.tZ)(pt,(0,o.Z)({edge:b,disabled:v.disabled||v.readOnly,"aria-label":s(v.rawValue,g)},h,{onClick:p,children:(0,ie.tZ)(x,{})}))}))))}))}));function jZ(){return"undefined"===typeof window?"portrait":window.screen&&window.screen.orientation&&window.screen.orientation.angle?90===Math.abs(window.screen.orientation.angle)?"landscape":"portrait":window.orientation&&90===Math.abs(Number(window.orientation))?"landscape":"portrait"}var WZ=["autoFocus","className","date","DateInputProps","isMobileKeyboardViewOpen","onDateChange","onViewChange","openTo","orientation","showToolbar","toggleMobileKeyboardView","ToolbarComponent","toolbarFormat","toolbarPlaceholder","toolbarTitle","views"],$Z=(0,J.ZP)("div")({padding:"16px 24px"}),HZ=(0,J.ZP)("div")((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",flexDirection:"column"},t.isLandscape&&{flexDirection:"row"})})),YZ={fullWidth:!0},VZ=function(e){return"year"===e||"month"===e||"day"===e},UZ=function(e){return"hours"===e||"minutes"===e||"seconds"===e};function qZ(e){var n=e.autoFocus,i=e.date,a=e.DateInputProps,u=e.isMobileKeyboardViewOpen,l=e.onDateChange,s=e.onViewChange,c=e.openTo,d=e.orientation,f=e.showToolbar,p=e.toggleMobileKeyboardView,h=e.ToolbarComponent,m=void 0===h?function(){return null}:h,v=e.toolbarFormat,g=e.toolbarPlaceholder,y=e.toolbarTitle,b=e.views,x=(0,X.Z)(e,WZ),Z=function(e,n){var o=t.useState(jZ),i=(0,r.Z)(o,2),a=i[0],u=i[1];return(0,Ds.Z)((function(){var e=function(){u(jZ())};return window.addEventListener("orientationchange",e),function(){window.removeEventListener("orientationchange",e)}}),[]),!Eb(e,["hours","minutes","seconds"])&&"landscape"===(n||a)}(b,d),w=t.useContext(ub),D="undefined"===typeof f?"desktop"!==w:f,k=t.useCallback((function(e,t){l(e,w,t)}),[l,w]),S=Pb({view:void 0,views:b,openTo:c,onChange:k,onViewChange:t.useCallback((function(e){u&&p(),s&&s(e)}),[u,s,p])}),C=S.openView,_=S.setOpenView,E=S.handleChangeAndOpenNext;return(0,ie.BX)(HZ,{ownerState:{isLandscape:Z},children:[D&&(0,ie.tZ)(m,(0,o.Z)({},x,{views:b,isLandscape:Z,date:i,onChange:k,setOpenView:_,openView:C,toolbarTitle:y,toolbarFormat:v,toolbarPlaceholder:g,isMobileKeyboardViewOpen:u,toggleMobileKeyboardView:p})),(0,ie.tZ)(vx,{children:u?(0,ie.tZ)($Z,{children:(0,ie.tZ)(zZ,(0,o.Z)({},a,{ignoreInvalidInputs:!0,disableOpenPicker:!0,TextFieldProps:YZ}))}):(0,ie.BX)(t.Fragment,{children:[VZ(C)&&(0,ie.tZ)(MZ,(0,o.Z)({autoFocus:n,date:i,onViewChange:_,onChange:E,view:C,views:b.filter(VZ)},x)),UZ(C)&&(0,ie.tZ)(Dx,(0,o.Z)({},x,{autoFocus:n,date:i,view:C,views:b.filter(UZ),onChange:E,onViewChange:_,showViewSwitcher:"desktop"===w}))]})})]})}var XZ=function(e,t,n){var r=n.minTime,o=n.maxTime,i=n.shouldDisableTime,a=n.disableIgnoringDatePartForTimeValidation,u=e.date(t),l=px(Boolean(a),e);if(null===t)return null;switch(!0){case!e.isValid(t):return"invalidDate";case Boolean(r&&l(r,u)):return"minTime";case Boolean(o&&l(u,o)):return"maxTime";case Boolean(i&&i(e.getHours(u),"hours")):return"shouldDisableTime-hours";case Boolean(i&&i(e.getMinutes(u),"minutes")):return"shouldDisableTime-minutes";case Boolean(i&&i(e.getSeconds(u),"seconds")):return"shouldDisableTime-seconds";default:return null}},GZ=["minDate","maxDate","disableFuture","shouldDisableDate","disablePast"],KZ=function(e,t,n){var r=n.minDate,o=n.maxDate,i=n.disableFuture,a=n.shouldDisableDate,u=n.disablePast,l=(0,X.Z)(n,GZ),s=Px(e,t,{minDate:r,maxDate:o,disableFuture:i,shouldDisableDate:a,disablePast:u});return null!==s?s:XZ(e,t,l)},QZ=function(e,t){return e===t};function JZ(e){return function(e,n,r){var o=e.value,i=e.onError,a=Zy(),u=t.useRef(null),l=n(a,o,e);return t.useEffect((function(){i&&!r(l,u.current)&&i(l,o),u.current=l}),[r,i,u,l,o]),l}(e,KZ,QZ)}var ew=function(e,n){var i=e.disableCloseOnSelect,a=e.onAccept,u=e.onChange,l=e.value,s=Zy(),c=function(e){var n=e.open,o=e.onOpen,i=e.onClose,a=t.useRef("boolean"===typeof n).current,u=t.useState(!1),l=(0,r.Z)(u,2),s=l[0],c=l[1];return t.useEffect((function(){if(a){if("boolean"!==typeof n)throw new Error("You must not mix controlling and uncontrolled mode for `open` prop");c(n)}}),[a,n]),{isOpen:s,setIsOpen:t.useCallback((function(e){a||c(e),e&&o&&o(),!e&&i&&i()}),[a,o,i])}}(e),d=c.isOpen,f=c.setIsOpen;function p(e){return{committed:e,draft:e}}var h=n.parseInput(s,l),m=t.useReducer((function(e,t){switch(t.type){case"reset":return p(t.payload);case"update":return(0,o.Z)({},e,{draft:t.payload});default:return e}}),h,p),v=(0,r.Z)(m,2),g=v[0],y=v[1];n.areValuesEqual(s,g.committed,h)||y({type:"reset",payload:h});var b=t.useState(g.committed),x=(0,r.Z)(b,2),Z=x[0],w=x[1],D=t.useState(!1),k=(0,r.Z)(D,2),S=k[0],C=k[1],_=t.useCallback((function(e,t){u(e),t&&(f(!1),w(e),a&&a(e))}),[a,u,f]),E=t.useMemo((function(){return{open:d,onClear:function(){return _(n.emptyValue,!0)},onAccept:function(){return _(g.draft,!0)},onDismiss:function(){return _(Z,!0)},onSetToday:function(){var e=s.date();y({type:"update",payload:e}),_(e,!i)}}}),[_,i,d,s,g.draft,n.emptyValue,Z]),A=t.useMemo((function(){return{date:g.draft,isMobileKeyboardViewOpen:S,toggleMobileKeyboardView:function(){return C(!S)},onDateChange:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"partial";if(y({type:"update",payload:e}),"partial"===n&&_(e,!1),"finish"===n){var r=!(null!=i?i:"mobile"===t);_(e,r)}}}}),[_,i,S,g.draft]),M={pickerProps:A,inputProps:t.useMemo((function(){return{onChange:u,open:d,rawValue:l,openPicker:function(){return f(!0)}}}),[u,d,l,f]),wrapperProps:E};return t.useDebugValue(M,(function(){return{MuiPickerState:{pickerDraft:g,other:M}}})),M},tw=["onChange","PopperProps","ToolbarComponent","TransitionComponent","value"],nw={emptyValue:null,parseInput:ZZ,areValuesEqual:function(e,t,n){return e.isEqual(t,n)}},rw=t.forwardRef((function(e,t){var n=Ey(e,"MuiDesktopDateTimePicker"),r=null!==JZ(n),i=ew(n,nw),a=i.pickerProps,u=i.inputProps,l=i.wrapperProps,s=n.PopperProps,c=n.ToolbarComponent,d=void 0===c?vb:c,f=n.TransitionComponent,p=(0,X.Z)(n,tw),h=(0,o.Z)({},u,p,{ref:t,validationError:r});return(0,ie.tZ)(_b,(0,o.Z)({},l,{DateInputProps:h,KeyboardDateInputComponent:zZ,PopperProps:s,TransitionComponent:f,children:(0,ie.tZ)(qZ,(0,o.Z)({},a,{autoFocus:!0,toolbarTitle:n.label||n.toolbarTitle,ToolbarComponent:d,DateInputProps:h},p))}))}));function ow(e){return(0,ne.Z)("MuiDialogContent",e)}(0,re.Z)("MuiDialogContent",["root","dividers"]);var iw=(0,re.Z)("MuiDialogTitle",["root"]),aw=["className","dividers"],uw=(0,J.ZP)("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dividers&&t.dividers]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},n.dividers?{padding:"16px 24px",borderTop:"1px solid ".concat(t.palette.divider),borderBottom:"1px solid ".concat(t.palette.divider)}:(0,q.Z)({},".".concat(iw.root," + &"),{paddingTop:0}))})),lw=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDialogContent"}),r=n.className,i=n.dividers,a=void 0!==i&&i,u=(0,X.Z)(n,aw),l=(0,o.Z)({},n,{dividers:a}),s=function(e){var t=e.classes,n={root:["root",e.dividers&&"dividers"]};return(0,K.Z)(n,ow,t)}(l);return(0,ie.tZ)(uw,(0,o.Z)({className:(0,G.Z)(s.root,r),ownerState:l,ref:t},u))})),sw=lw;function cw(e){return(0,ne.Z)("MuiDialog",e)}var dw=(0,re.Z)("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]);var fw,pw=(0,t.createContext)({}),hw=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],mw=(0,J.ZP)(kh,{name:"MuiDialog",slot:"Backdrop",overrides:function(e,t){return t.backdrop}})({zIndex:-1}),vw=(0,J.ZP)(Ah,{name:"MuiDialog",slot:"Root",overridesResolver:function(e,t){return t.root}})({"@media print":{position:"absolute !important"}}),gw=(0,J.ZP)("div",{name:"MuiDialog",slot:"Container",overridesResolver:function(e,t){var n=e.ownerState;return[t.container,t["scroll".concat((0,te.Z)(n.scroll))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({height:"100%","@media print":{height:"auto"},outline:0},"paper"===t.scroll&&{display:"flex",justifyContent:"center",alignItems:"center"},"body"===t.scroll&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&:after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})})),yw=(0,J.ZP)(ce,{name:"MuiDialog",slot:"Paper",overridesResolver:function(e,t){var n=e.ownerState;return[t.paper,t["scrollPaper".concat((0,te.Z)(n.scroll))],t["paperWidth".concat((0,te.Z)(String(n.maxWidth)))],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},"paper"===n.scroll&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},"body"===n.scroll&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!n.maxWidth&&{maxWidth:"calc(100% - 64px)"},"xs"===n.maxWidth&&(0,q.Z)({maxWidth:"px"===t.breakpoints.unit?Math.max(t.breakpoints.values.xs,444):"".concat(t.breakpoints.values.xs).concat(t.breakpoints.unit)},"&.".concat(dw.paperScrollBody),(0,q.Z)({},t.breakpoints.down(Math.max(t.breakpoints.values.xs,444)+64),{maxWidth:"calc(100% - 64px)"})),"xs"!==n.maxWidth&&(0,q.Z)({maxWidth:"".concat(t.breakpoints.values[n.maxWidth]).concat(t.breakpoints.unit)},"&.".concat(dw.paperScrollBody),(0,q.Z)({},t.breakpoints.down(t.breakpoints.values[n.maxWidth]+64),{maxWidth:"calc(100% - 64px)"})),n.fullWidth&&{width:"calc(100% - 64px)"},n.fullScreen&&(0,q.Z)({margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0},"&.".concat(dw.paperScrollBody),{margin:0,maxWidth:"100%"}))})),bw=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiDialog"}),i=Ot(),a={enter:i.transitions.duration.enteringScreen,exit:i.transitions.duration.leavingScreen},u=r["aria-describedby"],l=r["aria-labelledby"],s=r.BackdropComponent,c=r.BackdropProps,d=r.children,f=r.className,p=r.disableEscapeKeyDown,h=void 0!==p&&p,m=r.fullScreen,v=void 0!==m&&m,g=r.fullWidth,y=void 0!==g&&g,b=r.maxWidth,x=void 0===b?"sm":b,Z=r.onBackdropClick,w=r.onClose,D=r.open,k=r.PaperComponent,S=void 0===k?ce:k,C=r.PaperProps,_=void 0===C?{}:C,E=r.scroll,A=void 0===E?"paper":E,M=r.TransitionComponent,T=void 0===M?bh:M,P=r.transitionDuration,R=void 0===P?a:P,F=r.TransitionProps,O=(0,X.Z)(r,hw),B=(0,o.Z)({},r,{disableEscapeKeyDown:h,fullScreen:v,fullWidth:y,maxWidth:x,scroll:A}),I=function(e){var t=e.classes,n=e.scroll,r=e.maxWidth,o=e.fullWidth,i=e.fullScreen,a={root:["root"],container:["container","scroll".concat((0,te.Z)(n))],paper:["paper","paperScroll".concat((0,te.Z)(n)),"paperWidth".concat((0,te.Z)(String(r))),o&&"paperFullWidth",i&&"paperFullScreen"]};return(0,K.Z)(a,cw,t)}(B),L=t.useRef(),N=(0,hf.Z)(l),z=t.useMemo((function(){return{titleId:N}}),[N]);return(0,ie.tZ)(vw,(0,o.Z)({className:(0,G.Z)(I.root,f),BackdropProps:(0,o.Z)({transitionDuration:R,as:s},c),closeAfterTransition:!0,BackdropComponent:mw,disableEscapeKeyDown:h,onClose:w,open:D,ref:n,onClick:function(e){L.current&&(L.current=null,Z&&Z(e),w&&w(e,"backdropClick"))},ownerState:B},O,{children:(0,ie.tZ)(T,(0,o.Z)({appear:!0,in:D,timeout:R,role:"presentation"},F,{children:(0,ie.tZ)(gw,{className:(0,G.Z)(I.container),onMouseDown:function(e){L.current=e.target===e.currentTarget},ownerState:B,children:(0,ie.tZ)(yw,(0,o.Z)({as:S,elevation:24,role:"dialog","aria-describedby":u,"aria-labelledby":N},_,{className:(0,G.Z)(I.paper,_.className),ownerState:B,children:(0,ie.tZ)(pw.Provider,{value:z,children:d})}))})}))}))})),xw=bw,Zw=(0,J.ZP)(xw)((fw={},(0,q.Z)(fw,"& .".concat(dw.container),{outline:0}),(0,q.Z)(fw,"& .".concat(dw.paper),{outline:0,minWidth:320}),fw)),ww=(0,J.ZP)(sw)({"&:first-of-type":{padding:0}}),Dw=(0,J.ZP)(Zb)((function(e){var t=e.ownerState;return(0,o.Z)({},(t.clearable||t.showTodayButton)&&{justifyContent:"flex-start","& > *:first-of-type":{marginRight:"auto"}})})),kw=function(e){var t=e.cancelText,n=void 0===t?"Cancel":t,r=e.children,i=e.clearable,a=void 0!==i&&i,u=e.clearText,l=void 0===u?"Clear":u,s=e.DialogProps,c=void 0===s?{}:s,d=e.okText,f=void 0===d?"OK":d,p=e.onAccept,h=e.onClear,m=e.onDismiss,v=e.onSetToday,g=e.open,y=e.showTodayButton,b=void 0!==y&&y,x=e.todayText,Z=void 0===x?"Today":x,w=e;return(0,ie.BX)(Zw,(0,o.Z)({open:g,onClose:m},c,{children:[(0,ie.tZ)(ww,{children:r}),(0,ie.BX)(Dw,{ownerState:w,children:[a&&(0,ie.tZ)(Yv,{onClick:h,children:l}),b&&(0,ie.tZ)(Yv,{onClick:v,children:Z}),n&&(0,ie.tZ)(Yv,{onClick:m,children:n}),f&&(0,ie.tZ)(Yv,{onClick:p,children:f})]})]}))},Sw=["cancelText","children","clearable","clearText","DateInputProps","DialogProps","okText","onAccept","onClear","onDismiss","onSetToday","open","PureDateInputComponent","showTodayButton","todayText"];function Cw(e){var t=e.cancelText,n=e.children,r=e.clearable,i=e.clearText,a=e.DateInputProps,u=e.DialogProps,l=e.okText,s=e.onAccept,c=e.onClear,d=e.onDismiss,f=e.onSetToday,p=e.open,h=e.PureDateInputComponent,m=e.showTodayButton,v=e.todayText,g=(0,X.Z)(e,Sw);return(0,ie.BX)(ub.Provider,{value:"mobile",children:[(0,ie.tZ)(h,(0,o.Z)({},g,a)),(0,ie.tZ)(kw,{cancelText:t,clearable:r,clearText:i,DialogProps:u,okText:l,onAccept:s,onClear:c,onDismiss:d,onSetToday:f,open:p,showTodayButton:m,todayText:v,children:n})]})}var _w=n(5192),Ew=n.n(_w),Aw=t.forwardRef((function(e,n){var r=e.disabled,i=e.getOpenDialogAriaText,a=void 0===i?ky:i,u=e.inputFormat,l=e.InputProps,s=e.inputRef,c=e.label,d=e.openPicker,f=e.rawValue,p=e.renderInput,h=e.TextFieldProps,m=void 0===h?{}:h,v=e.validationError,g=Zy(),y=t.useMemo((function(){return(0,o.Z)({},l,{readOnly:!0})}),[l]),b=Sy(g,f,u);return p((0,o.Z)({label:c,disabled:r,ref:n,inputRef:s,error:v,InputProps:y,inputProps:(0,o.Z)({disabled:r,readOnly:!0,"aria-readonly":!0,"aria-label":a(f,g),value:b},!e.readOnly&&{onClick:d},{onKeyDown:Ab(d)})},m))}));Aw.propTypes={getOpenDialogAriaText:Ew().func,renderInput:Ew().func.isRequired};var Mw=["ToolbarComponent","value","onChange"],Tw={emptyValue:null,parseInput:ZZ,areValuesEqual:function(e,t,n){return e.isEqual(t,n)}},Pw=t.forwardRef((function(e,t){var n=Ey(e,"MuiMobileDateTimePicker"),r=null!==JZ(n),i=ew(n,Tw),a=i.pickerProps,u=i.inputProps,l=i.wrapperProps,s=n.ToolbarComponent,c=void 0===s?vb:s,d=(0,X.Z)(n,Mw),f=(0,o.Z)({},u,d,{ref:t,validationError:r});return(0,ie.tZ)(Cw,(0,o.Z)({},d,l,{DateInputProps:f,PureDateInputComponent:Aw,children:(0,ie.tZ)(qZ,(0,o.Z)({},a,{autoFocus:!0,toolbarTitle:n.label||n.toolbarTitle,ToolbarComponent:c,DateInputProps:f},d))}))})),Rw=["cancelText","clearable","clearText","desktopModeMediaQuery","DialogProps","okText","PopperProps","showTodayButton","todayText","TransitionComponent"],Fw=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDateTimePicker"}),r=n.cancelText,i=n.clearable,a=n.clearText,u=n.desktopModeMediaQuery,l=void 0===u?"@media (pointer: fine)":u,s=n.DialogProps,c=n.okText,d=n.PopperProps,f=n.showTodayButton,p=n.todayText,h=n.TransitionComponent,m=(0,X.Z)(n,Rw),v=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,qc.Z)(),r="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,o=(0,vy.Z)({name:"MuiUseMediaQuery",props:t,theme:n}),i=o.defaultMatches,a=void 0!==i&&i,u=o.matchMedia,l=void 0===u?r?window.matchMedia:null:u,s=o.ssrMatchMedia,c=void 0===s?null:s,d=o.noSsr,f="function"===typeof e?e(n):e;return f=f.replace(/^@media( ?)/m,""),(void 0!==yy?by:gy)(f,a,l,c,d)}(l);return v?(0,ie.tZ)(rw,(0,o.Z)({ref:t,PopperProps:d,TransitionComponent:h},m)):(0,ie.tZ)(Pw,(0,o.Z)({ref:t,cancelText:r,clearable:i,clearText:a,DialogProps:s,okText:c,showTodayButton:f,todayText:p},m))})),Ow=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],Bw=(0,J.ZP)("div",{name:"MuiDivider",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,"vertical"===n.orientation&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&"vertical"===n.orientation&&t.withChildrenVertical,"right"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignRight,"left"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignLeft]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:t.palette.divider,borderBottomWidth:"thin"},n.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},n.light&&{borderColor:(0,Q.Fq)(t.palette.divider,.08)},"inset"===n.variant&&{marginLeft:72},"middle"===n.variant&&"horizontal"===n.orientation&&{marginLeft:t.spacing(2),marginRight:t.spacing(2)},"middle"===n.variant&&"vertical"===n.orientation&&{marginTop:t.spacing(1),marginBottom:t.spacing(1)},"vertical"===n.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},n.flexItem&&{alignSelf:"stretch",height:"auto"})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},n.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{position:"relative",width:"100%",borderTop:"thin solid ".concat(t.palette.divider),top:"50%",content:'""',transform:"translateY(50%)"}})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},n.children&&"vertical"===n.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",top:"0%",left:"50%",borderTop:0,borderLeft:"thin solid ".concat(t.palette.divider),transform:"translateX(0%)"}})}),(function(e){var t=e.ownerState;return(0,o.Z)({},"right"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})})),Iw=(0,J.ZP)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:function(e,t){var n=e.ownerState;return[t.wrapper,"vertical"===n.orientation&&t.wrapperVertical]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"inline-block",paddingLeft:"calc(".concat(t.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(t.spacing(1)," * 1.2)")},"vertical"===n.orientation&&{paddingTop:"calc(".concat(t.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(t.spacing(1)," * 1.2)")})})),Lw=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDivider"}),r=n.absolute,i=void 0!==r&&r,a=n.children,u=n.className,l=n.component,s=void 0===l?a?"div":"hr":l,c=n.flexItem,d=void 0!==c&&c,f=n.light,p=void 0!==f&&f,h=n.orientation,m=void 0===h?"horizontal":h,v=n.role,g=void 0===v?"hr"!==s?"separator":void 0:v,y=n.textAlign,b=void 0===y?"center":y,x=n.variant,Z=void 0===x?"fullWidth":x,w=(0,X.Z)(n,Ow),D=(0,o.Z)({},n,{absolute:i,component:s,flexItem:d,light:p,orientation:m,role:g,textAlign:b,variant:Z}),k=function(e){var t=e.absolute,n=e.children,r=e.classes,o=e.flexItem,i=e.light,a=e.orientation,u=e.textAlign,l={root:["root",t&&"absolute",e.variant,i&&"light","vertical"===a&&"vertical",o&&"flexItem",n&&"withChildren",n&&"vertical"===a&&"withChildrenVertical","right"===u&&"vertical"!==a&&"textAlignRight","left"===u&&"vertical"!==a&&"textAlignLeft"],wrapper:["wrapper","vertical"===a&&"wrapperVertical"]};return(0,K.Z)(l,Rm,r)}(D);return(0,ie.tZ)(Bw,(0,o.Z)({as:s,className:(0,G.Z)(k.root,u),role:g,ref:t,ownerState:D},w,{children:a?(0,ie.tZ)(Iw,{className:k.wrapper,ownerState:D,children:a}):null}))})),Nw=Lw,zw="YYYY-MM-DD HH:mm:ss",jw={container:{display:"grid",gridTemplateColumns:"200px auto 200px",gridGap:"10px",padding:"20px"},timeControls:{display:"grid",gridTemplateRows:"auto 1fr auto",gridGap:"16px 0"},datePickerItem:{minWidth:"200px"}},Ww=function(){var e=(0,t.useState)(),n=(0,r.Z)(e,2),o=n[0],i=n[1],a=(0,t.useState)(),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=no().time,d=c.period,f=d.end,p=d.start,h=c.relativeTime,m=ro();(0,t.useEffect)((function(){i(Ir(Nr(f)))}),[f]),(0,t.useEffect)((function(){s(Ir(Nr(p)))}),[p]);var v=(0,t.useMemo)((function(){return{start:cr()(Nr(p)).format(zw),end:cr()(Nr(f)).format(zw)}}),[p,f]),g=(0,t.useState)(null),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=Boolean(b);return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(cd,{title:"Time range controls",children:(0,ie.tZ)(Yv,{variant:"contained",color:"primary",sx:{color:"white",border:"1px solid rgba(0, 0, 0, 0.2)",boxShadow:"none"},startIcon:(0,ie.tZ)(my.Z,{}),onClick:function(e){return x(e.currentTarget)},children:h?h.replace(/_/g," "):"".concat(v.start," - ").concat(v.end)})}),(0,ie.tZ)(Kc,{open:Z,anchorEl:b,placement:"bottom-end",modifiers:[{name:"offset",options:{offset:[0,6]}}],children:(0,ie.tZ)(Pt,{onClickAway:function(){return x(null)},children:(0,ie.tZ)(ce,{elevation:3,children:(0,ie.BX)(ni,{sx:jw.container,children:[(0,ie.BX)(ni,{sx:jw.timeControls,children:[(0,ie.tZ)(ni,{sx:jw.datePickerItem,children:(0,ie.tZ)(Fw,{label:"From",ampm:!1,value:l,onChange:function(e){return e&&m({type:"SET_FROM",payload:e})},onError:console.log,inputFormat:zw,mask:"____-__-__ __:__:__",renderInput:function(e){return(0,ie.tZ)(Pm,vn(vn({},e),{},{variant:"standard"}))},maxDate:cr()(o),PopperProps:{disablePortal:!0}})}),(0,ie.tZ)(ni,{sx:jw.datePickerItem,children:(0,ie.tZ)(Fw,{label:"To",ampm:!1,value:o,onChange:function(e){return e&&m({type:"SET_UNTIL",payload:e})},onError:console.log,inputFormat:zw,mask:"____-__-__ __:__:__",renderInput:function(e){return(0,ie.tZ)(Pm,vn(vn({},e),{},{variant:"standard"}))},PopperProps:{disablePortal:!0}})}),(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"auto 1fr",gap:1,children:[(0,ie.tZ)(Yv,{variant:"outlined",onClick:function(){return x(null)},children:"Cancel"}),(0,ie.tZ)(Yv,{variant:"contained",onClick:function(){return m({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"})]})]}),(0,ie.tZ)(Nw,{orientation:"vertical",flexItem:!0}),(0,ie.tZ)(ni,{children:(0,ie.tZ)(hy,{setDuration:function(e){var t=e.duration,n=e.until,r=e.id;m({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),x(null)}})})]})})})})]})},$w=function(e){var n=e.error,o=e.setServer,i=Tv(),a=Mv().serverURL,u=no().serverUrl,l=ro(),s=(0,t.useState)(u),c=(0,r.Z)(s,2),d=c[0],f=c[1];(0,t.useEffect)((function(){i&&(l({type:"SET_SERVER",payload:a}),f(a))}),[a]);return(0,ie.tZ)(Pm,{variant:"outlined",fullWidth:!0,label:"Server URL",value:d||"",disabled:i,error:n===Ev.validServer||n===Ev.emptyServer,inputProps:{style:{fontFamily:"Monospace"}},onChange:function(e){var t=e.target.value||"";f(t),o(t)}})},Hw={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",bgcolor:"background.paper",p:3,borderRadius:"4px",width:"80%",maxWidth:"800px"},Yw="Setting Server URL",Vw=function(){var e=Tv(),n=no().serverUrl,o=ro(),i=(0,t.useState)(n),a=(0,r.Z)(i,2),u=a[0],l=a[1],s=(0,t.useState)(!1),c=(0,r.Z)(s,2),d=c[0],f=c[1],p=function(){return f(!1)};return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(cd,{title:Yw,children:(0,ie.tZ)(Yv,{variant:"contained",color:"primary",sx:{color:"white",border:"1px solid rgba(0, 0, 0, 0.2)",minWidth:"34px",padding:"6px 8px",boxShadow:"none"},startIcon:(0,ie.tZ)(Uv.Z,{style:{marginRight:"-8px",marginLeft:"4px"}}),onClick:function(){return f(!0)}})}),(0,ie.tZ)(Ah,{open:d,onClose:p,children:(0,ie.BX)(ni,{sx:Hw,children:[(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"1fr auto",alignItems:"center",mb:4,children:[(0,ie.tZ)(ev,{id:"modal-modal-title",variant:"h6",component:"h2",children:Yw}),(0,ie.tZ)(pt,{size:"small",onClick:p,children:(0,ie.tZ)(Kv.Z,{})})]}),(0,ie.tZ)($w,{setServer:l}),(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"auto auto",gap:1,justifyContent:"end",mt:4,children:[(0,ie.tZ)(Yv,{variant:"outlined",onClick:p,children:"Cancel"}),(0,ie.tZ)(Yv,{variant:"contained",onClick:function(){e||o({type:"SET_SERVER",payload:u}),p()},children:"apply"})]})]})})]})},Uw={logo:{position:"relative",display:"flex",alignItems:"center",color:"#fff",cursor:"pointer","&:hover":{textDecoration:"underline"}},issueLink:{textAlign:"center",fontSize:"10px",opacity:".4",color:"inherit",textDecoration:"underline",transition:".2s opacity","&:hover":{opacity:".8"}},menuLink:{display:"block",padding:"16px 8px",color:"white",fontSize:"11px",textDecoration:"none",cursor:"pointer",textTransform:"uppercase",borderRadius:"4px",transition:".2s background","&:hover":{boxShadow:"rgba(0, 0, 0, 0.15) 0px 2px 8px"}}},qw=function(){var e=R(),n=e.search,o=e.pathname,i=F(),a=(0,t.useState)(o),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=function(e){i({pathname:e,search:n})};return(0,ie.tZ)(Sg,{position:"static",sx:{px:1,boxShadow:"none"},children:(0,ie.BX)(Lg,{children:[(0,ie.BX)(ni,{display:"grid",alignItems:"center",justifyContent:"center",children:[(0,ie.BX)(ni,{onClick:function(){c(br),Dr(""),window.location.reload()},sx:Uw.logo,children:[(0,ie.tZ)(sy,{style:{color:"inherit",marginRight:"6px"}}),(0,ie.BX)(ev,{variant:"h5",children:[(0,ie.tZ)("span",{style:{fontWeight:"bolder"},children:"VM"}),(0,ie.tZ)("span",{style:{fontWeight:"lighter"},children:"UI"})]})]}),(0,ie.tZ)(Rg,{sx:Uw.issueLink,target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new",children:"create an issue"})]}),(0,ie.tZ)(ni,{sx:{ml:8},children:(0,ie.BX)(Jn,{value:l,textColor:"inherit",TabIndicatorProps:{style:{background:"white"}},onChange:function(e,t){return s(t)},children:[(0,ie.tZ)(ar,{label:"Custom panel",value:br,component:U,to:"".concat(br).concat(n)}),(0,ie.tZ)(ar,{label:"Dashboards",value:xr,component:U,to:"".concat(xr).concat(n)})]})}),(0,ie.BX)(ni,{display:"grid",gridTemplateColumns:"repeat(3, auto)",gap:1,alignItems:"center",ml:"auto",mr:0,children:[(0,ie.tZ)(Ww,{}),(0,ie.tZ)(uy,{}),(0,ie.tZ)(Vw,{})]})]})})},Xw=function(){return(0,ie.BX)(ni,{children:[(0,ie.tZ)(qw,{}),(0,ie.tZ)(L,{})]})},Gw=n(3878),Kw=n(9199),Qw=n(5267);var Jw=n(5829);function eD(e){return(0,ne.Z)("MuiCollapse",e)}(0,re.Z)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var tD=["addEndListener","children","className","collapsedSize","component","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","orientation","style","timeout","TransitionComponent"],nD=(0,J.ZP)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.orientation],"entered"===n.state&&t.entered,"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({height:0,overflow:"hidden",transition:t.transitions.create("height")},"horizontal"===n.orientation&&{height:"auto",width:0,transition:t.transitions.create("width")},"entered"===n.state&&(0,o.Z)({height:"auto",overflow:"visible"},"horizontal"===n.orientation&&{width:"auto"}),"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&{visibility:"hidden"})})),rD=(0,J.ZP)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:function(e,t){return t.wrapper}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),oD=(0,J.ZP)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:function(e,t){return t.wrapperInner}})((function(e){var t=e.ownerState;return(0,o.Z)({width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),iD=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiCollapse"}),i=r.addEndListener,a=r.children,u=r.className,l=r.collapsedSize,s=void 0===l?"0px":l,c=r.component,d=r.easing,f=r.in,p=r.onEnter,h=r.onEntered,m=r.onEntering,v=r.onExit,g=r.onExited,y=r.onExiting,b=r.orientation,x=void 0===b?"vertical":b,Z=r.style,w=r.timeout,D=void 0===w?Jw.x9.standard:w,k=r.TransitionComponent,S=void 0===k?Ht:k,C=(0,X.Z)(r,tD),_=(0,o.Z)({},r,{orientation:x,collapsedSize:s}),E=function(e){var t=e.orientation,n=e.classes,r={root:["root","".concat(t)],entered:["entered"],hidden:["hidden"],wrapper:["wrapper","".concat(t)],wrapperInner:["wrapperInner","".concat(t)]};return(0,K.Z)(r,eD,n)}(_),A=Ot(),M=t.useRef(),T=t.useRef(null),P=t.useRef(),R="number"===typeof s?"".concat(s,"px"):s,F="horizontal"===x,O=F?"width":"height";t.useEffect((function(){return function(){clearTimeout(M.current)}}),[]);var B=t.useRef(null),I=(0,pe.Z)(n,B),L=function(e){return function(t){if(e){var n=B.current;void 0===t?e(n):e(n,t)}}},N=function(){return T.current?T.current[F?"clientWidth":"clientHeight"]:0},z=L((function(e,t){T.current&&F&&(T.current.style.position="absolute"),e.style[O]=R,p&&p(e,t)})),j=L((function(e,t){var n=N();T.current&&F&&(T.current.style.position="");var r=Vt({style:Z,timeout:D,easing:d},{mode:"enter"}),o=r.duration,i=r.easing;if("auto"===D){var a=A.transitions.getAutoHeightDuration(n);e.style.transitionDuration="".concat(a,"ms"),P.current=a}else e.style.transitionDuration="string"===typeof o?o:"".concat(o,"ms");e.style[O]="".concat(n,"px"),e.style.transitionTimingFunction=i,m&&m(e,t)})),W=L((function(e,t){e.style[O]="auto",h&&h(e,t)})),$=L((function(e){e.style[O]="".concat(N(),"px"),v&&v(e)})),H=L(g),Y=L((function(e){var t=N(),n=Vt({style:Z,timeout:D,easing:d},{mode:"exit"}),r=n.duration,o=n.easing;if("auto"===D){var i=A.transitions.getAutoHeightDuration(t);e.style.transitionDuration="".concat(i,"ms"),P.current=i}else e.style.transitionDuration="string"===typeof r?r:"".concat(r,"ms");e.style[O]=R,e.style.transitionTimingFunction=o,y&&y(e)}));return(0,ie.tZ)(S,(0,o.Z)({in:f,onEnter:z,onEntered:W,onEntering:j,onExit:$,onExited:H,onExiting:Y,addEndListener:function(e){"auto"===D&&(M.current=setTimeout(e,P.current||0)),i&&i(B.current,e)},nodeRef:B,timeout:"auto"===D?null:D},C,{children:function(e,t){return(0,ie.tZ)(nD,(0,o.Z)({as:c,className:(0,G.Z)(E.root,u,{entered:E.entered,exited:!f&&"0px"===R&&E.hidden}[e]),style:(0,o.Z)((0,q.Z)({},F?"minWidth":"minHeight",R),Z),ownerState:(0,o.Z)({},_,{state:e}),ref:I},t,{children:(0,ie.tZ)(rD,{ownerState:(0,o.Z)({},_,{state:e}),className:E.wrapper,ref:T,children:(0,ie.tZ)(oD,{ownerState:(0,o.Z)({},_,{state:e}),className:E.wrapperInner,children:a})})}))}}))}));iD.muiSupportAuto=!0;var aD=iD;var uD=t.createContext({});function lD(e){return(0,ne.Z)("MuiAccordion",e)}var sD=(0,re.Z)("MuiAccordion",["root","rounded","expanded","disabled","gutters","region"]),cD=["children","className","defaultExpanded","disabled","disableGutters","expanded","onChange","square","TransitionComponent","TransitionProps"],dD=(0,J.ZP)(ce,{name:"MuiAccordion",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(sD.region),t.region),t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r={duration:n.transitions.duration.shortest};return t={position:"relative",transition:n.transitions.create(["margin"],r),overflowAnchor:"none","&:before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(n.vars||n).palette.divider,transition:n.transitions.create(["opacity","background-color"],r)},"&:first-of-type":{"&:before":{display:"none"}}},(0,q.Z)(t,"&.".concat(sD.expanded),{"&:before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&:before":{display:"none"}}}),(0,q.Z)(t,"&.".concat(sD.disabled),{backgroundColor:(n.vars||n).palette.action.disabledBackground}),t}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},!n.square&&{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},!n.disableGutters&&(0,q.Z)({},"&.".concat(sD.expanded),{margin:"16px 0"}))})),fD=t.forwardRef((function(e,n){var i,a=(0,ee.Z)({props:e,name:"MuiAccordion"}),u=a.children,l=a.className,s=a.defaultExpanded,c=void 0!==s&&s,d=a.disabled,f=void 0!==d&&d,p=a.disableGutters,h=void 0!==p&&p,m=a.expanded,v=a.onChange,g=a.square,y=void 0!==g&&g,b=a.TransitionComponent,x=void 0===b?aD:b,Z=a.TransitionProps,w=(0,X.Z)(a,cD),D=(0,Jc.Z)({controlled:m,default:c,name:"Accordion",state:"expanded"}),k=(0,r.Z)(D,2),S=k[0],C=k[1],_=t.useCallback((function(e){C(!S),v&&v(e,!S)}),[S,v,C]),E=t.Children.toArray(u),A=(i=E,(0,Gw.Z)(i)||(0,Kw.Z)(i)||(0,ri.Z)(i)||(0,Qw.Z)()),M=A[0],T=A.slice(1),P=t.useMemo((function(){return{expanded:S,disabled:f,disableGutters:h,toggle:_}}),[S,f,h,_]),R=(0,o.Z)({},a,{square:y,disabled:f,disableGutters:h,expanded:S}),F=function(e){var t=e.classes,n={root:["root",!e.square&&"rounded",e.expanded&&"expanded",e.disabled&&"disabled",!e.disableGutters&&"gutters"],region:["region"]};return(0,K.Z)(n,lD,t)}(R);return(0,ie.BX)(dD,(0,o.Z)({className:(0,G.Z)(F.root,l),ref:n,ownerState:R,square:y},w,{children:[(0,ie.tZ)(uD.Provider,{value:P,children:M}),(0,ie.tZ)(x,(0,o.Z)({in:S,timeout:"auto"},Z,{children:(0,ie.tZ)("div",{"aria-labelledby":M.props.id,id:M.props["aria-controls"],role:"region",className:F.region,children:T})}))]}))})),pD=fD;function hD(e){return(0,ne.Z)("MuiAccordionSummary",e)}var mD=(0,re.Z)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),vD=["children","className","expandIcon","focusVisibleClassName","onClick"],gD=(0,J.ZP)(at,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){var t,n=e.theme,r=e.ownerState,i={duration:n.transitions.duration.shortest};return(0,o.Z)((t={display:"flex",minHeight:48,padding:n.spacing(0,2),transition:n.transitions.create(["min-height","background-color"],i)},(0,q.Z)(t,"&.".concat(mD.focusVisible),{backgroundColor:(n.vars||n).palette.action.focus}),(0,q.Z)(t,"&.".concat(mD.disabled),{opacity:(n.vars||n).palette.action.disabledOpacity}),(0,q.Z)(t,"&:hover:not(.".concat(mD.disabled,")"),{cursor:"pointer"}),t),!r.disableGutters&&(0,q.Z)({},"&.".concat(mD.expanded),{minHeight:64}))})),yD=(0,J.ZP)("div",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:function(e,t){return t.content}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",flexGrow:1,margin:"12px 0"},!n.disableGutters&&(0,q.Z)({transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest})},"&.".concat(mD.expanded),{margin:"20px 0"}))})),bD=(0,J.ZP)("div",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:function(e,t){return t.expandIconWrapper}})((function(e){var t=e.theme;return(0,q.Z)({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest})},"&.".concat(mD.expanded),{transform:"rotate(180deg)"})})),xD=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiAccordionSummary"}),i=r.children,a=r.className,u=r.expandIcon,l=r.focusVisibleClassName,s=r.onClick,c=(0,X.Z)(r,vD),d=t.useContext(uD),f=d.disabled,p=void 0!==f&&f,h=d.disableGutters,m=d.expanded,v=d.toggle,g=(0,o.Z)({},r,{expanded:m,disabled:p,disableGutters:h}),y=function(e){var t=e.classes,n=e.expanded,r=e.disabled,o=e.disableGutters,i={root:["root",n&&"expanded",r&&"disabled",!o&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!o&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]};return(0,K.Z)(i,hD,t)}(g);return(0,ie.BX)(gD,(0,o.Z)({focusRipple:!1,disableRipple:!0,disabled:p,component:"div","aria-expanded":m,className:(0,G.Z)(y.root,a),focusVisibleClassName:(0,G.Z)(y.focusVisible,l),onClick:function(e){v&&v(e),s&&s(e)},ref:n,ownerState:g},c,{children:[(0,ie.tZ)(yD,{className:y.content,ownerState:g,children:i}),u&&(0,ie.tZ)(bD,{className:y.expandIconWrapper,ownerState:g,children:u})]}))})),ZD=xD;function wD(e){return(0,ne.Z)("MuiAccordionDetails",e)}(0,re.Z)("MuiAccordionDetails",["root"]);var DD=["className"],kD=(0,J.ZP)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(1,2,2)}})),SD=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiAccordionDetails"}),r=n.className,i=(0,X.Z)(n,DD),a=n,u=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},wD,t)}(a);return(0,ie.tZ)(kD,(0,o.Z)({className:(0,G.Z)(u.root,r),ref:t,ownerState:a},i))})),CD=SD,_D=n(6306),ED=n(3973);function AD(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var MD={baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var TD=/[&<>"']/,PD=/[&<>"']/g,RD=/[<>"']|&(?!#?\w+;)/,FD=/[<>"']|&(?!#?\w+;)/g,OD={"&":"&","<":"<",">":">",'"':""","'":"'"},BD=function(e){return OD[e]};function ID(e,t){if(t){if(TD.test(e))return e.replace(PD,BD)}else if(RD.test(e))return e.replace(FD,BD);return e}var LD=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function ND(e){return e.replace(LD,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var zD=/(^|[^\[])\^/g;function jD(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(zD,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var WD=/[^\w:]/g,$D=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function HD(e,t,n){if(e){var r;try{r=decodeURIComponent(ND(n)).replace(WD,"").toLowerCase()}catch(o){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!$D.test(n)&&(n=function(e,t){YD[" "+e]||(VD.test(e)?YD[" "+e]=e+"/":YD[" "+e]=QD(e,"/",!0));var n=-1===(e=YD[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(UD,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(qD,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(o){return null}return n}var YD={},VD=/^[^:]+:\/*[^/]*$/,UD=/^([^:]+:)[\s\S]*$/,qD=/^([^:]+:\/*[^/]*)[\s\S]*$/;var XD={exec:function(){}};function GD(e){for(var t,n,r=1;r=0&&"\\"===n[o];)r=!r;return r?"|":" |"})),r=n.split(/ \|/),o=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),r.length>t)r.splice(t);else for(;r.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function tk(e,t,n,r){var o=t.href,i=t.title?ID(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var u={type:"link",raw:n,href:o,title:i,text:a,tokens:r.inlineTokens(a,[])};return r.state.inLink=!1,u}return{type:"image",raw:n,href:o,title:i,text:ID(a)}}var nk=function(){function e(t){Qp(this,e),this.options=t||MD}return eh(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:QD(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],o=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var o=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:(0,r.Z)(t,1)[0].length>=o.length?e.slice(o.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:o}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=QD(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}var o={type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:[]};return this.lexer.inline(o.text,o.tokens),o}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(n,[]),text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,o,i,a,u,l,s,c,d,f,p,h=t[1].trim(),m=h.length>1,v={type:"list",raw:"",ordered:m,start:m?+h.slice(0,-1):"",loose:!1,items:[]};h=m?"\\d{1,9}\\".concat(h.slice(-1)):"\\".concat(h),this.options.pedantic&&(h=m?h:"[*+-]");for(var g=new RegExp("^( {0,3}".concat(h,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(p=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),s=t[2].split("\n",1)[0],c=e.split("\n",1)[0],this.options.pedantic?(i=2,f=s.trimLeft()):(i=(i=t[2].search(/[^ ]/))>4?1:i,f=s.slice(i),i+=t[1].length),u=!1,!s&&/^ *$/.test(c)&&(n+=c+"\n",e=e.substring(c.length+1),p=!0),!p)for(var y=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))")),b=new RegExp("^ {0,".concat(Math.min(3,i-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"));e&&(s=d=e.split("\n",1)[0],this.options.pedantic&&(s=s.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!y.test(s))&&!b.test(e);){if(s.search(/[^ ]/)>=i||!s.trim())f+="\n"+s.slice(i);else{if(u)break;f+="\n"+s}u||s.trim()||(u=!0),n+=d+"\n",e=e.substring(d.length+1)}v.loose||(l?v.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(f))&&(o="[ ] "!==r[0],f=f.replace(/^\[[ xX]\] +/,"")),v.items.push({type:"list_item",raw:n,task:!!r,checked:o,loose:!1,text:f}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=f.trimRight(),v.raw=v.raw.trimRight();var x=v.items.length;for(a=0;a1)return!0}}catch(o){r.e(o)}finally{r.f()}return!1}));!v.loose&&Z.length&&w&&(v.loose=!0,v.items[a].loose=!0)}return v}}},{key:"html",value:function(e){var t=this.rules.block.html.exec(e);if(t){var n={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};return this.options.sanitize&&(n.type="paragraph",n.text=this.options.sanitizer?this.options.sanitizer(t[0]):ID(t[0]),n.tokens=[],this.lexer.inline(n.text,n.tokens)),n}}},{key:"def",value:function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{type:"def",tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:KD(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,o,i,a,u=n.align.length;for(r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):ID(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var r=QD(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var o=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,o=0;o-1){var i=(0===t[0].indexOf("!")?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,i).trim(),t[3]=""}}var a=t[2],u="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);l&&(a=l[1],u=l[3])}else u=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^$/.test(n)?a.slice(1):a.slice(1,-1)),tk(t,{href:a?a.replace(this.rules.inline._escapes,"$1"):a,title:u?u.replace(this.rules.inline._escapes,"$1"):u},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])||!r.href){var o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return tk(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var o=r[1]||r[2]||"";if(!o||o&&(""===n||this.rules.inline.punctuation.exec(n))){var i,a,u=r[0].length-1,l=u,s=0,c="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=c.exec(t));)if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(a=i.length,r[3]||r[4])l+=a;else if(!((r[5]||r[6])&&u%3)||(u+a)%3){if(!((l-=a)>0)){if(a=Math.min(a,a+l+s),Math.min(u,a)%2){var d=e.slice(1,u+r.index+a);return{type:"em",raw:e.slice(0,u+r.index+a+1),text:d,tokens:this.lexer.inlineTokens(d,[])}}var f=e.slice(2,u+r.index+a-1);return{type:"strong",raw:e.slice(0,u+r.index+a+1),text:f,tokens:this.lexer.inlineTokens(f,[])}}}else s+=a}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),o=/^ /.test(n)&&/ $/.test(n);return r&&o&&(n=n.substring(1,n.length-1)),n=ID(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}}},{key:"autolink",value:function(e,t){var n,r,o=this.rules.inline.autolink.exec(e);if(o)return r="@"===o[2]?"mailto:"+(n=ID(this.options.mangle?t(o[1]):o[1])):n=ID(o[1]),{type:"link",raw:o[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,o;if("@"===n[2])o="mailto:"+(r=ID(this.options.mangle?t(n[0]):n[0]));else{var i;do{i=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(i!==n[0]);r=ID(n[0]),o="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:o,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):ID(r[0]):r[0]:ID(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),rk={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:XD,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};rk.def=jD(rk.def).replace("label",rk._label).replace("title",rk._title).getRegex(),rk.bullet=/(?:[*+-]|\d{1,9}[.)])/,rk.listItemStart=jD(/^( *)(bull) */).replace("bull",rk.bullet).getRegex(),rk.list=jD(rk.list).replace(/bull/g,rk.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+rk.def.source+")").getRegex(),rk._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",rk._comment=/|$)/,rk.html=jD(rk.html,"i").replace("comment",rk._comment).replace("tag",rk._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),rk.paragraph=jD(rk._paragraph).replace("hr",rk.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",rk._tag).getRegex(),rk.blockquote=jD(rk.blockquote).replace("paragraph",rk.paragraph).getRegex(),rk.normal=GD({},rk),rk.gfm=GD({},rk.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),rk.gfm.table=jD(rk.gfm.table).replace("hr",rk.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",rk._tag).getRegex(),rk.gfm.paragraph=jD(rk._paragraph).replace("hr",rk.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",rk.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",rk._tag).getRegex(),rk.pedantic=GD({},rk.normal,{html:jD("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",rk._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:XD,paragraph:jD(rk.normal._paragraph).replace("hr",rk.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",rk.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var ok={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:XD,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:XD,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}ok._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",ok.punctuation=jD(ok.punctuation).replace(/punctuation/g,ok._punctuation).getRegex(),ok.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,ok.escapedEmSt=/\\\*|\\_/g,ok._comment=jD(rk._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),ok.emStrong.lDelim=jD(ok.emStrong.lDelim).replace(/punct/g,ok._punctuation).getRegex(),ok.emStrong.rDelimAst=jD(ok.emStrong.rDelimAst,"g").replace(/punct/g,ok._punctuation).getRegex(),ok.emStrong.rDelimUnd=jD(ok.emStrong.rDelimUnd,"g").replace(/punct/g,ok._punctuation).getRegex(),ok._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,ok._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,ok._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,ok.autolink=jD(ok.autolink).replace("scheme",ok._scheme).replace("email",ok._email).getRegex(),ok._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,ok.tag=jD(ok.tag).replace("comment",ok._comment).replace("attribute",ok._attribute).getRegex(),ok._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,ok._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,ok._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,ok.link=jD(ok.link).replace("label",ok._label).replace("href",ok._href).replace("title",ok._title).getRegex(),ok.reflink=jD(ok.reflink).replace("label",ok._label).replace("ref",rk._label).getRegex(),ok.nolink=jD(ok.nolink).replace("ref",rk._label).getRegex(),ok.reflinkSearch=jD(ok.reflinkSearch,"g").replace("reflink",ok.reflink).replace("nolink",ok.nolink).getRegex(),ok.normal=GD({},ok),ok.pedantic=GD({},ok.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:jD(/^!?\[(label)\]\((.*?)\)/).replace("label",ok._label).getRegex(),reflink:jD(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",ok._label).getRegex()}),ok.gfm=GD({},ok.normal,{escape:jD(ok.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(t=n.call({lexer:i},e,a))&&(e=e.substring(t.raw.length),a.push(t),!0)}))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&a.length>0?a[a.length-1].raw+="\n":a.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?a.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),a.push(t);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),o=void 0;i.options.extensions.startBlock.forEach((function(e){"number"===typeof(o=e.call({lexer:this},n))&&o>=0&&(t=Math.min(t,o))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(t=this.tokenizer.paragraph(r)))n=a[a.length-1],o&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):a.push(t),o=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),(n=a[a.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):a.push(t);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}return this.state.top=!0,a}},{key:"inline",value:function(e,t){this.inlineQueue.push({src:e,tokens:t})}},{key:"inlineTokens",value:function(e){var t,n,r,o,i,a,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(c.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(s));)c.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,o.index)+"["+ek("a",o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(s));)s=s.slice(0,o.index)+"["+ek("a",o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.escapedEmSt.exec(s));)s=s.slice(0,o.index)+"++"+s.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(i||(a=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)}))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.emStrong(e,s,a))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.autolink(e,ak))e=e.substring(t.raw.length),l.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,ak))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),o=void 0;u.options.extensions.startInline.forEach((function(e){"number"===typeof(o=e.call({lexer:this},n))&&o>=0&&(t=Math.min(t,o))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),t=this.tokenizer.inlineText(r,ik))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(a=t.raw.slice(-1)),i=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(e){var d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}throw new Error(d)}}else e=e.substring(t.raw.length),l.push(t);return l}}],[{key:"rules",get:function(){return{block:rk,inline:ok}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),lk=function(){function e(t){Qp(this,e),this.options=t||MD}return eh(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,r);null!=o&&o!==e&&(n=!0,e=o)}return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:ID(e,!0))+"
\n":"
"+(n?e:ID(e,!0))+"
\n"}},{key:"blockquote",value:function(e){return"
\n".concat(e,"
\n")}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){if(this.options.headerIds){var o=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}},{key:"hr",value:function(){return this.options.xhtml?"
\n":"
\n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}},{key:"listitem",value:function(e){return"
  • ".concat(e,"
  • \n")}},{key:"checkbox",value:function(e){return" "}},{key:"paragraph",value:function(e){return"

    ".concat(e,"

    \n")}},{key:"table",value:function(e,t){return t&&(t="".concat(t,"")),"\n\n"+e+"\n"+t+"
    \n"}},{key:"tablerow",value:function(e){return"\n".concat(e,"\n")}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"\n")}},{key:"strong",value:function(e){return"".concat(e,"")}},{key:"em",value:function(e){return"".concat(e,"")}},{key:"codespan",value:function(e){return"".concat(e,"")}},{key:"br",value:function(){return this.options.xhtml?"
    ":"
    "}},{key:"del",value:function(e){return"".concat(e,"")}},{key:"link",value:function(e,t,n){if(null===(e=HD(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "}},{key:"image",value:function(e,t,n){if(null===(e=HD(this.options.sanitize,this.options.baseUrl,e)))return n;var r='').concat(n,'":">"}},{key:"text",value:function(e){return e}}]),e}(),sk=function(){function e(){Qp(this,e)}return eh(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),ck=function(){function e(){Qp(this,e),this.seen={}}return eh(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),dk=function(){function e(t){Qp(this,e),this.options=t||MD,this.options.renderer=this.options.renderer||new lk,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new sk,this.slugger=new ck}return eh(e,[{key:"parse",value:function(e){var t,n,r,o,i,a,u,l,s,c,d,f,p,h,m,v,g,y,b,x=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Z="",w=e.length;for(t=0;t0&&"paragraph"===m.tokens[0].type?(m.tokens[0].text=y+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=y+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:y}):h+=y),h+=this.parse(m.tokens,p),s+=this.renderer.listitem(h,g,v);Z+=this.renderer.list(s,d,f);continue;case"html":Z+=this.renderer.html(c.text);continue;case"paragraph":Z+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(s=c.tokens?this.parseInline(c.tokens):c.text;t+1An error occurred:

    "+ID(l.message+"",!0)+"
    ";throw l}}fk.options=fk.setOptions=function(e){var t;return GD(fk.defaults,e),t=fk.defaults,MD=t,fk},fk.getDefaults=AD,fk.defaults=MD,fk.use=function(){for(var e=arguments.length,t=new Array(e),n=0;nAn error occurred:

    "+ID(r.message+"",!0)+"
    ";throw r}},fk.Parser=dk,fk.parser=dk.parse,fk.Renderer=lk,fk.TextRenderer=sk,fk.Lexer=uk,fk.lexer=uk.lex,fk.Tokenizer=nk,fk.Slugger=ck,fk.parse=fk;fk.options,fk.setOptions,fk.use,fk.walkTokens,fk.parseInline,dk.parse,uk.lex;var pk=function(e){var n=e.title,o=e.description,i=e.unit,a=e.expr,u=e.showLegend,l=e.filename,s=e.alias,c=no().time.period,d=ro(),f=(0,t.useRef)(null),p=(0,t.useState)(!0),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=(0,t.useState)({enable:!1,value:c.step||1}),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)({limits:{enable:!1,range:{1:[0,0]}}}),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=(0,t.useMemo)((function(){return Array.isArray(a)&&a.every((function(e){return e}))}),[a]),C=Fv({predefinedQuery:S?a:[],display:"chart",visible:m,customStep:b}),_=C.isLoading,E=C.graphData,A=C.error,M=function(e){var t=vn({},D);t.limits.range=e,k(t)};return(0,t.useEffect)((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return v(e.isIntersecting)}))}),{threshold:.1});return f.current&&e.observe(f.current),function(){f.current&&e.unobserve(f.current)}}),[]),S?(0,ie.BX)(ni,{border:"1px solid",borderRadius:"2px",borderColor:"divider",width:"100%",height:"100%",ref:f,children:[(0,ie.BX)(ni,{px:2,py:1,display:"flex",flexWrap:"wrap",width:"100%",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid",borderColor:"divider",children:[(0,ie.tZ)(cd,{arrow:!0,componentsProps:{tooltip:{sx:{maxWidth:"100%"}}},title:(0,ie.BX)(ni,{sx:{p:1},children:[o&&(0,ie.BX)(ni,{mb:2,children:[(0,ie.tZ)(ev,{fontWeight:"500",sx:{mb:.5,textDecoration:"underline"},children:"Description:"}),(0,ie.tZ)("div",{className:"panelDescription",dangerouslySetInnerHTML:{__html:fk.parse(o)}})]}),(0,ie.BX)(ni,{children:[(0,ie.tZ)(ev,{fontWeight:"500",sx:{mb:.5,textDecoration:"underline"},children:"Queries:"}),(0,ie.tZ)("div",{children:a.map((function(e,t){return(0,ie.tZ)(ni,{mb:.5,children:e},"".concat(t,"_").concat(e))}))})]})]}),children:(0,ie.tZ)(ED.Z,{color:"info",sx:{mr:1}})}),(0,ie.tZ)(ev,{component:"div",variant:"subtitle1",fontWeight:500,sx:{mr:2,py:1,flexGrow:"1"},children:n||""}),(0,ie.tZ)(ni,{mr:2,py:1,children:(0,ie.tZ)(Dv,{defaultStep:c.step,customStepEnable:b.enable,setStep:function(e){return x(vn(vn({},b),{},{value:e}))},toggleEnableStep:function(){return x(vn(vn({},b),{},{enable:!b.enable}))}})}),(0,ie.tZ)(eg,{yaxis:D,setYaxisLimits:M,toggleEnableLimits:function(){var e=vn({},D);e.limits.enable=!e.limits.enable,k(e)}})]}),(0,ie.BX)(ni,{px:2,pb:2,children:[_&&(0,ie.tZ)(bg,{isLoading:!0,height:"500px"}),A&&(0,ie.tZ)(_t,{color:"error",severity:"error",sx:{whiteSpace:"pre-wrap",mt:2},children:A}),E&&(0,ie.tZ)(yd,{data:E,period:c,customStep:b,query:a,yaxis:D,unit:i,alias:s,showLegend:u,setYaxisLimits:M,setPeriod:function(e){var t=e.from,n=e.to;d({type:"SET_PERIOD",payload:{from:t,to:n}})}})]})]}):(0,ie.BX)(_t,{color:"error",severity:"error",sx:{m:4},children:[(0,ie.tZ)("code",{children:'"expr"'})," not found. Check the configuration file ",(0,ie.tZ)("b",{children:l}),"."]})},hk={position:"absolute",top:0,bottom:0,width:"10px",opacity:0,cursor:"ew-resize"},mk=function(e){var n=e.index,o=e.title,i=e.panels,a=e.filename,u=ms(document.body),l=(0,t.useMemo)((function(){return u.width/12}),[u]),s=(0,t.useState)([]),c=(0,r.Z)(s,2),d=c[0],f=c[1];(0,t.useEffect)((function(){f(i.map((function(e){return e.width||12})))}),[i]);var p=(0,t.useState)({start:0,target:0,enable:!1}),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=function(e){if(m.enable){var t=m.start,n=Math.ceil((t-e.clientX)/l);if(!(Math.abs(n)>=12)){var r=d.map((function(e,t){return e-(t===m.target?n:0)}));f(r)}}},y=function(){v(vn(vn({},m),{},{enable:!1}))};return(0,t.useEffect)((function(){return window.addEventListener("mousemove",g),window.addEventListener("mouseup",y),function(){window.removeEventListener("mousemove",g),window.removeEventListener("mouseup",y)}}),[m]),(0,ie.BX)(pD,{defaultExpanded:!n,sx:{boxShadow:"none"},children:[(0,ie.tZ)(ZD,{sx:{px:3,bgcolor:"rgba(227, 242, 253, 0.6)"},"aria-controls":"panel".concat(n,"-content"),id:"panel".concat(n,"-header"),expandIcon:(0,ie.tZ)(_D.Z,{}),children:(0,ie.BX)(ni,{display:"flex",alignItems:"center",width:"100%",children:[o&&(0,ie.tZ)(ev,{variant:"h6",fontWeight:"bold",sx:{mr:2},children:o}),i&&(0,ie.BX)(ev,{variant:"body2",fontStyle:"italic",children:["(",i.length," panels)"]})]})}),(0,ie.tZ)(CD,{sx:{display:"grid",gridGap:"10px"},children:(0,ie.tZ)($y,{container:!0,spacing:2,children:Array.isArray(i)&&i.length?i.map((function(e,t){return(0,ie.tZ)($y,{item:!0,xs:d[t],sx:{transition:"200ms"},children:(0,ie.BX)(ni,{position:"relative",height:"100%",children:[(0,ie.tZ)(pk,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:a,showLegend:e.showLegend}),(0,ie.tZ)("button",{style:vn(vn({},hk),{},{right:0}),onMouseDown:function(e){return function(e,t){v({start:e.clientX,target:t,enable:!0})}(e,t)}})]})},t)})):(0,ie.BX)(_t,{color:"error",severity:"error",sx:{m:4},children:[(0,ie.tZ)("code",{children:'"panels"'})," not found. Check the configuration file ",(0,ie.tZ)("b",{children:a}),"."]})})})]})},vk=function(){var e=(0,t.useState)(),n=(0,r.Z)(e,2),o=n[0],i=n[1],a=(0,t.useState)(0),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=(0,t.useMemo)((function(){return yr()(o,[l,"filename"],"")}),[o,l]),d=(0,t.useMemo)((function(){return yr()(o,[l,"rows"],[])}),[o,l]);return(0,t.useEffect)((function(){i(window.__VMUI_PREDEFINED_DASHBOARDS__||[])}),[]),(0,ie.BX)(ie.HY,{children:[!o&&(0,ie.tZ)(_t,{color:"info",severity:"info",sx:{m:4},children:"Dashboards not found"}),o&&(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(ni,{sx:{borderBottom:1,borderColor:"divider"},children:(0,ie.tZ)(Jn,{value:l,onChange:function(e,t){return s(t)},"aria-label":"dashboard-tabs",children:o&&o.map((function(e,t){return(0,ie.tZ)(ar,{label:e.title||e.filename,id:"tab-".concat(t),"aria-controls":"tabpanel-".concat(t)},t)}))})}),(0,ie.tZ)(ni,{children:Array.isArray(d)&&d.length?d.map((function(e,t){return(0,ie.tZ)(mk,{index:t,filename:c,title:e.title,panels:e.panels},"".concat(l,"_").concat(t))})):(0,ie.BX)(_t,{color:"error",severity:"error",sx:{m:4},children:[(0,ie.tZ)("code",{children:'"rows"'})," not found. Check the configuration file ",(0,ie.tZ)("b",{children:c}),"."]})})]})]})},gk=function(){return(0,ie.tZ)(ie.HY,{children:(0,ie.BX)(V,{children:[(0,ie.tZ)(Bo,{})," ",(0,ie.BX)(Lo,{dateAdapter:Vo,children:[" ",(0,ie.tZ)(So,{injectFirst:!0,children:(0,ie.BX)(To,{theme:Do,children:[" ",(0,ie.BX)(io,{children:[" ",(0,ie.BX)(mo,{children:[" ",(0,ie.BX)(Zo,{children:[" ",(0,ie.BX)(hn,{children:[" ",(0,ie.tZ)(j,{children:(0,ie.BX)(N,{path:"/",element:(0,ie.tZ)(Xw,{}),children:[(0,ie.tZ)(N,{path:br,element:(0,ie.tZ)(xg,{})}),(0,ie.tZ)(N,{path:xr,element:(0,ie.tZ)(vk,{})})]})})]})]})]})]})]})})]})]})})},yk=function(e){e&&e instanceof Function&&n.e(27).then(n.bind(n,4027)).then((function(t){var n=t.getCLS,r=t.getFID,o=t.getFCP,i=t.getLCP,a=t.getTTFB;n(e),r(e),o(e),i(e),a(e)}))},bk=document.getElementById("root");bk&&(0,t.render)((0,ie.tZ)(gk,{}),bk),yk()}()}(); \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.a54e3212.js.LICENSE.txt b/app/vmselect/vmui/static/js/main.348f50e1.js.LICENSE.txt similarity index 100% rename from app/vmselect/vmui/static/js/main.a54e3212.js.LICENSE.txt rename to app/vmselect/vmui/static/js/main.348f50e1.js.LICENSE.txt diff --git a/app/vmselect/vmui/static/js/main.a54e3212.js b/app/vmselect/vmui/static/js/main.a54e3212.js deleted file mode 100644 index 02d3cb7d5..000000000 --- a/app/vmselect/vmui/static/js/main.a54e3212.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.a54e3212.js.LICENSE.txt */ -!function(){var e={5318:function(e){e.exports=function(e){return e&&e.__esModule?e:{default:e}},e.exports.__esModule=!0,e.exports.default=e.exports},7757:function(e,t,n){e.exports=n(8937)},2575:function(e,t,n){"use strict";n.d(t,{Z:function(){return oe}});var r=function(){function e(e){var t=this;this._insertTag=function(e){var n;n=0===t.tags.length?t.insertionPoint?t.insertionPoint.nextSibling:t.prepend?t.container.firstChild:t.before:t.tags[t.tags.length-1].nextSibling,t.container.insertBefore(e,n),t.tags.push(e)},this.isSpeedy=void 0===e.speedy||e.speedy,this.tags=[],this.ctr=0,this.nonce=e.nonce,this.key=e.key,this.container=e.container,this.prepend=e.prepend,this.insertionPoint=e.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(e){e.forEach(this._insertTag)},t.insert=function(e){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(function(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),void 0!==e.nonce&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}(this));var t=this.tags[this.tags.length-1];if(this.isSpeedy){var n=function(e){if(e.sheet)return e.sheet;for(var t=0;t0?c(x,--y):0,v--,10===b&&(v=1,m--),b}function k(){return b=y2||E(b)>3?"":" "}function R(e,t){for(;--t&&k()&&!(b<48||b>102||b>57&&b<65||b>70&&b<97););return _(e,C()+(t<6&&32==S()&&32==k()))}function F(e){for(;k();)switch(b){case e:return y;case 34:case 39:34!==e&&39!==e&&F(b);break;case 40:41===e&&F(e);break;case 92:k()}return y}function O(e,t){for(;k()&&e+b!==57&&(e+b!==84||47!==S()););return"/*"+_(t,y-1)+"*"+i(47===e?e:k())}function B(e){for(;!E(S());)k();return _(e,y)}var I="-ms-",L="-moz-",N="-webkit-",z="comm",j="rule",W="decl",$="@keyframes";function H(e,t){for(var n="",r=p(e),o=0;o6)switch(c(e,t+1)){case 109:if(45!==c(e,t+4))break;case 102:return l(e,/(.+:)(.+)-([^]+)/,"$1-webkit-$2-$3$1"+L+(108==c(e,t+3)?"$3":"$2-$3"))+e;case 115:return~s(e,"stretch")?V(l(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(115!==c(e,t+1))break;case 6444:switch(c(e,f(e)-3-(~s(e,"!important")&&10))){case 107:return l(e,":",":"+N)+e;case 101:return l(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+N+(45===c(e,14)?"inline-":"")+"box$3$1"+N+"$2$3$1"+I+"$2box$3")+e}break;case 5936:switch(c(e,t+11)){case 114:return N+e+I+l(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return N+e+I+l(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return N+e+I+l(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return N+e+I+e+e}return e}function U(e){return M(q("",null,null,null,[""],e=A(e),0,[0],e))}function q(e,t,n,r,o,a,u,c,d){for(var p=0,m=0,v=u,g=0,y=0,b=0,x=1,Z=1,w=1,_=0,E="",A=o,M=a,F=r,I=E;Z;)switch(b=_,_=k()){case 40:if(108!=b&&58==I.charCodeAt(v-1)){-1!=s(I+=l(T(_),"&","&\f"),"&\f")&&(w=-1);break}case 34:case 39:case 91:I+=T(_);break;case 9:case 10:case 13:case 32:I+=P(b);break;case 92:I+=R(C()-1,7);continue;case 47:switch(S()){case 42:case 47:h(G(O(k(),C()),t,n),d);break;default:I+="/"}break;case 123*x:c[p++]=f(I)*w;case 125*x:case 59:case 0:switch(_){case 0:case 125:Z=0;case 59+m:y>0&&f(I)-v&&h(y>32?K(I+";",r,n,v-1):K(l(I," ","")+";",r,n,v-2),d);break;case 59:I+=";";default:if(h(F=X(I,t,n,p,m,o,c,E,A=[],M=[],v),a),123===_)if(0===m)q(I,t,F,F,A,a,v,c,M);else switch(g){case 100:case 109:case 115:q(e,F,F,r&&h(X(e,F,F,0,0,o,c,E,o,A=[],v),M),o,M,v,c,r?A:M);break;default:q(I,F,F,F,[""],M,0,c,M)}}p=m=y=0,x=w=1,E=I="",v=u;break;case 58:v=1+f(I),y=b;default:if(x<1)if(123==_)--x;else if(125==_&&0==x++&&125==D())continue;switch(I+=i(_),_*x){case 38:w=m>0?1:(I+="\f",-1);break;case 44:c[p++]=(f(I)-1)*w,w=1;break;case 64:45===S()&&(I+=T(k())),g=S(),m=v=f(E=I+=B(C())),_++;break;case 45:45===b&&2==f(I)&&(x=0)}}return a}function X(e,t,n,r,i,a,s,c,f,h,m){for(var v=i-1,g=0===i?a:[""],y=p(g),b=0,x=0,w=0;b0?g[D]+" "+k:l(k,/&\f/g,g[D])))&&(f[w++]=S);return Z(e,t,n,0===i?j:c,f,h,m)}function G(e,t,n){return Z(e,t,n,z,i(b),d(e,2,-2),0)}function K(e,t,n,r){return Z(e,t,n,W,d(e,0,r),d(e,r+1,-1),r)}var Q=function(e,t,n){for(var r=0,o=0;r=o,o=S(),38===r&&12===o&&(t[n]=1),!E(o);)k();return _(e,y)},J=function(e,t){return M(function(e,t){var n=-1,r=44;do{switch(E(r)){case 0:38===r&&12===S()&&(t[n]=1),e[n]+=Q(y-1,t,n);break;case 2:e[n]+=T(r);break;case 4:if(44===r){e[++n]=58===S()?"&\f":"",t[n]=e[n].length;break}default:e[n]+=i(r)}}while(r=k());return e}(A(e),t))},ee=new WeakMap,te=function(e){if("rule"===e.type&&e.parent&&!(e.length<1)){for(var t=e.value,n=e.parent,r=e.column===n.column&&e.line===n.line;"rule"!==n.type;)if(!(n=n.parent))return;if((1!==e.props.length||58===t.charCodeAt(0)||ee.get(n))&&!r){ee.set(e,!0);for(var o=[],i=J(t,o),a=n.props,u=0,l=0;u-1&&!e.return)switch(e.type){case W:e.return=V(e.value,e.length);break;case $:return H([w(e,{value:l(e.value,"@","@"+N)})],r);case j:if(e.length)return function(e,t){return e.map(t).join("")}(e.props,(function(t){switch(function(e,t){return(e=t.exec(e))?e[0]:e}(t,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return H([w(e,{props:[l(t,/:(read-\w+)/,":-moz-$1")]})],r);case"::placeholder":return H([w(e,{props:[l(t,/:(plac\w+)/,":-webkit-input-$1")]}),w(e,{props:[l(t,/:(plac\w+)/,":-moz-$1")]}),w(e,{props:[l(t,/:(plac\w+)/,I+"input-$1")]})],r)}return""}))}}],oe=function(e){var t=e.key;if("css"===t){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,(function(e){-1!==e.getAttribute("data-emotion").indexOf(" ")&&(document.head.appendChild(e),e.setAttribute("data-s",""))}))}var o=e.stylisPlugins||re;var i,a,u={},l=[];i=e.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+t+' "]'),(function(e){for(var t=e.getAttribute("data-emotion").split(" "),n=1;n=4;++r,o-=4)t=1540483477*(65535&(t=255&e.charCodeAt(r)|(255&e.charCodeAt(++r))<<8|(255&e.charCodeAt(++r))<<16|(255&e.charCodeAt(++r))<<24))+(59797*(t>>>16)<<16),n=1540483477*(65535&(t^=t>>>24))+(59797*(t>>>16)<<16)^1540483477*(65535&n)+(59797*(n>>>16)<<16);switch(o){case 3:n^=(255&e.charCodeAt(r+2))<<16;case 2:n^=(255&e.charCodeAt(r+1))<<8;case 1:n=1540483477*(65535&(n^=255&e.charCodeAt(r)))+(59797*(n>>>16)<<16)}return(((n=1540483477*(65535&(n^=n>>>13))+(59797*(n>>>16)<<16))^n>>>15)>>>0).toString(36)},o={animationIterationCount:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1},i=n(3390),a=/[A-Z]|^ms/g,u=/_EMO_([^_]+?)_([^]*?)_EMO_/g,l=function(e){return 45===e.charCodeAt(1)},s=function(e){return null!=e&&"boolean"!==typeof e},c=(0,i.Z)((function(e){return l(e)?e:e.replace(a,"-$&").toLowerCase()})),d=function(e,t){switch(e){case"animation":case"animationName":if("string"===typeof t)return t.replace(u,(function(e,t,n){return p={name:t,styles:n,next:p},t}))}return 1===o[e]||l(e)||"number"!==typeof t||0===t?t:t+"px"};function f(e,t,n){if(null==n)return"";if(void 0!==n.__emotion_styles)return n;switch(typeof n){case"boolean":return"";case"object":if(1===n.anim)return p={name:n.name,styles:n.styles,next:p},n.name;if(void 0!==n.styles){var r=n.next;if(void 0!==r)for(;void 0!==r;)p={name:r.name,styles:r.styles,next:p},r=r.next;return n.styles+";"}return function(e,t,n){var r="";if(Array.isArray(n))for(var o=0;o0&&void 0!==arguments[0]?arguments[0]:"light")?{main:v[200],light:v[50],dark:v[400]}:{main:v[700],light:v[400],dark:v[800]}}(n),C=e.secondary||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:p[200],light:p[50],dark:p[400]}:{main:p[500],light:p[300],dark:p[700]}}(n),_=e.error||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:h[500],light:h[300],dark:h[700]}:{main:h[700],light:h[400],dark:h[800]}}(n),E=e.info||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:g[400],light:g[300],dark:g[700]}:{main:g[700],light:g[500],dark:g[900]}}(n),A=e.success||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:y[400],light:y[300],dark:y[700]}:{main:y[800],light:y[500],dark:y[900]}}(n),M=e.warning||function(){return"dark"===(arguments.length>0&&void 0!==arguments[0]?arguments[0]:"light")?{main:m[400],light:m[300],dark:m[700]}:{main:"#ed6c02",light:m[500],dark:m[900]}}(n);function T(e){return(0,c.mi)(e,Z.text.primary)>=u?Z.text.primary:x.text.primary}var P=function(e){var t=e.color,n=e.name,o=e.mainShade,i=void 0===o?500:o,a=e.lightShade,u=void 0===a?300:a,l=e.darkShade,c=void 0===l?700:l;if(!(t=(0,r.Z)({},t)).main&&t[i]&&(t.main=t[i]),!t.hasOwnProperty("main"))throw new Error((0,s.Z)(11,n?" (".concat(n,")"):"",i));if("string"!==typeof t.main)throw new Error((0,s.Z)(12,n?" (".concat(n,")"):"",JSON.stringify(t.main)));return w(t,"light",u,D),w(t,"dark",c,D),t.contrastText||(t.contrastText=T(t.main)),t},R={dark:Z,light:x};return(0,i.Z)((0,r.Z)({common:d,mode:n,primary:P({color:S,name:"primary"}),secondary:P({color:C,name:"secondary",mainShade:"A400",lightShade:"A200",darkShade:"A700"}),error:P({color:_,name:"error"}),warning:P({color:M,name:"warning"}),info:P({color:E,name:"info"}),success:P({color:A,name:"success"}),grey:f,contrastThreshold:u,getContrastText:T,augmentColor:P,tonalOffset:D},R[n]),k)}var k=["fontFamily","fontSize","fontWeightLight","fontWeightRegular","fontWeightMedium","fontWeightBold","htmlFontSize","allVariants","pxToRem"];var S={textTransform:"uppercase"},C='"Roboto", "Helvetica", "Arial", sans-serif';function _(e,t){var n="function"===typeof t?t(e):t,a=n.fontFamily,u=void 0===a?C:a,l=n.fontSize,s=void 0===l?14:l,c=n.fontWeightLight,d=void 0===c?300:c,f=n.fontWeightRegular,p=void 0===f?400:f,h=n.fontWeightMedium,m=void 0===h?500:h,v=n.fontWeightBold,g=void 0===v?700:v,y=n.htmlFontSize,b=void 0===y?16:y,x=n.allVariants,Z=n.pxToRem,w=(0,o.Z)(n,k);var D=s/14,_=Z||function(e){return"".concat(e/b*D,"rem")},E=function(e,t,n,o,i){return(0,r.Z)({fontFamily:u,fontWeight:e,fontSize:_(t),lineHeight:n},u===C?{letterSpacing:"".concat((a=o/t,Math.round(1e5*a)/1e5),"em")}:{},i,x);var a},A={h1:E(d,96,1.167,-1.5),h2:E(d,60,1.2,-.5),h3:E(p,48,1.167,0),h4:E(p,34,1.235,.25),h5:E(p,24,1.334,0),h6:E(m,20,1.6,.15),subtitle1:E(p,16,1.75,.15),subtitle2:E(m,14,1.57,.1),body1:E(p,16,1.5,.15),body2:E(p,14,1.43,.15),button:E(m,14,1.75,.4,S),caption:E(p,12,1.66,.4),overline:E(p,12,2.66,1,S)};return(0,i.Z)((0,r.Z)({htmlFontSize:b,pxToRem:_,fontFamily:u,fontSize:s,fontWeightLight:d,fontWeightRegular:p,fontWeightMedium:m,fontWeightBold:g},A),w,{clone:!1})}function E(){return["".concat(arguments.length<=0?void 0:arguments[0],"px ").concat(arguments.length<=1?void 0:arguments[1],"px ").concat(arguments.length<=2?void 0:arguments[2],"px ").concat(arguments.length<=3?void 0:arguments[3],"px rgba(0,0,0,").concat(.2,")"),"".concat(arguments.length<=4?void 0:arguments[4],"px ").concat(arguments.length<=5?void 0:arguments[5],"px ").concat(arguments.length<=6?void 0:arguments[6],"px ").concat(arguments.length<=7?void 0:arguments[7],"px rgba(0,0,0,").concat(.14,")"),"".concat(arguments.length<=8?void 0:arguments[8],"px ").concat(arguments.length<=9?void 0:arguments[9],"px ").concat(arguments.length<=10?void 0:arguments[10],"px ").concat(arguments.length<=11?void 0:arguments[11],"px rgba(0,0,0,").concat(.12,")")].join(",")}var A=["none",E(0,2,1,-1,0,1,1,0,0,1,3,0),E(0,3,1,-2,0,2,2,0,0,1,5,0),E(0,3,3,-2,0,3,4,0,0,1,8,0),E(0,2,4,-1,0,4,5,0,0,1,10,0),E(0,3,5,-1,0,5,8,0,0,1,14,0),E(0,3,5,-1,0,6,10,0,0,1,18,0),E(0,4,5,-2,0,7,10,1,0,2,16,1),E(0,5,5,-3,0,8,10,1,0,3,14,2),E(0,5,6,-3,0,9,12,1,0,3,16,2),E(0,6,6,-3,0,10,14,1,0,4,18,3),E(0,6,7,-4,0,11,15,1,0,4,20,3),E(0,7,8,-4,0,12,17,2,0,5,22,4),E(0,7,8,-4,0,13,19,2,0,5,24,4),E(0,7,9,-4,0,14,21,2,0,5,26,4),E(0,8,9,-5,0,15,22,2,0,6,28,5),E(0,8,10,-5,0,16,24,2,0,6,30,5),E(0,8,11,-5,0,17,26,2,0,6,32,5),E(0,9,11,-5,0,18,28,2,0,7,34,6),E(0,9,12,-6,0,19,29,2,0,7,36,6),E(0,10,13,-6,0,20,31,3,0,8,38,7),E(0,10,13,-6,0,21,33,3,0,8,40,7),E(0,10,14,-6,0,22,35,3,0,8,42,7),E(0,11,14,-7,0,23,36,3,0,9,44,8),E(0,11,15,-7,0,24,38,3,0,9,46,8)],M=n(5829),T={mobileStepper:1e3,fab:1050,speedDial:1050,appBar:1100,drawer:1200,modal:1300,snackbar:1400,tooltip:1500},P=["breakpoints","mixins","spacing","palette","transitions","typography","shape"];function R(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.mixins,n=void 0===t?{}:t,u=e.palette,s=void 0===u?{}:u,c=e.transitions,d=void 0===c?{}:c,f=e.typography,p=void 0===f?{}:f,h=(0,o.Z)(e,P),m=D(s),v=(0,a.Z)(e),g=(0,i.Z)(v,{mixins:l(v.breakpoints,v.spacing,n),palette:m,shadows:A.slice(),typography:_(m,p),transitions:(0,M.ZP)(d),zIndex:(0,r.Z)({},T)});g=(0,i.Z)(g,h);for(var y=arguments.length,b=new Array(y>1?y-1:0),x=1;x0&&void 0!==arguments[0]?arguments[0]:["all"],o=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=o.duration,u=void 0===a?n.standard:a,s=o.easing,c=void 0===s?t.easeInOut:s,d=o.delay,f=void 0===d?0:d;(0,r.Z)(o,i);return(Array.isArray(e)?e:[e]).map((function(e){return"".concat(e," ").concat("string"===typeof u?u:l(u)," ").concat(c," ").concat("string"===typeof f?f:l(f))})).join(",")}},e,{easing:t,duration:n})}},2248:function(e,t,n){"use strict";var r=(0,n(7458).Z)();t.Z=r},8564:function(e,t,n){"use strict";n.d(t,{ZP:function(){return _},FO:function(){return k},Dz:function(){return S}});var r=n(3433),o=n(9439),i=n(7462),a=n(3366),u=n(297),l=n(9456),s=n(114),c=["variant"];function d(e){return 0===e.length}function f(e){var t=e.variant,n=(0,a.Z)(e,c),r=t||"";return Object.keys(n).sort().forEach((function(t){r+="color"===t?d(r)?e[t]:(0,s.Z)(e[t]):"".concat(d(r)?t:(0,s.Z)(t)).concat((0,s.Z)(e[t].toString()))})),r}var p=n(3649),h=["name","slot","skipVariantsResolver","skipSx","overridesResolver"],m=["theme"],v=["theme"];function g(e){return 0===Object.keys(e).length}var y=function(e,t){return t.components&&t.components[e]&&t.components[e].styleOverrides?t.components[e].styleOverrides:null},b=function(e,t){var n=[];t&&t.components&&t.components[e]&&t.components[e].variants&&(n=t.components[e].variants);var r={};return n.forEach((function(e){var t=f(e.props);r[t]=e.style})),r},x=function(e,t,n,r){var o,i,a=e.ownerState,u=void 0===a?{}:a,l=[],s=null==n||null==(o=n.components)||null==(i=o[r])?void 0:i.variants;return s&&s.forEach((function(n){var r=!0;Object.keys(n.props).forEach((function(t){u[t]!==n.props[t]&&e[t]!==n.props[t]&&(r=!1)})),r&&l.push(t[f(n.props)])})),l};function Z(e){return"ownerState"!==e&&"theme"!==e&&"sx"!==e&&"as"!==e}var w=(0,l.Z)();var D=n(2248),k=function(e){return Z(e)&&"classes"!==e},S=Z,C=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.defaultTheme,n=void 0===t?w:t,l=e.rootShouldForwardProp,s=void 0===l?Z:l,c=e.slotShouldForwardProp,d=void 0===c?Z:c,f=e.styleFunctionSx,D=void 0===f?p.Z:f;return function(e){var t,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},c=l.name,f=l.slot,p=l.skipVariantsResolver,w=l.skipSx,k=l.overridesResolver,S=(0,a.Z)(l,h),C=void 0!==p?p:f&&"Root"!==f||!1,_=w||!1;var E=Z;"Root"===f?E=s:f&&(E=d);var A=(0,u.ZP)(e,(0,i.Z)({shouldForwardProp:E,label:t},S)),M=function(e){for(var t=arguments.length,u=new Array(t>1?t-1:0),l=1;l0){var p=new Array(f).fill("");(d=[].concat((0,r.Z)(e),(0,r.Z)(p))).raw=[].concat((0,r.Z)(e.raw),(0,r.Z)(p))}else"function"===typeof e&&e.__emotion_real!==e&&(d=function(t){var r=t.theme,o=(0,a.Z)(t,v);return e((0,i.Z)({theme:g(r)?n:r},o))});var h=A.apply(void 0,[d].concat((0,r.Z)(s)));return h};return A.withConfig&&(M.withConfig=A.withConfig),M}}({defaultTheme:D.Z,rootShouldForwardProp:k}),_=C},5469:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(4290),o=n(6728);var i=n(2248);function a(e){return function(e){var t=e.props,n=e.name,i=e.defaultTheme,a=(0,o.Z)(i);return(0,r.Z)({theme:a,name:n,props:t})}({props:e.props,name:e.name,defaultTheme:i.Z})}},1615:function(e,t,n){"use strict";var r=n(114);t.Z=r.Z},4750:function(e,t,n){"use strict";n.d(t,{Z:function(){return u}});var r=n(7462),o=n(4206),i=n(210),a=n(3138);function u(e,t){var n=function(n,o){return(0,a.tZ)(i.Z,(0,r.Z)({"data-testid":"".concat(t,"Icon"),ref:o},n,{children:e}))};return n.muiName=i.Z.muiName,o.memo(o.forwardRef(n))}},8706:function(e,t,n){"use strict";var r=n(4312);t.Z=r.Z},6415:function(e,t,n){"use strict";n.r(t),n.d(t,{capitalize:function(){return o.Z},createChainedFunction:function(){return i},createSvgIcon:function(){return a.Z},debounce:function(){return u.Z},deprecatedPropType:function(){return l},isMuiElement:function(){return s.Z},ownerDocument:function(){return c.Z},ownerWindow:function(){return d.Z},requirePropFactory:function(){return f},setRef:function(){return p},unstable_ClassNameGenerator:function(){return Z},unstable_useEnhancedEffect:function(){return h.Z},unstable_useId:function(){return m.Z},unsupportedProp:function(){return v},useControlled:function(){return g.Z},useEventCallback:function(){return y.Z},useForkRef:function(){return b.Z},useIsFocusVisible:function(){return x.Z}});var r=n(4496),o=n(1615),i=n(4246).Z,a=n(4750),u=n(8706);var l=function(e,t){return function(){return null}},s=n(7816),c=n(6106),d=n(3533);n(7462);var f=function(e,t){return function(){return null}},p=n(9265).Z,h=n(4993),m=n(7677);var v=function(e,t,n,r,o){return null},g=n(522),y=n(3236),b=n(6983),x=n(9127),Z={configure:function(e){console.warn(["MUI: `ClassNameGenerator` import from `@mui/material/utils` is outdated and might cause unexpected issues.","","You should use `import { unstable_ClassNameGenerator } from '@mui/material/className'` instead","","The detail of the issue: https://github.com/mui/material-ui/issues/30011#issuecomment-1024993401","","The updated documentation: https://mui.com/guides/classname-generator/"].join("\n")),r.Z.configure(e)}}},7816:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(4206);var o=function(e,t){return r.isValidElement(e)&&-1!==t.indexOf(e.type.muiName)}},6106:function(e,t,n){"use strict";var r=n(9081);t.Z=r.Z},3533:function(e,t,n){"use strict";var r=n(3282);t.Z=r.Z},522:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(9439),o=n(4206);var i=function(e){var t=e.controlled,n=e.default,i=(e.name,e.state,o.useRef(void 0!==t).current),a=o.useState(n),u=(0,r.Z)(a,2),l=u[0],s=u[1];return[i?t:l,o.useCallback((function(e){i||s(e)}),[])]}},4993:function(e,t,n){"use strict";var r=n(2678);t.Z=r.Z},3236:function(e,t,n){"use strict";var r=n(2780);t.Z=r.Z},6983:function(e,t,n){"use strict";var r=n(7472);t.Z=r.Z},7677:function(e,t,n){"use strict";var r=n(3362);t.Z=r.Z},9127:function(e,t,n){"use strict";n.d(t,{Z:function(){return f}});var r,o=n(4206),i=!0,a=!1,u={text:!0,search:!0,url:!0,tel:!0,email:!0,password:!0,number:!0,date:!0,month:!0,week:!0,time:!0,datetime:!0,"datetime-local":!0};function l(e){e.metaKey||e.altKey||e.ctrlKey||(i=!0)}function s(){i=!1}function c(){"hidden"===this.visibilityState&&a&&(i=!0)}function d(e){var t=e.target;try{return t.matches(":focus-visible")}catch(n){}return i||function(e){var t=e.type,n=e.tagName;return!("INPUT"!==n||!u[t]||e.readOnly)||"TEXTAREA"===n&&!e.readOnly||!!e.isContentEditable}(t)}var f=function(){var e=o.useCallback((function(e){var t;null!=e&&((t=e.ownerDocument).addEventListener("keydown",l,!0),t.addEventListener("mousedown",s,!0),t.addEventListener("pointerdown",s,!0),t.addEventListener("touchstart",s,!0),t.addEventListener("visibilitychange",c,!0))}),[]),t=o.useRef(!1);return{isFocusVisibleRef:t,onFocus:function(e){return!!d(e)&&(t.current=!0,!0)},onBlur:function(){return!!t.current&&(a=!0,window.clearTimeout(r),r=window.setTimeout((function(){a=!1}),100),t.current=!1,!0)},ref:e}}},5693:function(e,t,n){"use strict";var r=n(4206).createContext(null);t.Z=r},201:function(e,t,n){"use strict";n.d(t,{Z:function(){return i}});var r=n(4206),o=n(5693);function i(){return r.useContext(o.Z)}},297:function(e,t,n){"use strict";n.d(t,{ZP:function(){return x}});var r=n(4206),o=n(7462),i=n(3390),a=/^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/,u=(0,i.Z)((function(e){return a.test(e)||111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)<91})),l=n(6173),s=n(4911),c=n(4544),d=u,f=function(e){return"theme"!==e},p=function(e){return"string"===typeof e&&e.charCodeAt(0)>96?d:f},h=function(e,t,n){var r;if(t){var o=t.shouldForwardProp;r=e.__emotion_forwardProp&&o?function(t){return e.__emotion_forwardProp(t)&&o(t)}:o}return"function"!==typeof r&&n&&(r=e.__emotion_forwardProp),r},m=r.useInsertionEffect?r.useInsertionEffect:function(e){e()};var v=function(e){var t=e.cache,n=e.serialized,r=e.isStringTag;(0,s.hC)(t,n,r);m((function(){return(0,s.My)(t,n,r)}));return null},g=function e(t,n){var i,a,u=t.__emotion_real===t,d=u&&t.__emotion_base||t;void 0!==n&&(i=n.label,a=n.target);var f=h(t,n,u),m=f||p(d),g=!m("as");return function(){var y=arguments,b=u&&void 0!==t.__emotion_styles?t.__emotion_styles.slice(0):[];if(void 0!==i&&b.push("label:"+i+";"),null==y[0]||void 0===y[0].raw)b.push.apply(b,y);else{0,b.push(y[0][0]);for(var x=y.length,Z=1;Z0&&void 0!==arguments[0]?arguments[0]:{},n=null==t||null==(e=t.keys)?void 0:e.reduce((function(e,n){return e[t.up(n)]={},e}),{});return n||{}}function u(e,t){return e.reduce((function(e,t){var n=e[t];return(!n||0===Object.keys(n).length)&&delete e[t],e}),t)}function l(e){var t,n=e.values,r=e.breakpoints,o=e.base||function(e,t){if("object"!==typeof e)return{};var n={},r=Object.keys(t);return Array.isArray(e)?r.forEach((function(t,r){r1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return Math.min(Math.max(t,e),n)}function i(e){if(e.type)return e;if("#"===e.charAt(0))return i(function(e){e=e.slice(1);var t=new RegExp(".{1,".concat(e.length>=6?2:1,"}"),"g"),n=e.match(t);return n&&1===n[0].length&&(n=n.map((function(e){return e+e}))),n?"rgb".concat(4===n.length?"a":"","(").concat(n.map((function(e,t){return t<3?parseInt(e,16):Math.round(parseInt(e,16)/255*1e3)/1e3})).join(", "),")"):""}(e));var t=e.indexOf("("),n=e.substring(0,t);if(-1===["rgb","rgba","hsl","hsla","color"].indexOf(n))throw new Error((0,r.Z)(9,e));var o,a=e.substring(t+1,e.length-1);if("color"===n){if(o=(a=a.split(" ")).shift(),4===a.length&&"/"===a[3].charAt(0)&&(a[3]=a[3].slice(1)),-1===["srgb","display-p3","a98-rgb","prophoto-rgb","rec-2020"].indexOf(o))throw new Error((0,r.Z)(10,o))}else a=a.split(",");return{type:n,values:a=a.map((function(e){return parseFloat(e)})),colorSpace:o}}function a(e){var t=e.type,n=e.colorSpace,r=e.values;return-1!==t.indexOf("rgb")?r=r.map((function(e,t){return t<3?parseInt(e,10):e})):-1!==t.indexOf("hsl")&&(r[1]="".concat(r[1],"%"),r[2]="".concat(r[2],"%")),r=-1!==t.indexOf("color")?"".concat(n," ").concat(r.join(" ")):"".concat(r.join(", ")),"".concat(t,"(").concat(r,")")}function u(e){var t="hsl"===(e=i(e)).type?i(function(e){var t=(e=i(e)).values,n=t[0],r=t[1]/100,o=t[2]/100,u=r*Math.min(o,1-o),l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(e+n/30)%12;return o-u*Math.max(Math.min(t-3,9-t,1),-1)},s="rgb",c=[Math.round(255*l(0)),Math.round(255*l(8)),Math.round(255*l(4))];return"hsla"===e.type&&(s+="a",c.push(t[3])),a({type:s,values:c})}(e)).values:e.values;return t=t.map((function(t){return"color"!==e.type&&(t/=255),t<=.03928?t/12.92:Math.pow((t+.055)/1.055,2.4)})),Number((.2126*t[0]+.7152*t[1]+.0722*t[2]).toFixed(3))}function l(e,t){var n=u(e),r=u(t);return(Math.max(n,r)+.05)/(Math.min(n,r)+.05)}function s(e,t){return e=i(e),t=o(t),"rgb"!==e.type&&"hsl"!==e.type||(e.type+="a"),"color"===e.type?e.values[3]="/".concat(t):e.values[3]=t,a(e)}function c(e,t){if(e=i(e),t=o(t),-1!==e.type.indexOf("hsl"))e.values[2]*=1-t;else if(-1!==e.type.indexOf("rgb")||-1!==e.type.indexOf("color"))for(var n=0;n<3;n+=1)e.values[n]*=1-t;return a(e)}function d(e,t){if(e=i(e),t=o(t),-1!==e.type.indexOf("hsl"))e.values[2]+=(100-e.values[2])*t;else if(-1!==e.type.indexOf("rgb"))for(var n=0;n<3;n+=1)e.values[n]+=(255-e.values[n])*t;else if(-1!==e.type.indexOf("color"))for(var r=0;r<3;r+=1)e.values[r]+=(1-e.values[r])*t;return a(e)}function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:.15;return u(e)>.5?c(e,t):d(e,t)}},9456:function(e,t,n){"use strict";n.d(t,{Z:function(){return p}});var r=n(7462),o=n(3366),i=n(3019),a=n(4942),u=["values","unit","step"];function l(e){var t=e.values,n=void 0===t?{xs:0,sm:600,md:900,lg:1200,xl:1536}:t,i=e.unit,l=void 0===i?"px":i,s=e.step,c=void 0===s?5:s,d=(0,o.Z)(e,u),f=function(e){var t=Object.keys(e).map((function(t){return{key:t,val:e[t]}}))||[];return t.sort((function(e,t){return e.val-t.val})),t.reduce((function(e,t){return(0,r.Z)({},e,(0,a.Z)({},t.key,t.val))}),{})}(n),p=Object.keys(f);function h(e){var t="number"===typeof n[e]?n[e]:e;return"@media (min-width:".concat(t).concat(l,")")}function m(e){var t="number"===typeof n[e]?n[e]:e;return"@media (max-width:".concat(t-c/100).concat(l,")")}function v(e,t){var r=p.indexOf(t);return"@media (min-width:".concat("number"===typeof n[e]?n[e]:e).concat(l,") and ")+"(max-width:".concat((-1!==r&&"number"===typeof n[p[r]]?n[p[r]]:t)-c/100).concat(l,")")}return(0,r.Z)({keys:p,values:f,up:h,down:m,between:v,only:function(e){return p.indexOf(e)+10&&void 0!==arguments[0]?arguments[0]:8;if(e.mui)return e;var t=(0,c.hB)({spacing:e}),n=function(){for(var e=arguments.length,n=new Array(e),r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=e.breakpoints,n=void 0===t?{}:t,a=e.palette,u=void 0===a?{}:a,c=e.spacing,p=e.shape,h=void 0===p?{}:p,m=(0,o.Z)(e,f),v=l(n),g=d(c),y=(0,i.Z)({breakpoints:v,direction:"ltr",components:{},palette:(0,r.Z)({mode:"light"},u),spacing:g,shape:(0,r.Z)({},s,h)},m),b=arguments.length,x=new Array(b>1?b-1:0),Z=1;Z2){if(!s[e])return[e];e=s[e]}var t=e.split(""),n=(0,r.Z)(t,2),o=n[0],i=n[1],a=u[o],c=l[i]||"";return Array.isArray(c)?c.map((function(e){return a+e})):[a+c]})),d=["m","mt","mr","mb","ml","mx","my","margin","marginTop","marginRight","marginBottom","marginLeft","marginX","marginY","marginInline","marginInlineStart","marginInlineEnd","marginBlock","marginBlockStart","marginBlockEnd"],f=["p","pt","pr","pb","pl","px","py","padding","paddingTop","paddingRight","paddingBottom","paddingLeft","paddingX","paddingY","paddingInline","paddingInlineStart","paddingInlineEnd","paddingBlock","paddingBlockStart","paddingBlockEnd"],p=[].concat(d,f);function h(e,t,n,r){var o,a=null!=(o=(0,i.D)(e,t))?o:n;return"number"===typeof a?function(e){return"string"===typeof e?e:a*e}:Array.isArray(a)?function(e){return"string"===typeof e?e:a[e]}:"function"===typeof a?a:function(){}}function m(e){return h(e,"spacing",8)}function v(e,t){if("string"===typeof t||null==t)return t;var n=e(Math.abs(t));return t>=0?n:"number"===typeof n?-n:"-".concat(n)}function g(e,t,n,r){if(-1===t.indexOf(n))return null;var i=function(e,t){return function(n){return e.reduce((function(e,r){return e[r]=v(t,n),e}),{})}}(c(n),r),a=e[n];return(0,o.k9)(e,a,i)}function y(e,t){var n=m(e.theme);return Object.keys(e).map((function(r){return g(e,t,r,n)})).reduce(a.Z,{})}function b(e){return y(e,d)}function x(e){return y(e,f)}function Z(e){return y(e,p)}b.propTypes={},b.filterProps=d,x.propTypes={},x.filterProps=f,Z.propTypes={},Z.filterProps=p;var w=Z},6428:function(e,t,n){"use strict";n.d(t,{D:function(){return a}});var r=n(4942),o=n(114),i=n(4929);function a(e,t){if(!t||"string"!==typeof t)return null;if(e&&e.vars){var n="vars.".concat(t).split(".").reduce((function(e,t){return e&&e[t]?e[t]:null}),e);if(null!=n)return n}return t.split(".").reduce((function(e,t){return e&&null!=e[t]?e[t]:null}),e)}function u(e,t,n){var r,o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:n;return r="function"===typeof e?e(n):Array.isArray(e)?e[n]||o:a(e,n)||o,t&&(r=t(r)),r}t.Z=function(e){var t=e.prop,n=e.cssProperty,l=void 0===n?e.prop:n,s=e.themeKey,c=e.transform,d=function(e){if(null==e[t])return null;var n=e[t],d=a(e.theme,s)||{};return(0,i.k9)(e,n,(function(e){var n=u(d,c,e);return e===n&&"string"===typeof e&&(n=u(d,c,"".concat(t).concat("default"===e?"":(0,o.Z)(e)),e)),!1===l?n:(0,r.Z)({},l,n)}))};return d.propTypes={},d.filterProps=[t],d}},3649:function(e,t,n){"use strict";var r=n(4942),o=n(7330),i=n(9716),a=n(4929);function u(){for(var e=arguments.length,t=new Array(e),n=0;n0&&void 0!==arguments[0]?arguments[0]:i.G$,t=Object.keys(e).reduce((function(t,n){return e[n].filterProps.forEach((function(r){t[r]=e[n]})),t}),{});function n(e,n,o){var i,a=(i={},(0,r.Z)(i,e,n),(0,r.Z)(i,"theme",o),i),u=t[e];return u?u(a):(0,r.Z)({},e,n)}function s(e){var i=e||{},c=i.sx,d=i.theme,f=void 0===d?{}:d;if(!c)return null;function p(e){var i=e;if("function"===typeof e)i=e(f);else if("object"!==typeof e)return e;if(!i)return null;var c=(0,a.W8)(f.breakpoints),d=Object.keys(c),p=c;return Object.keys(i).forEach((function(e){var c=l(i[e],f);if(null!==c&&void 0!==c)if("object"===typeof c)if(t[e])p=(0,o.Z)(p,n(e,c,f));else{var d=(0,a.k9)({theme:f},c,(function(t){return(0,r.Z)({},e,t)}));u(d,c)?p[e]=s({sx:c,theme:f}):p=(0,o.Z)(p,d)}else p=(0,o.Z)(p,n(e,c,f))})),(0,a.L7)(d,p)}return Array.isArray(c)?c.map(p):p(c)}return s}();s.filterProps=["sx"],t.Z=s},6728:function(e,t,n){"use strict";var r=n(9456),o=n(4976),i=(0,r.Z)();t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:i;return(0,o.Z)(e)}},4290:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(9023);function o(e){var t=e.theme,n=e.name,o=e.props;return t&&t.components&&t.components[n]&&t.components[n].defaultProps?(0,r.Z)(t.components[n].defaultProps,o):o}},4976:function(e,t,n){"use strict";var r=n(201);function o(e){return 0===Object.keys(e).length}t.Z=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:null,t=(0,r.Z)();return!t||o(t)?e:t}},114:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(7219);function o(e){if("string"!==typeof e)throw new Error((0,r.Z)(7));return e.charAt(0).toUpperCase()+e.slice(1)}},4246:function(e,t,n){"use strict";function r(){for(var e=arguments.length,t=new Array(e),n=0;n1&&void 0!==arguments[1]?arguments[1]:166;function r(){for(var r=this,o=arguments.length,i=new Array(o),a=0;a2&&void 0!==arguments[2]?arguments[2]:{clone:!0},a=n.clone?(0,r.Z)({},e):e;return o(e)&&o(t)&&Object.keys(t).forEach((function(r){"__proto__"!==r&&(o(t[r])&&r in e&&o(e[r])?a[r]=i(e[r],t[r],n):a[r]=t[r])})),a}},7219:function(e,t,n){"use strict";function r(e){for(var t="https://mui.com/production-error/?code="+e,n=1;n-1?o(n):n}},9962:function(e,t,n){"use strict";var r=n(1199),o=n(8476),i=o("%Function.prototype.apply%"),a=o("%Function.prototype.call%"),u=o("%Reflect.apply%",!0)||r.call(a,i),l=o("%Object.getOwnPropertyDescriptor%",!0),s=o("%Object.defineProperty%",!0),c=o("%Math.max%");if(s)try{s({},"a",{value:1})}catch(f){s=null}e.exports=function(e){var t=u(r,a,arguments);if(l&&s){var n=l(t,"length");n.configurable&&s(t,"length",{value:1+c(0,e.length-(arguments.length-1))})}return t};var d=function(){return u(r,i,arguments)};s?s(e.exports,"apply",{value:d}):e.exports.apply=d},3061:function(e,t,n){"use strict";function r(e){var t,n,o="";if("string"===typeof e||"number"===typeof e)o+=e;else if("object"===typeof e)if(Array.isArray(e))for(t=0;t=t?e:""+Array(t+1-r.length).join(n)+e},y={s:g,z:function(e){var t=-e.utcOffset(),n=Math.abs(t),r=Math.floor(n/60),o=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(o,2,"0")},m:function e(t,n){if(t.date()1)return e(a[0])}else{var u=t.name;x[u]=t,o=u}return!r&&o&&(b=o),o||!r&&b},D=function(e,t){if(Z(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new S(n)},k=y;k.l=w,k.i=Z,k.w=function(e,t){return D(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var S=function(){function v(e){this.$L=w(e.locale,null,!0),this.parse(e)}var g=v.prototype;return g.parse=function(e){this.$d=function(e){var t=e.date,n=e.utc;if(null===t)return new Date(NaN);if(k.u(t))return new Date;if(t instanceof Date)return new Date(t);if("string"==typeof t&&!/Z$/i.test(t)){var r=t.match(h);if(r){var o=r[2]-1||0,i=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)):new Date(r[1],o,r[3]||1,r[4]||0,r[5]||0,r[6]||0,i)}}return new Date(t)}(e),this.$x=e.x||{},this.init()},g.init=function(){var e=this.$d;this.$y=e.getFullYear(),this.$M=e.getMonth(),this.$D=e.getDate(),this.$W=e.getDay(),this.$H=e.getHours(),this.$m=e.getMinutes(),this.$s=e.getSeconds(),this.$ms=e.getMilliseconds()},g.$utils=function(){return k},g.isValid=function(){return!(this.$d.toString()===p)},g.isSame=function(e,t){var n=D(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return D(e)68?1900:2e3)},u=function(e){return function(t){this[e]=+t}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(e){(this.zone||(this.zone={})).offset=function(e){if(!e)return 0;if("Z"===e)return 0;var t=e.match(/([+-]|\d\d)/g),n=60*t[1]+(+t[2]||0);return 0===n?0:"+"===t[0]?-n:n}(e)}],s=function(e){var t=i[e];return t&&(t.indexOf?t:t.s.concat(t.f))},c=function(e,t){var n,r=i.meridiem;if(r){for(var o=1;o<=24;o+=1)if(e.indexOf(r(o,0,t))>-1){n=o>12;break}}else n=e===(t?"pm":"PM");return n},d={A:[o,function(e){this.afternoon=c(e,!1)}],a:[o,function(e){this.afternoon=c(e,!0)}],S:[/\d/,function(e){this.milliseconds=100*+e}],SS:[n,function(e){this.milliseconds=10*+e}],SSS:[/\d{3}/,function(e){this.milliseconds=+e}],s:[r,u("seconds")],ss:[r,u("seconds")],m:[r,u("minutes")],mm:[r,u("minutes")],H:[r,u("hours")],h:[r,u("hours")],HH:[r,u("hours")],hh:[r,u("hours")],D:[r,u("day")],DD:[n,u("day")],Do:[o,function(e){var t=i.ordinal,n=e.match(/\d+/);if(this.day=n[0],t)for(var r=1;r<=31;r+=1)t(r).replace(/\[|\]/g,"")===e&&(this.day=r)}],M:[r,u("month")],MM:[n,u("month")],MMM:[o,function(e){var t=s("months"),n=(s("monthsShort")||t.map((function(e){return e.slice(0,3)}))).indexOf(e)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[o,function(e){var t=s("months").indexOf(e)+1;if(t<1)throw new Error;this.month=t%12||t}],Y:[/[+-]?\d+/,u("year")],YY:[n,function(e){this.year=a(e)}],YYYY:[/\d{4}/,u("year")],Z:l,ZZ:l};function f(n){var r,o;r=n,o=i&&i.formats;for(var a=(n=r.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,n,r){var i=r&&r.toUpperCase();return n||o[r]||e[r]||o[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))).match(t),u=a.length,l=0;l-1)return new Date(("X"===t?1e3:1)*e);var r=f(t)(e),o=r.year,i=r.month,a=r.day,u=r.hours,l=r.minutes,s=r.seconds,c=r.milliseconds,d=r.zone,p=new Date,h=a||(o||i?1:p.getDate()),m=o||p.getFullYear(),v=0;o&&!i||(v=i>0?i-1:p.getMonth());var g=u||0,y=l||0,b=s||0,x=c||0;return d?new Date(Date.UTC(m,v,h,g,y,b,x+60*d.offset*1e3)):n?new Date(Date.UTC(m,v,h,g,y,b,x)):new Date(m,v,h,g,y,b,x)}catch(e){return new Date("")}}(t,u,r),this.init(),d&&!0!==d&&(this.$L=this.locale(d).$L),c&&t!=this.format(u)&&(this.$d=new Date("")),i={}}else if(u instanceof Array)for(var p=u.length,h=1;h<=p;h+=1){a[1]=u[h-1];var m=n.apply(this,a);if(m.isValid()){this.$d=m.$d,this.$L=m.$L,this.init();break}h===p&&(this.$d=new Date(""))}else o.call(this,e)}}}()},6446:function(e){e.exports=function(){"use strict";var e,t,n=1e3,r=6e4,o=36e5,i=864e5,a=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,u=31536e6,l=2592e6,s=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,c={years:u,months:l,days:i,hours:o,minutes:r,seconds:n,milliseconds:1,weeks:6048e5},d=function(e){return e instanceof y},f=function(e,t,n){return new y(e,n,t.$l)},p=function(e){return t.p(e)+"s"},h=function(e){return e<0},m=function(e){return h(e)?Math.ceil(e):Math.floor(e)},v=function(e){return Math.abs(e)},g=function(e,t){return e?h(e)?{negative:!0,format:""+v(e)+t}:{negative:!1,format:""+e+t}:{negative:!1,format:""}},y=function(){function h(e,t,n){var r=this;if(this.$d={},this.$l=n,void 0===e&&(this.$ms=0,this.parseFromMilliseconds()),t)return f(e*c[p(t)],this);if("number"==typeof e)return this.$ms=e,this.parseFromMilliseconds(),this;if("object"==typeof e)return Object.keys(e).forEach((function(t){r.$d[p(t)]=e[t]})),this.calMilliseconds(),this;if("string"==typeof e){var o=e.match(s);if(o){var i=o.slice(2).map((function(e){return null!=e?Number(e):0}));return this.$d.years=i[0],this.$d.months=i[1],this.$d.weeks=i[2],this.$d.days=i[3],this.$d.hours=i[4],this.$d.minutes=i[5],this.$d.seconds=i[6],this.calMilliseconds(),this}}return this}var v=h.prototype;return v.calMilliseconds=function(){var e=this;this.$ms=Object.keys(this.$d).reduce((function(t,n){return t+(e.$d[n]||0)*c[n]}),0)},v.parseFromMilliseconds=function(){var e=this.$ms;this.$d.years=m(e/u),e%=u,this.$d.months=m(e/l),e%=l,this.$d.days=m(e/i),e%=i,this.$d.hours=m(e/o),e%=o,this.$d.minutes=m(e/r),e%=r,this.$d.seconds=m(e/n),e%=n,this.$d.milliseconds=e},v.toISOString=function(){var e=g(this.$d.years,"Y"),t=g(this.$d.months,"M"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var r=g(n,"D"),o=g(this.$d.hours,"H"),i=g(this.$d.minutes,"M"),a=this.$d.seconds||0;this.$d.milliseconds&&(a+=this.$d.milliseconds/1e3);var u=g(a,"S"),l=e.negative||t.negative||r.negative||o.negative||i.negative||u.negative,s=o.format||i.format||u.format?"T":"",c=(l?"-":"")+"P"+e.format+t.format+r.format+s+o.format+i.format+u.format;return"P"===c||"-P"===c?"P0D":c},v.toJSON=function(){return this.toISOString()},v.format=function(e){var n=e||"YYYY-MM-DDTHH:mm:ss",r={Y:this.$d.years,YY:t.s(this.$d.years,2,"0"),YYYY:t.s(this.$d.years,4,"0"),M:this.$d.months,MM:t.s(this.$d.months,2,"0"),D:this.$d.days,DD:t.s(this.$d.days,2,"0"),H:this.$d.hours,HH:t.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:t.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:t.s(this.$d.seconds,2,"0"),SSS:t.s(this.$d.milliseconds,3,"0")};return n.replace(a,(function(e,t){return t||String(r[e])}))},v.as=function(e){return this.$ms/c[p(e)]},v.get=function(e){var t=this.$ms,n=p(e);return"milliseconds"===n?t%=1e3:t="weeks"===n?m(t/c[n]):this.$d[n],0===t?0:t},v.add=function(e,t,n){var r;return r=t?e*c[p(t)]:d(e)?e.$ms:f(e,this).$ms,f(this.$ms+r*(n?-1:1),this)},v.subtract=function(e,t){return this.add(e,t,!0)},v.locale=function(e){var t=this.clone();return t.$l=e,t},v.clone=function(){return f(this.$ms,this)},v.humanize=function(t){return e().add(this.$ms,"ms").locale(this.$l).fromNow(!t)},v.milliseconds=function(){return this.get("milliseconds")},v.asMilliseconds=function(){return this.as("milliseconds")},v.seconds=function(){return this.get("seconds")},v.asSeconds=function(){return this.as("seconds")},v.minutes=function(){return this.get("minutes")},v.asMinutes=function(){return this.as("minutes")},v.hours=function(){return this.get("hours")},v.asHours=function(){return this.as("hours")},v.days=function(){return this.get("days")},v.asDays=function(){return this.as("days")},v.weeks=function(){return this.get("weeks")},v.asWeeks=function(){return this.as("weeks")},v.months=function(){return this.get("months")},v.asMonths=function(){return this.as("months")},v.years=function(){return this.get("years")},v.asYears=function(){return this.as("years")},h}();return function(n,r,o){e=o,t=o().$utils(),o.duration=function(e,t){var n=o.locale();return f(e,{$l:n},t)},o.isDuration=d;var i=r.prototype.add,a=r.prototype.subtract;r.prototype.add=function(e,t){return d(e)&&(e=e.asMilliseconds()),i.bind(this)(e,t)},r.prototype.subtract=function(e,t){return d(e)&&(e=e.asMilliseconds()),a.bind(this)(e,t)}}}()},8743:function(e){e.exports=function(){"use strict";return function(e,t,n){t.prototype.isBetween=function(e,t,r,o){var i=n(e),a=n(t),u="("===(o=o||"()")[0],l=")"===o[1];return(u?this.isAfter(i,r):!this.isBefore(i,r))&&(l?this.isBefore(a,r):!this.isAfter(a,r))||(u?this.isBefore(i,r):!this.isAfter(i,r))&&(l?this.isAfter(a,r):!this.isBefore(a,r))}}}()},3825:function(e){e.exports=function(){"use strict";var e={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};return function(t,n,r){var o=n.prototype,i=o.format;r.en.formats=e,o.format=function(t){void 0===t&&(t="YYYY-MM-DDTHH:mm:ssZ");var n=this.$locale().formats,r=function(t,n){return t.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,(function(t,r,o){var i=o&&o.toUpperCase();return r||n[o]||e[o]||n[i].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,(function(e,t,n){return t||n.slice(1)}))}))}(t,void 0===n?{}:n);return i.call(this,r)}}}()},1635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,o,i){var a=o.prototype;i.utc=function(e){return new o({date:e,utc:!0,args:arguments})},a.utc=function(t){var n=i(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},a.local=function(){return i(this.toDate(),{locale:this.$L,utc:!1})};var u=a.parse;a.parse=function(e){e.utc&&(this.$u=!0),this.$utils().u(e.$offset)||(this.$offset=e.$offset),u.call(this,e)};var l=a.init;a.init=function(){if(this.$u){var e=this.$d;this.$y=e.getUTCFullYear(),this.$M=e.getUTCMonth(),this.$D=e.getUTCDate(),this.$W=e.getUTCDay(),this.$H=e.getUTCHours(),this.$m=e.getUTCMinutes(),this.$s=e.getUTCSeconds(),this.$ms=e.getUTCMilliseconds()}else l.call(this)};var s=a.utcOffset;a.utcOffset=function(r,o){var i=this.$utils().u;if(i(r))return this.$u?0:i(this.$offset)?s.call(this):this.$offset;if("string"==typeof r&&(r=function(e){void 0===e&&(e="");var r=e.match(t);if(!r)return null;var o=(""+r[0]).match(n)||["-",0,0],i=o[0],a=60*+o[1]+ +o[2];return 0===a?0:"+"===i?a:-a}(r),null===r))return this;var a=Math.abs(r)<=16?60*r:r,u=this;if(o)return u.$offset=a,u.$u=0===r,u;if(0!==r){var l=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(u=this.local().add(a+l,e)).$offset=a,u.$x.$localOffset=l}else u=this.utc();return u};var c=a.format;a.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return c.call(this,t)},a.valueOf=function(){var e=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||(new Date).getTimezoneOffset());return this.$d.valueOf()-6e4*e},a.isUTC=function(){return!!this.$u},a.toISOString=function(){return this.toDate().toISOString()},a.toString=function(){return this.toDate().toUTCString()};var d=a.toDate;a.toDate=function(e){return"s"===e&&this.$offset?i(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():d.call(this)};var f=a.diff;a.diff=function(e,t,n){if(e&&this.$u===e.$u)return f.call(this,e,t,n);var r=this.local(),o=i(e).local();return f.call(r,o,t,n)}}}()},2781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,o="[object Function]";e.exports=function(e){var i=this;if("function"!==typeof i||r.call(i)!==o)throw new TypeError(t+i);for(var a,u=n.call(arguments,1),l=function(){if(this instanceof a){var t=i.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return i.apply(e,u.concat(n.call(arguments)))},s=Math.max(0,i.length-u.length),c=[],d=0;d1&&"boolean"!==typeof t)throw new a('"allowMissing" argument must be a boolean');var n=C(e),r=n.length>0?n[0]:"",i=_("%"+r+"%",t),u=i.name,s=i.value,c=!1,d=i.alias;d&&(r=d[0],Z(n,x([0,1],d)));for(var f=1,p=!0;f=n.length){var y=l(s,h);s=(p=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:s[h]}else p=b(s,h),s=s[h];p&&!c&&(m[u]=s)}}return s}},5520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,o=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&o())))}},541:function(e){"use strict";e.exports=function(){if("function"!==typeof Symbol||"function"!==typeof Object.getOwnPropertySymbols)return!1;if("symbol"===typeof Symbol.iterator)return!0;var e={},t=Symbol("test"),n=Object(t);if("string"===typeof t)return!1;if("[object Symbol]"!==Object.prototype.toString.call(t))return!1;if("[object Symbol]"!==Object.prototype.toString.call(n))return!1;for(t in e[t]=42,e)return!1;if("function"===typeof Object.keys&&0!==Object.keys(e).length)return!1;if("function"===typeof Object.getOwnPropertyNames&&0!==Object.getOwnPropertyNames(e).length)return!1;var r=Object.getOwnPropertySymbols(e);if(1!==r.length||r[0]!==t)return!1;if(!Object.prototype.propertyIsEnumerable.call(e,t))return!1;if("function"===typeof Object.getOwnPropertyDescriptor){var o=Object.getOwnPropertyDescriptor(e,t);if(42!==o.value||!0!==o.enumerable)return!1}return!0}},7838:function(e,t,n){"use strict";var r=n(1199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},7861:function(e,t,n){"use strict";var r=n(2535),o={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},i={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},a={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},u={};function l(e){return r.isMemo(e)?a:u[e.$$typeof]||o}u[r.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},u[r.Memo]=a;var s=Object.defineProperty,c=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,f=Object.getOwnPropertyDescriptor,p=Object.getPrototypeOf,h=Object.prototype;e.exports=function e(t,n,r){if("string"!==typeof n){if(h){var o=p(n);o&&o!==h&&e(t,o,r)}var a=c(n);d&&(a=a.concat(d(n)));for(var u=l(t),m=l(n),v=0;v=t||n<0||d&&e-s>=i}function Z(){var e=h();if(x(e))return w(e);u=setTimeout(Z,function(e){var n=t-(e-l);return d?p(n,i-(e-s)):n}(e))}function w(e){return u=void 0,g&&r?y(e):(r=o=void 0,a)}function D(){var e=h(),n=x(e);if(r=arguments,o=this,l=e,n){if(void 0===u)return b(l);if(d)return u=setTimeout(Z,t),y(l)}return void 0===u&&(u=setTimeout(Z,t)),a}return t=v(t)||0,m(n)&&(c=!!n.leading,i=(d="maxWait"in n)?f(v(n.maxWait)||0,t):i,g="trailing"in n?!!n.trailing:g),D.cancel=function(){void 0!==u&&clearTimeout(u),s=0,r=l=o=u=void 0},D.flush=function(){return void 0===u?a:w(h())},D}},4007:function(e,t,n){var r="__lodash_hash_undefined__",o="[object Function]",i="[object GeneratorFunction]",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,s=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,c=/\\(\\)?/g,d=/^\[object .+?Constructor\]$/,f="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,p="object"==typeof self&&self&&self.Object===Object&&self,h=f||p||Function("return this")();var m=Array.prototype,v=Function.prototype,g=Object.prototype,y=h["__core-js_shared__"],b=function(){var e=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),x=v.toString,Z=g.hasOwnProperty,w=g.toString,D=RegExp("^"+x.call(Z).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),k=h.Symbol,S=m.splice,C=I(h,"Map"),_=I(Object,"create"),E=k?k.prototype:void 0,A=E?E.toString:void 0;function M(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},T.prototype.set=function(e,t){var n=this.__data__,r=R(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},P.prototype.clear=function(){this.__data__={hash:new M,map:new(C||T),string:new M}},P.prototype.delete=function(e){return B(this,e).delete(e)},P.prototype.get=function(e){return B(this,e).get(e)},P.prototype.has=function(e){return B(this,e).has(e)},P.prototype.set=function(e,t){return B(this,e).set(e,t),this};var L=z((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if($(e))return A?A.call(e):"";var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}(t);var n=[];return l.test(e)&&n.push(""),e.replace(s,(function(e,t,r,o){n.push(r?o.replace(c,"$1"):t||e)})),n}));function N(e){if("string"==typeof e||$(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function z(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,o=t?t.apply(this,r):r[0],i=n.cache;if(i.has(o))return i.get(o);var a=e.apply(this,r);return n.cache=i.set(o,a),a};return n.cache=new(z.Cache||P),n}z.Cache=P;var j=Array.isArray;function W(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function $(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==w.call(e)}e.exports=function(e,t,n){var r=null==e?void 0:F(e,t);return void 0===r?n:r}},2061:function(e,t,n){var r="Expected a function",o=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,s="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,d=s||c||Function("return this")(),f=Object.prototype.toString,p=Math.max,h=Math.min,m=function(){return d.Date.now()};function v(e,t,n){var o,i,a,u,l,s,c=0,d=!1,f=!1,v=!0;if("function"!=typeof e)throw new TypeError(r);function b(t){var n=o,r=i;return o=i=void 0,c=t,u=e.apply(r,n)}function x(e){return c=e,l=setTimeout(w,t),d?b(e):u}function Z(e){var n=e-s;return void 0===s||n>=t||n<0||f&&e-c>=a}function w(){var e=m();if(Z(e))return D(e);l=setTimeout(w,function(e){var n=t-(e-s);return f?h(n,a-(e-c)):n}(e))}function D(e){return l=void 0,v&&o?b(e):(o=i=void 0,u)}function k(){var e=m(),n=Z(e);if(o=arguments,i=this,s=e,n){if(void 0===l)return x(s);if(f)return l=setTimeout(w,t),b(s)}return void 0===l&&(l=setTimeout(w,t)),u}return t=y(t)||0,g(n)&&(d=!!n.leading,a=(f="maxWait"in n)?p(y(n.maxWait)||0,t):a,v="trailing"in n?!!n.trailing:v),k.cancel=function(){void 0!==l&&clearTimeout(l),c=0,o=s=i=l=void 0},k.flush=function(){return void 0===l?u:D(m())},k}function g(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function y(e){if("number"==typeof e)return e;if(function(e){return"symbol"==typeof e||function(e){return!!e&&"object"==typeof e}(e)&&"[object Symbol]"==f.call(e)}(e))return NaN;if(g(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=g(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(o,"");var n=a.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var o=!0,i=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(o="leading"in n?!!n.leading:o,i="trailing"in n?!!n.trailing:i),v(e,t,{leading:o,maxWait:t,trailing:i})}},3154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,o=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,i=r&&o&&"function"===typeof o.get?o.get:null,a=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,s=u&&l&&"function"===typeof l.get?l.get:null,c=u&&Set.prototype.forEach,d="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,f="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,p="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,h=Boolean.prototype.valueOf,m=Object.prototype.toString,v=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,b=String.prototype.replace,x=String.prototype.toUpperCase,Z=String.prototype.toLowerCase,w=RegExp.prototype.test,D=Array.prototype.concat,k=Array.prototype.join,S=Array.prototype.slice,C=Math.floor,_="function"===typeof BigInt?BigInt.prototype.valueOf:null,E=Object.getOwnPropertySymbols,A="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,M="function"===typeof Symbol&&"object"===typeof Symbol.iterator,T="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===M||"symbol")?Symbol.toStringTag:null,P=Object.prototype.propertyIsEnumerable,R=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function F(e,t){if(e===1/0||e===-1/0||e!==e||e&&e>-1e3&&e<1e3||w.call(/e/,t))return t;var n=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if("number"===typeof e){var r=e<0?-C(-e):C(e);if(r!==e){var o=String(r),i=y.call(t,o.length+1);return b.call(o,n,"$&_")+"."+b.call(b.call(i,/([0-9]{3})/g,"$&_"),/_$/,"")}}return b.call(t,n,"$&_")}var O=n(4654).custom,B=O&&z(O)?O:null;function I(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function L(e){return b.call(String(e),/"/g,""")}function N(e){return"[object Array]"===$(e)&&(!T||!("object"===typeof e&&T in e))}function z(e){if(M)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!A)return!1;try{return A.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,o){var u=n||{};if(W(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(W(u,"maxStringLength")&&("number"===typeof u.maxStringLength?u.maxStringLength<0&&u.maxStringLength!==1/0:null!==u.maxStringLength))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var l=!W(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(W(u,"indent")&&null!==u.indent&&"\t"!==u.indent&&!(parseInt(u.indent,10)===u.indent&&u.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(W(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var m=u.numericSeparator;if("undefined"===typeof t)return"undefined";if(null===t)return"null";if("boolean"===typeof t)return t?"true":"false";if("string"===typeof t)return Y(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var x=String(t);return m?F(t,x):x}if("bigint"===typeof t){var w=String(t)+"n";return m?F(t,w):w}var C="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=C&&C>0&&"object"===typeof t)return N(t)?"[Array]":"[Object]";var E=function(e,t){var n;if("\t"===e.indent)n="\t";else{if(!("number"===typeof e.indent&&e.indent>0))return null;n=k.call(Array(e.indent+1)," ")}return{base:n,prev:k.call(Array(t+1),n)}}(u,r);if("undefined"===typeof o)o=[];else if(H(o,t)>=0)return"[Circular]";function O(t,n,i){if(n&&(o=S.call(o)).push(n),i){var a={depth:u.depth};return W(u,"quoteStyle")&&(a.quoteStyle=u.quoteStyle),e(t,a,r+1,o)}return e(t,u,r+1,o)}if("function"===typeof t){var j=function(e){if(e.name)return e.name;var t=g.call(v.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),V=K(t,O);return"[Function"+(j?": "+j:" (anonymous)")+"]"+(V.length>0?" { "+k.call(V,", ")+" }":"")}if(z(t)){var Q=M?b.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):A.call(t);return"object"!==typeof t||M?Q:U(Q)}if(function(e){if(!e||"object"!==typeof e)return!1;if("undefined"!==typeof HTMLElement&&e instanceof HTMLElement)return!0;return"string"===typeof e.nodeName&&"function"===typeof e.getAttribute}(t)){for(var J="<"+Z.call(String(t.nodeName)),ee=t.attributes||[],te=0;te"}if(N(t)){if(0===t.length)return"[]";var ne=K(t,O);return E&&!function(e){for(var t=0;t=0)return!1;return!0}(ne)?"["+G(ne,E)+"]":"[ "+k.call(ne,", ")+" ]"}if(function(e){return"[object Error]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t)){var re=K(t,O);return"cause"in t&&!P.call(t,"cause")?"{ ["+String(t)+"] "+k.call(D.call("[cause]: "+O(t.cause),re),", ")+" }":0===re.length?"["+String(t)+"]":"{ ["+String(t)+"] "+k.call(re,", ")+" }"}if("object"===typeof t&&l){if(B&&"function"===typeof t[B])return t[B]();if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!i||!e||"object"!==typeof e)return!1;try{i.call(e);try{s.call(e)}catch(J){return!0}return e instanceof Map}catch(t){}return!1}(t)){var oe=[];return a.call(t,(function(e,n){oe.push(O(n,t,!0)+" => "+O(e,t))})),X("Map",i.call(t),oe,E)}if(function(e){if(!s||!e||"object"!==typeof e)return!1;try{s.call(e);try{i.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ie=[];return c.call(t,(function(e){ie.push(O(e,t))})),X("Set",s.call(t),ie,E)}if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(J){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return q("WeakMap");if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(J){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return q("WeakSet");if(function(e){if(!p||!e||"object"!==typeof e)return!1;try{return p.call(e),!0}catch(t){}return!1}(t))return q("WeakRef");if(function(e){return"[object Number]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t))return U(O(Number(t)));if(function(e){if(!e||"object"!==typeof e||!_)return!1;try{return _.call(e),!0}catch(t){}return!1}(t))return U(O(_.call(t)));if(function(e){return"[object Boolean]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t))return U(h.call(t));if(function(e){return"[object String]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t))return U(O(String(t)));if(!function(e){return"[object Date]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t)&&!function(e){return"[object RegExp]"===$(e)&&(!T||!("object"===typeof e&&T in e))}(t)){var ae=K(t,O),ue=R?R(t)===Object.prototype:t instanceof Object||t.constructor===Object,le=t instanceof Object?"":"null prototype",se=!ue&&T&&Object(t)===t&&T in t?y.call($(t),8,-1):le?"Object":"",ce=(ue||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(se||le?"["+k.call(D.call([],se||[],le||[]),": ")+"] ":"");return 0===ae.length?ce+"{}":E?ce+"{"+G(ae,E)+"}":ce+"{ "+k.call(ae,", ")+" }"}return String(t)};var j=Object.prototype.hasOwnProperty||function(e){return e in this};function W(e,t){return j.call(e,t)}function $(e){return m.call(e)}function H(e,t){if(e.indexOf)return e.indexOf(t);for(var n=0,r=e.length;nt.maxStringLength){var n=e.length-t.maxStringLength,r="... "+n+" more character"+(n>1?"s":"");return Y(y.call(e,0,t.maxStringLength),t)+r}return I(b.call(b.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,V),"single",t)}function V(e){var t=e.charCodeAt(0),n={8:"b",9:"t",10:"n",12:"f",13:"r"}[t];return n?"\\"+n:"\\x"+(t<16?"0":"")+x.call(t.toString(16))}function U(e){return"Object("+e+")"}function q(e){return e+" { ? }"}function X(e,t,n,r){return e+" ("+t+") {"+(r?G(n,r):k.call(n,", "))+"}"}function G(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+k.call(e,","+n)+"\n"+t.prev}function K(e,t){var n=N(e),r=[];if(n){r.length=e.length;for(var o=0;o=n.__.length&&n.__.push({}),n.__[e]}function m(e){return u=1,v(T,e)}function v(e,t,n){var i=h(r++,2);return i.t=e,i.__c||(i.__=[n?n(t):T(void 0,t),function(e){var t=i.t(i.__[0],e);i.__[0]!==t&&(i.__=[t,i.__[1]],i.__c.setState({}))}],i.__c=o),i.__}function g(e,t){var n=h(r++,3);!a.YM.__s&&M(n.__H,t)&&(n.__=e,n.__H=t,o.__H.__h.push(n))}function y(e,t){var n=h(r++,4);!a.YM.__s&&M(n.__H,t)&&(n.__=e,n.__H=t,o.__h.push(n))}function b(e){return u=5,Z((function(){return{current:e}}),[])}function x(e,t,n){u=6,y((function(){return"function"==typeof e?(e(t()),function(){return e(null)}):e?(e.current=t(),function(){return e.current=null}):void 0}),null==n?n:n.concat(e))}function Z(e,t){var n=h(r++,7);return M(n.__H,t)&&(n.__=e(),n.__H=t,n.__h=e),n.__}function w(e,t){return u=8,Z((function(){return e}),t)}function D(e){var t=o.context[e.__c],n=h(r++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(o)),t.props.value):e.__}function k(e,t){a.YM.useDebugValue&&a.YM.useDebugValue(t?t(e):e)}function S(e){var t=h(r++,10),n=m();return t.__=e,o.componentDidCatch||(o.componentDidCatch=function(e){t.__&&t.__(e),n[1](e)}),[n[0],function(){n[1](void 0)}]}function C(){for(var e;e=l.shift();)if(e.__P)try{e.__H.__h.forEach(E),e.__H.__h.forEach(A),e.__H.__h=[]}catch(o){e.__H.__h=[],a.YM.__e(o,e.__v)}}a.YM.__b=function(e){o=null,s&&s(e)},a.YM.__r=function(e){c&&c(e),r=0;var t=(o=e.__c).__H;t&&(t.__h.forEach(E),t.__h.forEach(A),t.__h=[])},a.YM.diffed=function(e){d&&d(e);var t=e.__c;t&&t.__H&&t.__H.__h.length&&(1!==l.push(t)&&i===a.YM.requestAnimationFrame||((i=a.YM.requestAnimationFrame)||function(e){var t,n=function(){clearTimeout(r),_&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);_&&(t=requestAnimationFrame(n))})(C)),o=null},a.YM.__c=function(e,t){t.some((function(e){try{e.__h.forEach(E),e.__h=e.__h.filter((function(e){return!e.__||A(e)}))}catch(i){t.some((function(e){e.__h&&(e.__h=[])})),t=[],a.YM.__e(i,e.__v)}})),f&&f(e,t)},a.YM.unmount=function(e){p&&p(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{E(e)}catch(e){t=e}})),t&&a.YM.__e(t,n.__v))};var _="function"==typeof requestAnimationFrame;function E(e){var t=o,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),o=t}function A(e){var t=o;e.__c=e.__(),o=t}function M(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function T(e,t){return"function"==typeof t?t(e):t}function P(e,t){for(var n in t)e[n]=t[n];return e}function R(e,t){for(var n in e)if("__source"!==n&&!(n in t))return!0;for(var r in t)if("__source"!==r&&e[r]!==t[r])return!0;return!1}function F(e){this.props=e}function O(e,t){function n(e){var n=this.props.ref,r=n==e.ref;return!r&&n&&(n.call?n(null):n.current=null),t?!t(this.props,e)||!r:R(this.props,e)}function r(t){return this.shouldComponentUpdate=n,(0,a.az)(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(F.prototype=new a.wA).isPureReactComponent=!0,F.prototype.shouldComponentUpdate=function(e,t){return R(this.props,e)||R(this.state,t)};var B=a.YM.__b;a.YM.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),B&&B(e)};var I="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function L(e){function t(t){var n=P({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=I,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var N=function(e,t){return null==e?null:(0,a.bR)((0,a.bR)(e).map(t))},z={map:N,forEach:N,count:function(e){return e?(0,a.bR)(e).length:0},only:function(e){var t=(0,a.bR)(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:a.bR},j=a.YM.__e;a.YM.__e=function(e,t,n,r){if(e.then)for(var o,i=t;i=i.__;)if((o=i.__c)&&o.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),o.__c(e,t);j(e,t,n,r)};var W=a.YM.unmount;function $(){this.__u=0,this.t=null,this.__b=null}function H(e){var t=e.__.__c;return t&&t.__e&&t.__e(e)}function Y(e){var t,n,r;function o(o){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return(0,a.az)(n,o)}return o.displayName="Lazy",o.__f=!0,o}function V(){this.u=null,this.o=null}a.YM.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),W&&W(e)},($.prototype=new a.wA).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var o=H(r.__v),i=!1,a=function(){i||(i=!0,n.__R=null,o?o(u):u())};n.__R=a;var u=function(){if(!--r.__u){if(r.state.__e){var e=r.state.__e;r.__v.__k[0]=function e(t,n,r){return t&&(t.__v=null,t.__k=t.__k&&t.__k.map((function(t){return e(t,n,r)})),t.__c&&t.__c.__P===n&&(t.__e&&r.insertBefore(t.__e,t.__d),t.__c.__e=!0,t.__c.__P=r)),t}(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__e:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__e:r.__b=r.__v.__k[0]}),e.then(a,a)},$.prototype.componentWillUnmount=function(){this.t=[]},$.prototype.render=function(e,t){if(this.__b){if(this.__v.__k){var n=document.createElement("div"),r=this.__v.__k[0].__c;this.__v.__k[0]=function e(t,n,r){return t&&(t.__c&&t.__c.__H&&(t.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),t.__c.__H=null),null!=(t=P({},t)).__c&&(t.__c.__P===r&&(t.__c.__P=n),t.__c=null),t.__k=t.__k&&t.__k.map((function(t){return e(t,n,r)}))),t}(this.__b,n,r.__O=r.__P)}this.__b=null}var o=t.__e&&(0,a.az)(a.HY,null,e.fallback);return o&&(o.__h=null),[(0,a.az)(a.HY,null,t.__e?null:e.children),o]};var U=function(e,t,n){if(++n[1]===n[0]&&e.o.delete(t),e.props.revealOrder&&("t"!==e.props.revealOrder[0]||!e.o.size))for(n=e.u;n;){for(;n.length>3;)n.pop()();if(n[1]>>1,1),t.i.removeChild(e)}}),(0,a.sY)((0,a.az)(q,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function G(e,t){return(0,a.az)(X,{__v:e,i:t})}(V.prototype=new a.wA).__e=function(e){var t=this,n=H(t.__v),r=t.o.get(e);return r[0]++,function(o){var i=function(){t.props.revealOrder?(r.push(o),U(t,e,r)):o()};n?n(i):i()}},V.prototype.render=function(e){this.u=null,this.o=new Map;var t=(0,a.bR)(e.children);e.revealOrder&&"b"===e.revealOrder[0]&&t.reverse();for(var n=t.length;n--;)this.o.set(t[n],this.u=[1,0,this.u]);return e.children},V.prototype.componentDidUpdate=V.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){U(e,n,t)}))};var K="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,Q=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|marker(?!H|W|U)|overline|paint|stop|strikethrough|stroke|text(?!L)|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,J="undefined"!=typeof document,ee=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function te(e,t,n){return null==t.__k&&(t.textContent=""),(0,a.sY)(e,t),"function"==typeof n&&n(),e?e.__c:null}function ne(e,t,n){return(0,a.ZB)(e,t),"function"==typeof n&&n(),e?e.__c:null}a.wA.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(a.wA.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var re=a.YM.event;function oe(){}function ie(){return this.cancelBubble}function ae(){return this.defaultPrevented}a.YM.event=function(e){return re&&(e=re(e)),e.persist=oe,e.isPropagationStopped=ie,e.isDefaultPrevented=ae,e.nativeEvent=e};var ue,le={configurable:!0,get:function(){return this.class}},se=a.YM.vnode;a.YM.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var o=-1===t.indexOf("-");for(var i in r={},n){var u=n[i];J&&"children"===i&&"noscript"===t||"value"===i&&"defaultValue"in n&&null==u||("defaultValue"===i&&"value"in n&&null==n.value?i="value":"download"===i&&!0===u?u="":/ondoubleclick/i.test(i)?i="ondblclick":/^onchange(textarea|input)/i.test(i+t)&&!ee(n.type)?i="oninput":/^onfocus$/i.test(i)?i="onfocusin":/^onblur$/i.test(i)?i="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(i)?i=i.toLowerCase():o&&Q.test(i)?i=i.replace(/[A-Z0-9]/,"-$&").toLowerCase():null===u&&(u=void 0),r[i]=u)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=(0,a.bR)(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=(0,a.bR)(n.children).forEach((function(e){e.props.selected=r.multiple?-1!=r.defaultValue.indexOf(e.props.value):r.defaultValue==e.props.value}))),e.props=r,n.class!=n.className&&(le.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",le))}e.$$typeof=K,se&&se(e)};var ce=a.YM.__r;a.YM.__r=function(e){ce&&ce(e),ue=e.__c};var de={ReactCurrentDispatcher:{current:{readContext:function(e){return ue.__n[e.__c].props.value}}}},fe="17.0.2";function pe(e){return a.az.bind(null,e)}function he(e){return!!e&&e.$$typeof===K}function me(e){return he(e)?a.Tm.apply(null,arguments):e}function ve(e){return!!e.__k&&((0,a.sY)(null,e),!0)}function ge(e){return e&&(e.base||1===e.nodeType&&e)||null}var ye=function(e,t){return e(t)},be=function(e,t){return e(t)},xe=a.HY,Ze={useState:m,useReducer:v,useEffect:g,useLayoutEffect:y,useRef:b,useImperativeHandle:x,useMemo:Z,useCallback:w,useContext:D,useDebugValue:k,version:"17.0.2",Children:z,render:te,hydrate:ne,unmountComponentAtNode:ve,createPortal:G,createElement:a.az,createContext:a.kr,createFactory:pe,cloneElement:me,createRef:a.Vf,Fragment:a.HY,isValidElement:he,findDOMNode:ge,Component:a.wA,PureComponent:F,memo:O,forwardRef:L,flushSync:be,unstable_batchedUpdates:ye,StrictMode:a.HY,Suspense:$,SuspenseList:V,lazy:Y,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:de}},7742:function(e,t,n){n(4206),e.exports=n(7226)},3856:function(e,t,n){"use strict";n.d(t,{HY:function(){return y},Tm:function(){return z},Vf:function(){return g},YM:function(){return o},ZB:function(){return N},az:function(){return m},bR:function(){return C},kr:function(){return j},sY:function(){return L},wA:function(){return b}});var r,o,i,a,u,l,s,c={},d=[],f=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i;function p(e,t){for(var n in t)e[n]=t[n];return e}function h(e){var t=e.parentNode;t&&t.removeChild(e)}function m(e,t,n){var o,i,a,u={};for(a in t)"key"==a?o=t[a]:"ref"==a?i=t[a]:u[a]=t[a];if(arguments.length>2&&(u.children=arguments.length>3?r.call(arguments,2):n),"function"==typeof e&&null!=e.defaultProps)for(a in e.defaultProps)void 0===u[a]&&(u[a]=e.defaultProps[a]);return v(e,u,o,i,null)}function v(e,t,n,r,a){var u={type:e,props:t,key:n,ref:r,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:null==a?++i:a};return null==a&&null!=o.vnode&&o.vnode(u),u}function g(){return{current:null}}function y(e){return e.children}function b(e,t){this.props=e,this.context=t}function x(e,t){if(null==t)return e.__?x(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?v(m.type,m.props,m.key,null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(h=w[f])||h&&m.key==h.key&&m.type===h.type)w[f]=void 0;else for(p=0;p2&&(u.children=arguments.length>3?r.call(arguments,2):n),v(e.type,u,o||e.key,i||e.ref,null)}function j(e,t){var n={__c:t="__cC"+s++,__:e,Consumer:function(e,t){return e.children(t)},Provider:function(e){var n,r;return this.getChildContext||(n=[],(r={})[t]=this,this.getChildContext=function(){return r},this.shouldComponentUpdate=function(e){this.props.value!==e.value&&n.some(w)},this.sub=function(e){n.push(e);var t=e.componentWillUnmount;e.componentWillUnmount=function(){n.splice(n.indexOf(e),1),t&&t.call(e)}}),e.children}};return n.Provider.__=n.Consumer.contextType=n}r=d.slice,o={__e:function(e,t,n,r){for(var o,i,a;t=t.__;)if((o=t.__c)&&!o.__)try{if((i=o.constructor)&&null!=i.getDerivedStateFromError&&(o.setState(i.getDerivedStateFromError(e)),a=o.__d),null!=o.componentDidCatch&&(o.componentDidCatch(e,r||{}),a=o.__d),a)return o.__E=o}catch(t){e=t}throw e}},i=0,b.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=p({},this.state),"function"==typeof e&&(e=e(p({},n),this.props)),e&&p(n,e),null!=e&&this.__v&&(t&&this.__h.push(t),w(this))},b.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),w(this))},b.prototype.render=y,a=[],u="function"==typeof Promise?Promise.prototype.then.bind(Promise.resolve()):setTimeout,D.__r=0,s=0},7226:function(e,t,n){"use strict";n.r(t),n.d(t,{Fragment:function(){return r.HY},jsx:function(){return i},jsxDEV:function(){return i},jsxs:function(){return i}});var r=n(3856),o=0;function i(e,t,n,i,a){var u,l,s={};for(l in t)"ref"==l?u=t[l]:s[l]=t[l];var c={type:e,props:s,key:n,ref:u,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--o,__source:a,__self:i};if("function"==typeof e&&(u=e.defaultProps))for(l in u)void 0===s[l]&&(s[l]=u[l]);return r.YM.vnode&&r.YM.vnode(c),c}},1729:function(e,t,n){"use strict";var r=n(9165);function o(){}function i(){}i.resetWarningCache=o,e.exports=function(){function e(e,t,n,o,i,a){if(a!==r){var u=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw u.name="Invariant Violation",u}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:i,resetWarningCache:o};return n.PropTypes=n,n}},5192:function(e,t,n){e.exports=n(1729)()},9165:function(e){"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},5609:function(e){"use strict";var t=String.prototype.replace,n=/%20/g,r="RFC1738",o="RFC3986";e.exports={default:o,formatters:{RFC1738:function(e){return t.call(e,n,"+")},RFC3986:function(e){return String(e)}},RFC1738:r,RFC3986:o}},4776:function(e,t,n){"use strict";var r=n(2816),o=n(7668),i=n(5609);e.exports={formats:i,parse:o,stringify:r}},7668:function(e,t,n){"use strict";var r=n(9837),o=Object.prototype.hasOwnProperty,i=Array.isArray,a={allowDots:!1,allowPrototypes:!1,allowSparse:!1,arrayLimit:20,charset:"utf-8",charsetSentinel:!1,comma:!1,decoder:r.decode,delimiter:"&",depth:5,ignoreQueryPrefix:!1,interpretNumericEntities:!1,parameterLimit:1e3,parseArrays:!0,plainObjects:!1,strictNullHandling:!1},u=function(e){return e.replace(/&#(\d+);/g,(function(e,t){return String.fromCharCode(parseInt(t,10))}))},l=function(e,t){return e&&"string"===typeof e&&t.comma&&e.indexOf(",")>-1?e.split(","):e},s=function(e,t,n,r){if(e){var i=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(i),s=u?i.slice(0,u.index):i,c=[];if(s){if(!n.plainObjects&&o.call(Object.prototype,s)&&!n.allowPrototypes)return;c.push(s)}for(var d=0;n.depth>0&&null!==(u=a.exec(i))&&d=0;--i){var a,u=e[i];if("[]"===u&&n.parseArrays)a=[].concat(o);else{a=n.plainObjects?Object.create(null):{};var s="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,c=parseInt(s,10);n.parseArrays||""!==s?!isNaN(c)&&u!==s&&String(c)===s&&c>=0&&n.parseArrays&&c<=n.arrayLimit?(a=[])[c]=o:"__proto__"!==s&&(a[s]=o):a={0:o}}o=a}return o}(c,t,n,r)}};e.exports=function(e,t){var n=function(e){if(!e)return a;if(null!==e.decoder&&void 0!==e.decoder&&"function"!==typeof e.decoder)throw new TypeError("Decoder has to be a function.");if("undefined"!==typeof e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw new TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");var t="undefined"===typeof e.charset?a.charset:e.charset;return{allowDots:"undefined"===typeof e.allowDots?a.allowDots:!!e.allowDots,allowPrototypes:"boolean"===typeof e.allowPrototypes?e.allowPrototypes:a.allowPrototypes,allowSparse:"boolean"===typeof e.allowSparse?e.allowSparse:a.allowSparse,arrayLimit:"number"===typeof e.arrayLimit?e.arrayLimit:a.arrayLimit,charset:t,charsetSentinel:"boolean"===typeof e.charsetSentinel?e.charsetSentinel:a.charsetSentinel,comma:"boolean"===typeof e.comma?e.comma:a.comma,decoder:"function"===typeof e.decoder?e.decoder:a.decoder,delimiter:"string"===typeof e.delimiter||r.isRegExp(e.delimiter)?e.delimiter:a.delimiter,depth:"number"===typeof e.depth||!1===e.depth?+e.depth:a.depth,ignoreQueryPrefix:!0===e.ignoreQueryPrefix,interpretNumericEntities:"boolean"===typeof e.interpretNumericEntities?e.interpretNumericEntities:a.interpretNumericEntities,parameterLimit:"number"===typeof e.parameterLimit?e.parameterLimit:a.parameterLimit,parseArrays:!1!==e.parseArrays,plainObjects:"boolean"===typeof e.plainObjects?e.plainObjects:a.plainObjects,strictNullHandling:"boolean"===typeof e.strictNullHandling?e.strictNullHandling:a.strictNullHandling}}(t);if(""===e||null===e||"undefined"===typeof e)return n.plainObjects?Object.create(null):{};for(var c="string"===typeof e?function(e,t){var n,s={},c=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,d=t.parameterLimit===1/0?void 0:t.parameterLimit,f=c.split(t.delimiter,d),p=-1,h=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(v=i(v)?[v]:v),o.call(s,m)?s[m]=r.combine(s[m],v):s[m]=v}return s}(e,n):e,d=n.plainObjects?Object.create(null):{},f=Object.keys(c),p=0;p0?k.join(",")||null:void 0}];else if(l(f))R=f;else{var O=Object.keys(k);R=p?O.sort(p):O}for(var B=0;B0?x+b:""}},9837:function(e,t,n){"use strict";var r=n(5609),o=Object.prototype.hasOwnProperty,i=Array.isArray,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}(),u=function(e,t){for(var n=t&&t.plainObjects?Object.create(null):{},r=0;r1;){var t=e.pop(),n=t.obj[t.prop];if(i(n)){for(var r=[],o=0;o=48&&c<=57||c>=65&&c<=90||c>=97&&c<=122||i===r.RFC1738&&(40===c||41===c)?l+=u.charAt(s):c<128?l+=a[c]:c<2048?l+=a[192|c>>6]+a[128|63&c]:c<55296||c>=57344?l+=a[224|c>>12]+a[128|c>>6&63]+a[128|63&c]:(s+=1,c=65536+((1023&c)<<10|1023&u.charCodeAt(s)),l+=a[240|c>>18]+a[128|c>>12&63]+a[128|c>>6&63]+a[128|63&c])}return l},isBuffer:function(e){return!(!e||"object"!==typeof e)&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))},isRegExp:function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},maybeMap:function(e,t){if(i(e)){for(var n=[],r=0;r=0;--i){var a=this.tryEntries[i],u=a.completion;if("root"===a.tryLoc)return o("end");if(a.tryLoc<=this.prev){var l=r.call(a,"catchLoc"),s=r.call(a,"finallyLoc");if(l&&s){if(this.prev=0;--n){var o=this.tryEntries[n];if(o.tryLoc<=this.prev&&r.call(o,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),m}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var o=r.arg;_(n)}return o}}throw new Error("illegal catch attempt")},delegateYield:function(e,n,r){return this.delegate={iterator:A(e),resultName:n,nextLoc:r},"next"===this.method&&(this.arg=t),m}},e}(e.exports);try{regeneratorRuntime=t}catch(n){"object"===typeof globalThis?globalThis.regeneratorRuntime=t:Function("r","regeneratorRuntime = r")(t)}},3170:function(e,t,n){"use strict";var r=n(8476),o=n(4680),i=n(3154),a=r("%TypeError%"),u=r("%WeakMap%",!0),l=r("%Map%",!0),s=o("WeakMap.prototype.get",!0),c=o("WeakMap.prototype.set",!0),d=o("WeakMap.prototype.has",!0),f=o("Map.prototype.get",!0),p=o("Map.prototype.set",!0),h=o("Map.prototype.has",!0),m=function(e,t){for(var n,r=e;null!==(n=r.next);r=n)if(n.key===t)return r.next=n.next,n.next=e.next,e.next=n,n};e.exports=function(){var e,t,n,r={assert:function(e){if(!r.has(e))throw new a("Side channel does not contain "+i(e))},get:function(r){if(u&&r&&("object"===typeof r||"function"===typeof r)){if(e)return s(e,r)}else if(l){if(t)return f(t,r)}else if(n)return function(e,t){var n=m(e,t);return n&&n.value}(n,r)},has:function(r){if(u&&r&&("object"===typeof r||"function"===typeof r)){if(e)return d(e,r)}else if(l){if(t)return h(t,r)}else if(n)return function(e,t){return!!m(e,t)}(n,r);return!1},set:function(r,o){u&&r&&("object"===typeof r||"function"===typeof r)?(e||(e=new u),c(e,r,o)):l?(t||(t=new l),p(t,r,o)):(n||(n={key:{},next:null}),function(e,t,n){var r=m(e,t);r?r.value=n:e.next={key:t,next:e.next,value:n}}(n,r,o))}};return r}},4654:function(){},907:function(e,t,n){"use strict";function r(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=0||(o[n]=e[n]);return o}n.d(t,{Z:function(){return r}})},9439:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(3878);var o=n(181),i=n(5267);function a(e,t){return(0,r.Z)(e)||function(e,t){var n=null==e?null:"undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,o,i=[],a=!0,u=!1;try{for(n=n.call(e);!(a=(r=n.next()).done)&&(i.push(r.value),!t||i.length!==t);a=!0);}catch(l){u=!0,o=l}finally{try{a||null==n.return||n.return()}finally{if(u)throw o}}return i}}(e,t)||(0,o.Z)(e,t)||(0,i.Z)()}},3433:function(e,t,n){"use strict";n.d(t,{Z:function(){return a}});var r=n(907);var o=n(9199),i=n(181);function a(e){return function(e){if(Array.isArray(e))return(0,r.Z)(e)}(e)||(0,o.Z)(e)||(0,i.Z)(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}},181:function(e,t,n){"use strict";n.d(t,{Z:function(){return o}});var r=n(907);function o(e,t){if(e){if("string"===typeof e)return(0,r.Z)(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?(0,r.Z)(e,t):void 0}}},3138:function(e,t,n){"use strict";n.d(t,{BX:function(){return r.jsxs},HY:function(){return r.Fragment},tZ:function(){return r.jsx}});n(4206);var r=n(7226)}},t={};function n(r){var o=t[r];if(void 0!==o)return o.exports;var i=t[r]={exports:{}};return e[r].call(i.exports,i,i.exports,n),i.exports}n.m=e,n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,{a:t}),t},n.d=function(e,t){for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.f={},n.e=function(e){return Promise.all(Object.keys(n.f).reduce((function(t,r){return n.f[r](e,t),t}),[]))},n.u=function(e){return"static/js/"+e+".939f971b.chunk.js"},n.miniCssF=function(e){},n.g=function(){if("object"===typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"===typeof window)return window}}(),n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},function(){var e={},t="vmui:";n.l=function(r,o,i,a){if(e[r])e[r].push(o);else{var u,l;if(void 0!==i)for(var s=document.getElementsByTagName("script"),c=0;c=0&&(t.hash=e.substr(n),e=e.substr(0,n));var r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}var h=(0,t.createContext)(null);var m=(0,t.createContext)(null);var v=(0,t.createContext)({outlet:null,matches:[]});function g(e,t){if(!e)throw new Error(t)}function y(e,t,n){void 0===n&&(n="/");var r=C(("string"===typeof t?p(t):t).pathname||"/",n);if(null==r)return null;var o=b(e);!function(e){e.sort((function(e,t){return e.score!==t.score?t.score-e.score:function(e,t){var n=e.length===t.length&&e.slice(0,-1).every((function(e,n){return e===t[n]}));return n?e[e.length-1]-t[t.length-1]:0}(e.routesMeta.map((function(e){return e.childrenIndex})),t.routesMeta.map((function(e){return e.childrenIndex})))}))}(o);for(var i=null,a=0;null==i&&a0&&(!0===e.index&&g(!1),b(e.children,t,u,a)),(null!=e.path||e.index)&&t.push({path:a,score:w(a,e.index),routesMeta:u})})),t}var x=/^:\w+$/,Z=function(e){return"*"===e};function w(e,t){var n=e.split("/"),r=n.length;return n.some(Z)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!Z(e)})).reduce((function(e,t){return e+(x.test(t)?3:""===t?1:10)}),r)}function D(e,t){for(var n=e.routesMeta,r={},o="/",i=[],a=0;a=0?t[a]:"/"}var l=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?p(e):e,r=n.pathname,o=n.search,i=void 0===o?"":o,a=n.hash,u=void 0===a?"":a,l=r?r.startsWith("/")?r:function(e,t){var n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach((function(e){".."===e?n.length>1&&n.pop():"."!==e&&n.push(e)})),n.length>1?n.join("/"):"/"}(r,t):t;return{pathname:l,search:A(i),hash:M(u)}}(o,r);return i&&"/"!==i&&i.endsWith("/")&&!l.pathname.endsWith("/")&&(l.pathname+="/"),l}function C(e,t){if("/"===t)return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;var n=e.charAt(t.length);return n&&"/"!==n?null:e.slice(t.length)||"/"}var _=function(e){return e.join("/").replace(/\/\/+/g,"/")},E=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},A=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},M=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""};function T(e){P()||g(!1);var n=(0,t.useContext)(h),r=n.basename,o=n.navigator,i=B(e),a=i.hash,u=i.pathname,l=i.search,s=u;if("/"!==r){var c=function(e){return""===e||""===e.pathname?"/":"string"===typeof e?p(e).pathname:e.pathname}(e),d=null!=c&&c.endsWith("/");s="/"===u?r+(d?"/":""):_([r,u])}return o.createHref({pathname:s,search:l,hash:a})}function P(){return null!=(0,t.useContext)(m)}function R(){return P()||g(!1),(0,t.useContext)(m).location}function F(){P()||g(!1);var e=(0,t.useContext)(h),n=e.basename,r=e.navigator,o=(0,t.useContext)(v).matches,i=R().pathname,a=JSON.stringify(o.map((function(e){return e.pathnameBase}))),u=(0,t.useRef)(!1);(0,t.useEffect)((function(){u.current=!0}));var l=(0,t.useCallback)((function(e,t){if(void 0===t&&(t={}),u.current)if("number"!==typeof e){var o=S(e,JSON.parse(a),i);"/"!==n&&(o.pathname=_([n,o.pathname])),(t.replace?r.replace:r.push)(o,t.state)}else r.go(e)}),[n,r,a,i]);return l}var O=(0,t.createContext)(null);function B(e){var n=(0,t.useContext)(v).matches,r=R().pathname,o=JSON.stringify(n.map((function(e){return e.pathnameBase})));return(0,t.useMemo)((function(){return S(e,JSON.parse(o),r)}),[e,o,r])}function I(e,n){return void 0===n&&(n=[]),null==e?null:e.reduceRight((function(r,o,i){return(0,t.createElement)(v.Provider,{children:void 0!==o.route.element?o.route.element:r,value:{outlet:r,matches:n.concat(e.slice(0,i+1))}})}),null)}function L(e){return function(e){var n=(0,t.useContext)(v).outlet;return n?(0,t.createElement)(O.Provider,{value:e},n):n}(e.context)}function N(e){g(!1)}function z(n){var r=n.basename,o=void 0===r?"/":r,i=n.children,a=void 0===i?null:i,u=n.location,l=n.navigationType,s=void 0===l?e.Pop:l,c=n.navigator,d=n.static,f=void 0!==d&&d;P()&&g(!1);var v=E(o),y=(0,t.useMemo)((function(){return{basename:v,navigator:c,static:f}}),[v,c,f]);"string"===typeof u&&(u=p(u));var b=u,x=b.pathname,Z=void 0===x?"/":x,w=b.search,D=void 0===w?"":w,k=b.hash,S=void 0===k?"":k,_=b.state,A=void 0===_?null:_,M=b.key,T=void 0===M?"default":M,R=(0,t.useMemo)((function(){var e=C(Z,v);return null==e?null:{pathname:e,search:D,hash:S,state:A,key:T}}),[v,Z,D,S,A,T]);return null==R?null:(0,t.createElement)(h.Provider,{value:y},(0,t.createElement)(m.Provider,{children:a,value:{location:R,navigationType:s}}))}function j(e){var n=e.children,r=e.location;return function(e,n){P()||g(!1);var r,o=(0,t.useContext)(v).matches,i=o[o.length-1],a=i?i.params:{},u=(i&&i.pathname,i?i.pathnameBase:"/"),l=(i&&i.route,R());if(n){var s,c="string"===typeof n?p(n):n;"/"===u||(null==(s=c.pathname)?void 0:s.startsWith(u))||g(!1),r=c}else r=l;var d=r.pathname||"/",f=y(e,{pathname:"/"===u?d:d.slice(u.length)||"/"});return I(f&&f.map((function(e){return Object.assign({},e,{params:Object.assign({},a,e.params),pathname:_([u,e.pathname]),pathnameBase:"/"===e.pathnameBase?u:_([u,e.pathnameBase])})})),o)}(W(n),r)}function W(e){var n=[];return t.Children.forEach(e,(function(e){if((0,t.isValidElement)(e))if(e.type!==t.Fragment){e.type!==N&&g(!1);var r={caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path};e.props.children&&(r.children=W(e.props.children)),n.push(r)}else n.push.apply(n,W(e.props.children))})),n}function $(){return $=Object.assign||function(e){for(var t=1;t=0||(o[n]=e[n]);return o}var Y=["onClick","reloadDocument","replace","state","target","to"];function V(e){var n=e.basename,o=e.children,i=e.window,a=(0,t.useRef)();null==a.current&&(a.current=l({window:i}));var u=a.current,s=(0,t.useState)({action:u.action,location:u.location}),c=(0,r.Z)(s,2),d=c[0],f=c[1];return(0,t.useLayoutEffect)((function(){return u.listen(f)}),[u]),(0,t.createElement)(z,{basename:n,children:o,location:d.location,navigationType:d.action,navigator:u})}var U=(0,t.forwardRef)((function(e,n){var r=e.onClick,o=e.reloadDocument,i=e.replace,a=void 0!==i&&i,u=e.state,l=e.target,s=e.to,c=H(e,Y),d=T(s),p=function(e,n){var r=void 0===n?{}:n,o=r.target,i=r.replace,a=r.state,u=F(),l=R(),s=B(e);return(0,t.useCallback)((function(t){if(0===t.button&&(!o||"_self"===o)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(t)){t.preventDefault();var n=!!i||f(l)===f(s);u(e,{replace:n,state:a})}}),[l,u,s,i,a,o,e])}(s,{replace:a,state:u,target:l});return(0,t.createElement)("a",$({},c,{href:d,onClick:function(e){r&&r(e),e.defaultPrevented||o||p(e)},ref:n,target:l}))}));var q=n(4942),X=n(3366),G=n(3061),K=n(317),Q=n(7551),J=n(8564),ee=n(5469),te=n(1615),ne=n(2131),re=n(655);function oe(e){return(0,ne.Z)("MuiPaper",e)}(0,re.Z)("MuiPaper",["root","rounded","outlined","elevation","elevation0","elevation1","elevation2","elevation3","elevation4","elevation5","elevation6","elevation7","elevation8","elevation9","elevation10","elevation11","elevation12","elevation13","elevation14","elevation15","elevation16","elevation17","elevation18","elevation19","elevation20","elevation21","elevation22","elevation23","elevation24"]);var ie=n(3138),ae=["className","component","elevation","square","variant"],ue=function(e){return((e<1?5.11916*Math.pow(e,2):4.5*Math.log(e+1)+2)/100).toFixed(2)},le=(0,J.ZP)("div",{name:"MuiPaper",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],!n.square&&t.rounded,"elevation"===n.variant&&t["elevation".concat(n.elevation)]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({backgroundColor:t.palette.background.paper,color:t.palette.text.primary,transition:t.transitions.create("box-shadow")},!n.square&&{borderRadius:t.shape.borderRadius},"outlined"===n.variant&&{border:"1px solid ".concat(t.palette.divider)},"elevation"===n.variant&&(0,o.Z)({boxShadow:t.shadows[n.elevation]},"dark"===t.palette.mode&&{backgroundImage:"linear-gradient(".concat((0,Q.Fq)("#fff",ue(n.elevation)),", ").concat((0,Q.Fq)("#fff",ue(n.elevation)),")")}))})),se=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiPaper"}),r=n.className,i=n.component,a=void 0===i?"div":i,u=n.elevation,l=void 0===u?1:u,s=n.square,c=void 0!==s&&s,d=n.variant,f=void 0===d?"elevation":d,p=(0,X.Z)(n,ae),h=(0,o.Z)({},n,{component:a,elevation:l,square:c,variant:f}),m=function(e){var t=e.square,n=e.elevation,r=e.variant,o=e.classes,i={root:["root",r,!t&&"rounded","elevation"===r&&"elevation".concat(n)]};return(0,K.Z)(i,oe,o)}(h);return(0,ie.tZ)(le,(0,o.Z)({as:a,ownerState:h,className:(0,G.Z)(m.root,r),ref:t},p))})),ce=se;function de(e){return(0,ne.Z)("MuiAlert",e)}var fe=(0,re.Z)("MuiAlert",["root","action","icon","message","filled","filledSuccess","filledInfo","filledWarning","filledError","outlined","outlinedSuccess","outlinedInfo","outlinedWarning","outlinedError","standard","standardSuccess","standardInfo","standardWarning","standardError"]),pe=n(6983),he=n(3236),me=n(9127),ve=n(3433);function ge(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ye(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function be(e,t){return be=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e},be(e,t)}function xe(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,be(e,t)}var Ze=t.default.createContext(null);function we(e,n){var r=Object.create(null);return e&&t.Children.map(e,(function(e){return e})).forEach((function(e){r[e.key]=function(e){return n&&(0,t.isValidElement)(e)?n(e):e}(e)})),r}function De(e,t,n){return null!=n[t]?n[t]:e.props[t]}function ke(e,n,r){var o=we(e.children),i=function(e,t){function n(n){return n in t?t[n]:e[n]}e=e||{},t=t||{};var r,o=Object.create(null),i=[];for(var a in e)a in t?i.length&&(o[a]=i,i=[]):i.push(a);var u={};for(var l in t){if(o[l])for(r=0;r0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0,r=t.pulsate,o=void 0!==r&&r,i=t.center,a=void 0===i?u||t.pulsate:i,l=t.fakeElement,s=void 0!==l&&l;if("mousedown"===e.type&&y.current)y.current=!1;else{"touchstart"===e.type&&(y.current=!0);var c,d,f,p=s?null:Z.current,h=p?p.getBoundingClientRect():{width:0,height:0,left:0,top:0};if(a||0===e.clientX&&0===e.clientY||!e.clientX&&!e.touches)c=Math.round(h.width/2),d=Math.round(h.height/2);else{var m=e.touches?e.touches[0]:e,v=m.clientX,g=m.clientY;c=Math.round(v-h.left),d=Math.round(g-h.top)}if(a)(f=Math.sqrt((2*Math.pow(h.width,2)+Math.pow(h.height,2))/3))%2===0&&(f+=1);else{var D=2*Math.max(Math.abs((p?p.clientWidth:0)-c),c)+2,k=2*Math.max(Math.abs((p?p.clientHeight:0)-d),d)+2;f=Math.sqrt(Math.pow(D,2)+Math.pow(k,2))}e.touches?null===x.current&&(x.current=function(){w({pulsate:o,rippleX:c,rippleY:d,rippleSize:f,cb:n})},b.current=setTimeout((function(){x.current&&(x.current(),x.current=null)}),80)):w({pulsate:o,rippleX:c,rippleY:d,rippleSize:f,cb:n})}}),[u,w]),k=t.useCallback((function(){D({},{pulsate:!0})}),[D]),S=t.useCallback((function(e,t){if(clearTimeout(b.current),"touchend"===e.type&&x.current)return x.current(),x.current=null,void(b.current=setTimeout((function(){S(e,t)})));x.current=null,m((function(e){return e.length>0?e.slice(1):e})),g.current=t}),[]);return t.useImperativeHandle(n,(function(){return{pulsate:k,start:D,stop:S}}),[k,D,S]),(0,ie.tZ)(Ge,(0,o.Z)({className:(0,G.Z)(s.root,Ye.root,c),ref:Z},d,{children:(0,ie.tZ)(_e,{component:null,exit:!0,children:h})}))})),Je=Qe;function et(e){return(0,ne.Z)("MuiButtonBase",e)}var tt,nt=(0,re.Z)("MuiButtonBase",["root","disabled","focusVisible"]),rt=["action","centerRipple","children","className","component","disabled","disableRipple","disableTouchRipple","focusRipple","focusVisibleClassName","LinkComponent","onBlur","onClick","onContextMenu","onDragLeave","onFocus","onFocusVisible","onKeyDown","onKeyUp","onMouseDown","onMouseLeave","onMouseUp","onTouchEnd","onTouchMove","onTouchStart","tabIndex","TouchRippleProps","touchRippleRef","type"],ot=(0,J.ZP)("button",{name:"MuiButtonBase",slot:"Root",overridesResolver:function(e,t){return t.root}})((tt={display:"inline-flex",alignItems:"center",justifyContent:"center",position:"relative",boxSizing:"border-box",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none",textDecoration:"none",color:"inherit","&::-moz-focus-inner":{borderStyle:"none"}},(0,q.Z)(tt,"&.".concat(nt.disabled),{pointerEvents:"none",cursor:"default"}),(0,q.Z)(tt,"@media print",{colorAdjust:"exact"}),tt)),it=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiButtonBase"}),a=i.action,u=i.centerRipple,l=void 0!==u&&u,s=i.children,c=i.className,d=i.component,f=void 0===d?"button":d,p=i.disabled,h=void 0!==p&&p,m=i.disableRipple,v=void 0!==m&&m,g=i.disableTouchRipple,y=void 0!==g&&g,b=i.focusRipple,x=void 0!==b&&b,Z=i.LinkComponent,w=void 0===Z?"a":Z,D=i.onBlur,k=i.onClick,S=i.onContextMenu,C=i.onDragLeave,_=i.onFocus,E=i.onFocusVisible,A=i.onKeyDown,M=i.onKeyUp,T=i.onMouseDown,P=i.onMouseLeave,R=i.onMouseUp,F=i.onTouchEnd,O=i.onTouchMove,B=i.onTouchStart,I=i.tabIndex,L=void 0===I?0:I,N=i.TouchRippleProps,z=i.touchRippleRef,j=i.type,W=(0,X.Z)(i,rt),$=t.useRef(null),H=t.useRef(null),Y=(0,pe.Z)(H,z),V=(0,me.Z)(),U=V.isFocusVisibleRef,q=V.onFocus,Q=V.onBlur,J=V.ref,te=t.useState(!1),ne=(0,r.Z)(te,2),re=ne[0],oe=ne[1];h&&re&&oe(!1),t.useImperativeHandle(a,(function(){return{focusVisible:function(){oe(!0),$.current.focus()}}}),[]);var ae=t.useState(!1),ue=(0,r.Z)(ae,2),le=ue[0],se=ue[1];t.useEffect((function(){se(!0)}),[]);var ce=le&&!v&&!h;function de(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:y;return(0,he.Z)((function(r){return t&&t(r),!n&&H.current&&H.current[e](r),!0}))}t.useEffect((function(){re&&x&&!v&&le&&H.current.pulsate()}),[v,x,re,le]);var fe=de("start",T),ve=de("stop",S),ge=de("stop",C),ye=de("stop",R),be=de("stop",(function(e){re&&e.preventDefault(),P&&P(e)})),xe=de("start",B),Ze=de("stop",F),we=de("stop",O),De=de("stop",(function(e){Q(e),!1===U.current&&oe(!1),D&&D(e)}),!1),ke=(0,he.Z)((function(e){$.current||($.current=e.currentTarget),q(e),!0===U.current&&(oe(!0),E&&E(e)),_&&_(e)})),Se=function(){var e=$.current;return f&&"button"!==f&&!("A"===e.tagName&&e.href)},Ce=t.useRef(!1),_e=(0,he.Z)((function(e){x&&!Ce.current&&re&&H.current&&" "===e.key&&(Ce.current=!0,H.current.stop(e,(function(){H.current.start(e)}))),e.target===e.currentTarget&&Se()&&" "===e.key&&e.preventDefault(),A&&A(e),e.target===e.currentTarget&&Se()&&"Enter"===e.key&&!h&&(e.preventDefault(),k&&k(e))})),Ee=(0,he.Z)((function(e){x&&" "===e.key&&H.current&&re&&!e.defaultPrevented&&(Ce.current=!1,H.current.stop(e,(function(){H.current.pulsate(e)}))),M&&M(e),k&&e.target===e.currentTarget&&Se()&&" "===e.key&&!e.defaultPrevented&&k(e)})),Ae=f;"button"===Ae&&(W.href||W.to)&&(Ae=w);var Me={};"button"===Ae?(Me.type=void 0===j?"button":j,Me.disabled=h):(W.href||W.to||(Me.role="button"),h&&(Me["aria-disabled"]=h));var Te=(0,pe.Z)(J,$),Pe=(0,pe.Z)(n,Te);var Re=(0,o.Z)({},i,{centerRipple:l,component:f,disabled:h,disableRipple:v,disableTouchRipple:y,focusRipple:x,tabIndex:L,focusVisible:re}),Fe=function(e){var t=e.disabled,n=e.focusVisible,r=e.focusVisibleClassName,o=e.classes,i={root:["root",t&&"disabled",n&&"focusVisible"]},a=(0,K.Z)(i,et,o);return n&&r&&(a.root+=" ".concat(r)),a}(Re);return(0,ie.BX)(ot,(0,o.Z)({as:Ae,className:(0,G.Z)(Fe.root,c),ownerState:Re,onBlur:De,onClick:k,onContextMenu:ve,onFocus:ke,onKeyDown:_e,onKeyUp:Ee,onMouseDown:fe,onMouseLeave:be,onMouseUp:ye,onDragLeave:ge,onTouchEnd:Ze,onTouchMove:we,onTouchStart:xe,ref:Pe,tabIndex:h?-1:L,type:j},Me,W,{children:[s,ce?(0,ie.tZ)(Je,(0,o.Z)({ref:Y,center:l},N)):null]}))})),at=it;function ut(e){return(0,ne.Z)("MuiIconButton",e)}var lt,st=(0,re.Z)("MuiIconButton",["root","disabled","colorInherit","colorPrimary","colorSecondary","edgeStart","edgeEnd","sizeSmall","sizeMedium","sizeLarge"]),ct=["edge","children","className","color","disabled","disableFocusRipple","size"],dt=(0,J.ZP)(at,{name:"MuiIconButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,"default"!==n.color&&t["color".concat((0,te.Z)(n.color))],n.edge&&t["edge".concat((0,te.Z)(n.edge))],t["size".concat((0,te.Z)(n.size))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({textAlign:"center",flex:"0 0 auto",fontSize:t.typography.pxToRem(24),padding:8,borderRadius:"50%",overflow:"visible",color:t.palette.action.active,transition:t.transitions.create("background-color",{duration:t.transitions.duration.shortest})},!n.disableRipple&&{"&:hover":{backgroundColor:(0,Q.Fq)(t.palette.action.active,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"start"===n.edge&&{marginLeft:"small"===n.size?-3:-12},"end"===n.edge&&{marginRight:"small"===n.size?-3:-12})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},"inherit"===n.color&&{color:"inherit"},"inherit"!==n.color&&"default"!==n.color&&(0,o.Z)({color:t.palette[n.color].main},!n.disableRipple&&{"&:hover":{backgroundColor:(0,Q.Fq)(t.palette[n.color].main,t.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}}),"small"===n.size&&{padding:5,fontSize:t.typography.pxToRem(18)},"large"===n.size&&{padding:12,fontSize:t.typography.pxToRem(28)},(0,q.Z)({},"&.".concat(st.disabled),{backgroundColor:"transparent",color:t.palette.action.disabled}))})),ft=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiIconButton"}),r=n.edge,i=void 0!==r&&r,a=n.children,u=n.className,l=n.color,s=void 0===l?"default":l,c=n.disabled,d=void 0!==c&&c,f=n.disableFocusRipple,p=void 0!==f&&f,h=n.size,m=void 0===h?"medium":h,v=(0,X.Z)(n,ct),g=(0,o.Z)({},n,{edge:i,color:s,disabled:d,disableFocusRipple:p,size:m}),y=function(e){var t=e.classes,n=e.disabled,r=e.color,o=e.edge,i=e.size,a={root:["root",n&&"disabled","default"!==r&&"color".concat((0,te.Z)(r)),o&&"edge".concat((0,te.Z)(o)),"size".concat((0,te.Z)(i))]};return(0,K.Z)(a,ut,t)}(g);return(0,ie.tZ)(dt,(0,o.Z)({className:(0,G.Z)(y.root,u),centerRipple:!0,focusRipple:!p,disabled:d,ref:t,ownerState:g},v,{children:a}))})),pt=ft,ht=n(4750),mt=(0,ht.Z)((0,ie.tZ)("path",{d:"M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z"}),"SuccessOutlined"),vt=(0,ht.Z)((0,ie.tZ)("path",{d:"M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z"}),"ReportProblemOutlined"),gt=(0,ht.Z)((0,ie.tZ)("path",{d:"M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),"ErrorOutline"),yt=(0,ht.Z)((0,ie.tZ)("path",{d:"M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z"}),"InfoOutlined"),bt=(0,ht.Z)((0,ie.tZ)("path",{d:"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close"),xt=["action","children","className","closeText","color","icon","iconMapping","onClose","role","severity","variant"],Zt=(0,J.ZP)(ce,{name:"MuiAlert",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,te.Z)(n.color||n.severity))]]}})((function(e){var t=e.theme,n=e.ownerState,r="light"===t.palette.mode?Q._j:Q.$n,i="light"===t.palette.mode?Q.$n:Q._j,a=n.color||n.severity;return(0,o.Z)({},t.typography.body2,{backgroundColor:"transparent",display:"flex",padding:"6px 16px"},a&&"standard"===n.variant&&(0,q.Z)({color:r(t.palette[a].light,.6),backgroundColor:i(t.palette[a].light,.9)},"& .".concat(fe.icon),{color:"dark"===t.palette.mode?t.palette[a].main:t.palette[a].light}),a&&"outlined"===n.variant&&(0,q.Z)({color:r(t.palette[a].light,.6),border:"1px solid ".concat(t.palette[a].light)},"& .".concat(fe.icon),{color:"dark"===t.palette.mode?t.palette[a].main:t.palette[a].light}),a&&"filled"===n.variant&&{color:"#fff",fontWeight:t.typography.fontWeightMedium,backgroundColor:"dark"===t.palette.mode?t.palette[a].dark:t.palette[a].main})})),wt=(0,J.ZP)("div",{name:"MuiAlert",slot:"Icon",overridesResolver:function(e,t){return t.icon}})({marginRight:12,padding:"7px 0",display:"flex",fontSize:22,opacity:.9}),Dt=(0,J.ZP)("div",{name:"MuiAlert",slot:"Message",overridesResolver:function(e,t){return t.message}})({padding:"8px 0"}),kt=(0,J.ZP)("div",{name:"MuiAlert",slot:"Action",overridesResolver:function(e,t){return t.action}})({display:"flex",alignItems:"flex-start",padding:"4px 0 0 16px",marginLeft:"auto",marginRight:-8}),St={success:(0,ie.tZ)(mt,{fontSize:"inherit"}),warning:(0,ie.tZ)(vt,{fontSize:"inherit"}),error:(0,ie.tZ)(gt,{fontSize:"inherit"}),info:(0,ie.tZ)(yt,{fontSize:"inherit"})},Ct=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiAlert"}),r=n.action,i=n.children,a=n.className,u=n.closeText,l=void 0===u?"Close":u,s=n.color,c=n.icon,d=n.iconMapping,f=void 0===d?St:d,p=n.onClose,h=n.role,m=void 0===h?"alert":h,v=n.severity,g=void 0===v?"success":v,y=n.variant,b=void 0===y?"standard":y,x=(0,X.Z)(n,xt),Z=(0,o.Z)({},n,{color:s,severity:g,variant:b}),w=function(e){var t=e.variant,n=e.color,r=e.severity,o=e.classes,i={root:["root","".concat(t).concat((0,te.Z)(n||r)),"".concat(t)],icon:["icon"],message:["message"],action:["action"]};return(0,K.Z)(i,de,o)}(Z);return(0,ie.BX)(Zt,(0,o.Z)({role:m,elevation:0,ownerState:Z,className:(0,G.Z)(w.root,a),ref:t},x,{children:[!1!==c?(0,ie.tZ)(wt,{ownerState:Z,className:w.icon,children:c||f[g]||St[g]}):null,(0,ie.tZ)(Dt,{ownerState:Z,className:w.message,children:i}),null!=r?(0,ie.tZ)(kt,{className:w.action,children:r}):null,null==r&&p?(0,ie.tZ)(kt,{ownerState:Z,className:w.action,children:(0,ie.tZ)(pt,{size:"small","aria-label":l,title:l,color:"inherit",onClick:p,children:lt||(lt=(0,ie.tZ)(bt,{fontSize:"small"}))})}):null]}))})),_t=Ct,Et=n(7472),At=n(2780),Mt=n(9081);function Tt(e){return e.substring(2).toLowerCase()}var Pt=function(e){var n=e.children,r=e.disableReactTree,o=void 0!==r&&r,i=e.mouseEvent,a=void 0===i?"onClick":i,u=e.onClickAway,l=e.touchEvent,s=void 0===l?"onTouchEnd":l,c=t.useRef(!1),d=t.useRef(null),f=t.useRef(!1),p=t.useRef(!1);t.useEffect((function(){return setTimeout((function(){f.current=!0}),0),function(){f.current=!1}}),[]);var h=(0,Et.Z)(n.ref,d),m=(0,At.Z)((function(e){var t=p.current;p.current=!1;var n=(0,Mt.Z)(d.current);!f.current||!d.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!n.documentElement.contains(e.target)||d.current.contains(e.target))||!o&&t||u(e))})),v=function(e){return function(t){p.current=!0;var r=n.props[e];r&&r(t)}},g={ref:h};return!1!==s&&(g[s]=v(s)),t.useEffect((function(){if(!1!==s){var e=Tt(s),t=(0,Mt.Z)(d.current),n=function(){c.current=!0};return t.addEventListener(e,m),t.addEventListener("touchmove",n),function(){t.removeEventListener(e,m),t.removeEventListener("touchmove",n)}}}),[m,s]),!1!==a&&(g[a]=v(a)),t.useEffect((function(){if(!1!==a){var e=Tt(a),t=(0,Mt.Z)(d.current);return t.addEventListener(e,m),function(){t.removeEventListener(e,m)}}}),[m,a]),(0,ie.tZ)(t.Fragment,{children:t.cloneElement(n,g)})},Rt=n(6728),Ft=n(2248);function Ot(){return(0,Rt.Z)(Ft.Z)}var Bt=!1,It="unmounted",Lt="exited",Nt="entering",zt="entered",jt="exiting",Wt=function(e){function n(t,n){var r;r=e.call(this,t,n)||this;var o,i=n&&!n.isMounting?t.enter:t.appear;return r.appearStatus=null,t.in?i?(o=Lt,r.appearStatus=Nt):o=zt:o=t.unmountOnExit||t.mountOnEnter?It:Lt,r.state={status:o},r.nextCallback=null,r}xe(n,e),n.getDerivedStateFromProps=function(e,t){return e.in&&t.status===It?{status:Lt}:null};var r=n.prototype;return r.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},r.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==Nt&&n!==zt&&(t=Nt):n!==Nt&&n!==zt||(t=jt)}this.updateStatus(!1,t)},r.componentWillUnmount=function(){this.cancelNextCallback()},r.getTimeouts=function(){var e,t,n,r=this.props.timeout;return e=t=n=r,null!=r&&"number"!==typeof r&&(e=r.exit,t=r.enter,n=void 0!==r.appear?r.appear:t),{exit:e,enter:t,appear:n}},r.updateStatus=function(e,t){void 0===e&&(e=!1),null!==t?(this.cancelNextCallback(),t===Nt?this.performEnter(e):this.performExit()):this.props.unmountOnExit&&this.state.status===Lt&&this.setState({status:It})},r.performEnter=function(e){var n=this,r=this.props.enter,o=this.context?this.context.isMounting:e,i=this.props.nodeRef?[o]:[t.default.findDOMNode(this),o],a=i[0],u=i[1],l=this.getTimeouts(),s=o?l.appear:l.enter;!e&&!r||Bt?this.safeSetState({status:zt},(function(){n.props.onEntered(a)})):(this.props.onEnter(a,u),this.safeSetState({status:Nt},(function(){n.props.onEntering(a,u),n.onTransitionEnd(s,(function(){n.safeSetState({status:zt},(function(){n.props.onEntered(a,u)}))}))})))},r.performExit=function(){var e=this,n=this.props.exit,r=this.getTimeouts(),o=this.props.nodeRef?void 0:t.default.findDOMNode(this);n&&!Bt?(this.props.onExit(o),this.safeSetState({status:jt},(function(){e.props.onExiting(o),e.onTransitionEnd(r.exit,(function(){e.safeSetState({status:Lt},(function(){e.props.onExited(o)}))}))}))):this.safeSetState({status:Lt},(function(){e.props.onExited(o)}))},r.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},r.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},r.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(r){n&&(n=!1,t.nextCallback=null,e(r))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},r.onTransitionEnd=function(e,n){this.setNextCallback(n);var r=this.props.nodeRef?this.props.nodeRef.current:t.default.findDOMNode(this),o=null==e&&!this.props.addEndListener;if(r&&!o){if(this.props.addEndListener){var i=this.props.nodeRef?[this.nextCallback]:[r,this.nextCallback],a=i[0],u=i[1];this.props.addEndListener(a,u)}null!=e&&setTimeout(this.nextCallback,e)}else setTimeout(this.nextCallback,0)},r.render=function(){var e=this.state.status;if(e===It)return null;var n=this.props,r=n.children,o=(n.in,n.mountOnEnter,n.unmountOnExit,n.appear,n.enter,n.exit,n.timeout,n.addEndListener,n.onEnter,n.onEntering,n.onEntered,n.onExit,n.onExiting,n.onExited,n.nodeRef,(0,X.Z)(n,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return t.default.createElement(Ze.Provider,{value:null},"function"===typeof r?r(e,o):t.default.cloneElement(t.default.Children.only(r),o))},n}(t.default.Component);function $t(){}Wt.contextType=Ze,Wt.propTypes={},Wt.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:$t,onEntering:$t,onEntered:$t,onExit:$t,onExiting:$t,onExited:$t},Wt.UNMOUNTED=It,Wt.EXITED=Lt,Wt.ENTERING=Nt,Wt.ENTERED=zt,Wt.EXITING=jt;var Ht=Wt,Yt=function(e){return e.scrollTop};function Vt(e,t){var n,r,o=e.timeout,i=e.easing,a=e.style,u=void 0===a?{}:a;return{duration:null!=(n=u.transitionDuration)?n:"number"===typeof o?o:o[t.mode]||0,easing:null!=(r=u.transitionTimingFunction)?r:"object"===typeof i?i[t.mode]:i,delay:u.transitionDelay}}var Ut=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"];function qt(e){return"scale(".concat(e,", ").concat(Math.pow(e,2),")")}var Xt={entering:{opacity:1,transform:qt(1)},entered:{opacity:1,transform:"none"}},Gt="undefined"!==typeof navigator&&/^((?!chrome|android).)*(safari|mobile)/i.test(navigator.userAgent)&&/(os |version\/)15(.|_)[4-9]/i.test(navigator.userAgent),Kt=t.forwardRef((function(e,n){var r=e.addEndListener,i=e.appear,a=void 0===i||i,u=e.children,l=e.easing,s=e.in,c=e.onEnter,d=e.onEntered,f=e.onEntering,p=e.onExit,h=e.onExited,m=e.onExiting,v=e.style,g=e.timeout,y=void 0===g?"auto":g,b=e.TransitionComponent,x=void 0===b?Ht:b,Z=(0,X.Z)(e,Ut),w=t.useRef(),D=t.useRef(),k=Ot(),S=t.useRef(null),C=(0,pe.Z)(u.ref,n),_=(0,pe.Z)(S,C),E=function(e){return function(t){if(e){var n=S.current;void 0===t?e(n):e(n,t)}}},A=E(f),M=E((function(e,t){Yt(e);var n,r=Vt({style:v,timeout:y,easing:l},{mode:"enter"}),o=r.duration,i=r.delay,a=r.easing;"auto"===y?(n=k.transitions.getAutoHeightDuration(e.clientHeight),D.current=n):n=o,e.style.transition=[k.transitions.create("opacity",{duration:n,delay:i}),k.transitions.create("transform",{duration:Gt?n:.666*n,delay:i,easing:a})].join(","),c&&c(e,t)})),T=E(d),P=E(m),R=E((function(e){var t,n=Vt({style:v,timeout:y,easing:l},{mode:"exit"}),r=n.duration,o=n.delay,i=n.easing;"auto"===y?(t=k.transitions.getAutoHeightDuration(e.clientHeight),D.current=t):t=r,e.style.transition=[k.transitions.create("opacity",{duration:t,delay:o}),k.transitions.create("transform",{duration:Gt?t:.666*t,delay:Gt?o:o||.333*t,easing:i})].join(","),e.style.opacity=0,e.style.transform=qt(.75),p&&p(e)})),F=E(h);return t.useEffect((function(){return function(){clearTimeout(w.current)}}),[]),(0,ie.tZ)(x,(0,o.Z)({appear:a,in:s,nodeRef:S,onEnter:M,onEntered:T,onEntering:A,onExit:R,onExited:F,onExiting:P,addEndListener:function(e){"auto"===y&&(w.current=setTimeout(e,D.current||0)),r&&r(S.current,e)},timeout:"auto"===y?null:y},Z,{children:function(e,n){return t.cloneElement(u,(0,o.Z)({style:(0,o.Z)({opacity:0,transform:qt(.75),visibility:"exited"!==e||s?void 0:"hidden"},Xt[e],v,u.props.style),ref:_},n))}}))}));Kt.muiSupportAuto=!0;var Qt=Kt;function Jt(e){return(0,ne.Z)("MuiSnackbarContent",e)}(0,re.Z)("MuiSnackbarContent",["root","message","action"]);var en=["action","className","message","role"],tn=(0,J.ZP)(ce,{name:"MuiSnackbarContent",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){var t=e.theme,n="light"===t.palette.mode?.8:.98,r=(0,Q._4)(t.palette.background.default,n);return(0,o.Z)({},t.typography.body2,(0,q.Z)({color:t.palette.getContrastText(r),backgroundColor:r,display:"flex",alignItems:"center",flexWrap:"wrap",padding:"6px 16px",borderRadius:t.shape.borderRadius,flexGrow:1},t.breakpoints.up("sm"),{flexGrow:"initial",minWidth:288}))})),nn=(0,J.ZP)("div",{name:"MuiSnackbarContent",slot:"Message",overridesResolver:function(e,t){return t.message}})({padding:"8px 0"}),rn=(0,J.ZP)("div",{name:"MuiSnackbarContent",slot:"Action",overridesResolver:function(e,t){return t.action}})({display:"flex",alignItems:"center",marginLeft:"auto",paddingLeft:16,marginRight:-8}),on=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiSnackbarContent"}),r=n.action,i=n.className,a=n.message,u=n.role,l=void 0===u?"alert":u,s=(0,X.Z)(n,en),c=n,d=function(e){var t=e.classes;return(0,K.Z)({root:["root"],action:["action"],message:["message"]},Jt,t)}(c);return(0,ie.BX)(tn,(0,o.Z)({role:l,square:!0,elevation:6,className:(0,G.Z)(d.root,i),ownerState:c,ref:t},s,{children:[(0,ie.tZ)(nn,{className:d.message,ownerState:c,children:a}),r?(0,ie.tZ)(rn,{className:d.action,ownerState:c,children:r}):null]}))})),an=on;function un(e){return(0,ne.Z)("MuiSnackbar",e)}(0,re.Z)("MuiSnackbar",["root","anchorOriginTopCenter","anchorOriginBottomCenter","anchorOriginTopRight","anchorOriginBottomRight","anchorOriginTopLeft","anchorOriginBottomLeft"]);var ln=["onEnter","onExited"],sn=["action","anchorOrigin","autoHideDuration","children","className","ClickAwayListenerProps","ContentProps","disableWindowBlurListener","message","onBlur","onClose","onFocus","onMouseEnter","onMouseLeave","open","resumeHideDuration","TransitionComponent","transitionDuration","TransitionProps"],cn=(0,J.ZP)("div",{name:"MuiSnackbar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["anchorOrigin".concat((0,te.Z)(n.anchorOrigin.vertical)).concat((0,te.Z)(n.anchorOrigin.horizontal))]]}})((function(e){var t=e.theme,n=e.ownerState,r=(0,o.Z)({},!n.isRtl&&{left:"50%",right:"auto",transform:"translateX(-50%)"},n.isRtl&&{right:"50%",left:"auto",transform:"translateX(50%)"});return(0,o.Z)({zIndex:t.zIndex.snackbar,position:"fixed",display:"flex",left:8,right:8,justifyContent:"center",alignItems:"center"},"top"===n.anchorOrigin.vertical?{top:8}:{bottom:8},"left"===n.anchorOrigin.horizontal&&{justifyContent:"flex-start"},"right"===n.anchorOrigin.horizontal&&{justifyContent:"flex-end"},(0,q.Z)({},t.breakpoints.up("sm"),(0,o.Z)({},"top"===n.anchorOrigin.vertical?{top:24}:{bottom:24},"center"===n.anchorOrigin.horizontal&&r,"left"===n.anchorOrigin.horizontal&&(0,o.Z)({},!n.isRtl&&{left:24,right:"auto"},n.isRtl&&{right:24,left:"auto"}),"right"===n.anchorOrigin.horizontal&&(0,o.Z)({},!n.isRtl&&{right:24,left:"auto"},n.isRtl&&{left:24,right:"auto"}))))})),dn=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiSnackbar"}),a=Ot(),u={enter:a.transitions.duration.enteringScreen,exit:a.transitions.duration.leavingScreen},l=i.action,s=i.anchorOrigin,c=(s=void 0===s?{vertical:"bottom",horizontal:"left"}:s).vertical,d=s.horizontal,f=i.autoHideDuration,p=void 0===f?null:f,h=i.children,m=i.className,v=i.ClickAwayListenerProps,g=i.ContentProps,y=i.disableWindowBlurListener,b=void 0!==y&&y,x=i.message,Z=i.onBlur,w=i.onClose,D=i.onFocus,k=i.onMouseEnter,S=i.onMouseLeave,C=i.open,_=i.resumeHideDuration,E=i.TransitionComponent,A=void 0===E?Qt:E,M=i.transitionDuration,T=void 0===M?u:M,P=i.TransitionProps,R=(P=void 0===P?{}:P).onEnter,F=P.onExited,O=(0,X.Z)(i.TransitionProps,ln),B=(0,X.Z)(i,sn),I="rtl"===a.direction,L=(0,o.Z)({},i,{anchorOrigin:{vertical:c,horizontal:d},isRtl:I}),N=function(e){var t=e.classes,n=e.anchorOrigin,r={root:["root","anchorOrigin".concat((0,te.Z)(n.vertical)).concat((0,te.Z)(n.horizontal))]};return(0,K.Z)(r,un,t)}(L),z=t.useRef(),j=t.useState(!0),W=(0,r.Z)(j,2),$=W[0],H=W[1],Y=(0,he.Z)((function(){w&&w.apply(void 0,arguments)})),V=(0,he.Z)((function(e){w&&null!=e&&(clearTimeout(z.current),z.current=setTimeout((function(){Y(null,"timeout")}),e))}));t.useEffect((function(){return C&&V(p),function(){clearTimeout(z.current)}}),[C,p,V]);var U=function(){clearTimeout(z.current)},q=t.useCallback((function(){null!=p&&V(null!=_?_:.5*p)}),[p,_,V]);return t.useEffect((function(){if(!b&&C)return window.addEventListener("focus",q),window.addEventListener("blur",U),function(){window.removeEventListener("focus",q),window.removeEventListener("blur",U)}}),[b,q,C]),t.useEffect((function(){if(C)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){e.defaultPrevented||"Escape"!==e.key&&"Esc"!==e.key||w&&w(e,"escapeKeyDown")}}),[$,C,w]),!C&&$?null:(0,ie.tZ)(Pt,(0,o.Z)({onClickAway:function(e){w&&w(e,"clickaway")}},v,{children:(0,ie.tZ)(cn,(0,o.Z)({className:(0,G.Z)(N.root,m),onBlur:function(e){Z&&Z(e),q()},onFocus:function(e){D&&D(e),U()},onMouseEnter:function(e){k&&k(e),U()},onMouseLeave:function(e){S&&S(e),q()},ownerState:L,ref:n,role:"presentation"},B,{children:(0,ie.tZ)(A,(0,o.Z)({appear:!0,in:C,timeout:T,direction:"top"===c?"down":"up",onEnter:function(e,t){H(!1),R&&R(e,t)},onExited:function(e){H(!0),F&&F(e)}},O,{children:h||(0,ie.tZ)(an,(0,o.Z)({message:x,action:l},g))}))}))}))})),fn=dn,pn=(0,t.createContext)({showInfoMessage:function(){}}),hn=function(e){var n=e.children,o=(0,t.useState)({}),i=(0,r.Z)(o,2),a=i[0],u=i[1],l=(0,t.useState)(!1),s=(0,r.Z)(l,2),c=s[0],d=s[1],f=(0,t.useState)(void 0),p=(0,r.Z)(f,2),h=p[0],m=p[1];(0,t.useEffect)((function(){h&&(u({message:h,key:(new Date).getTime()}),d(!0))}),[h]);return(0,ie.BX)(pn.Provider,{value:{showInfoMessage:m},children:[(0,ie.tZ)(fn,{open:c,autoHideDuration:4e3,onClose:function(e,t){"clickaway"!==t&&(m(void 0),d(!1))},children:(0,ie.tZ)(_t,{children:a.message})},a.key),n]})};function mn(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function vn(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:window.location.search,r=kn().parse(n,{ignoreQueryPrefix:!0});return Cn()(r,e,t||"")};yn().extend(xn()),yn().extend(wn());var Mn,Tn=window.innerWidth/4,Pn=1,Rn=1578e8,Fn="YYYY-MM-DD[T]HH:mm:ss",On=[{long:"days",short:"d",possible:"day"},{long:"weeks",short:"w",possible:"week"},{long:"months",short:"M",possible:"mon"},{long:"years",short:"y",possible:"year"},{long:"hours",short:"h",possible:"hour"},{long:"minutes",short:"m",possible:"min"},{long:"seconds",short:"s",possible:"sec"},{long:"milliseconds",short:"ms",possible:"millisecond"}].map((function(e){return e.short})),Bn=function(e){return Math.round(1e3*e)/1e3},In=function(e){var t=e.match(/\d+/g),n=e.match(/[a-zA-Z]+/g);if(n&&t&&On.includes(n[0]))return(0,q.Z)({},n[0],t[0])},Ln=function(e,t){var n=(t||new Date).valueOf()/1e3,r=e.trim().split(" ").reduce((function(e,t){var n=In(t);return n?vn(vn({},e),n):vn({},e)}),{}),o=yn().duration(r).asSeconds();return{start:n-o,end:n,step:Bn(o/Tn)||.001,date:Nn(t||new Date)}},Nn=function(e){return yn()(e).utc().format(Fn)},zn=function(e){return yn()(e).format(Fn)},jn=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),o=Math.floor(e/1e3/3600%24),i=Math.floor(e/864e5),a=["d","h","m","s","ms"];return[i,o,r,n,t].map((function(e,t){return e?"".concat(e).concat(a[t]):""})).filter((function(e){return e})).join(" ")},Wn=function(e){return new Date(1e3*e)},$n=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m"},{title:"Last 1 hour",duration:"1h"},{title:"Last 3 hours",duration:"3h"},{title:"Last 6 hours",duration:"6h"},{title:"Last 12 hours",duration:"12h"},{title:"Last 24 hours",duration:"24h"},{title:"Last 2 days",duration:"2d"},{title:"Last 7 days",duration:"7d"},{title:"Last 30 days",duration:"30d"},{title:"Last 90 days",duration:"90d"},{title:"Last 180 days",duration:"180d"},{title:"Last 1 year",duration:"1y"},{title:"Yesterday",duration:"1d",until:function(){return yn()().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return yn()().endOf("day").toDate()}}].map((function(e){return vn({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return yn()().toDate()}},e)})),Hn=function(e){var t=e.relativeTimeId,n=e.defaultDuration,r=e.defaultEndInput,o=t||An("g0.relative_time",""),i=$n.find((function(e){return e.id===o}));return{relativeTimeId:o,duration:i?i.duration:n,endInput:i?i.until():r}},Yn=function(e,t){t?window.localStorage.setItem(e,JSON.stringify({value:t})):Un([e])},Vn=function(e){var t=window.localStorage.getItem(e);if(null!==t)try{var n;return null===(n=JSON.parse(t))||void 0===n?void 0:n.value}catch(r){return t}},Un=function(e){return e.forEach((function(e){return window.localStorage.removeItem(e)}))},qn=["BASIC_AUTH_DATA","BEARER_AUTH_DATA"],Xn=Hn({defaultDuration:An("g0.range_input","1h"),defaultEndInput:new Date((Mn=An("g0.end_input",new Date(yn()().utc().format(Fn))),yn()(Mn).utcOffset(0,!0).local().format(Fn)))}),Gn=Xn.duration,Kn=Xn.endInput,Qn=Xn.relativeTimeId,Jn=function(){var e,t=(null===(e=window.location.search.match(/g\d+.expr/gim))||void 0===e?void 0:e.length)||1;return new Array(t).fill(1).map((function(e,t){return An("g".concat(t,".expr"),"")}))}(),er={serverUrl:window.location.href.replace(/\/(?:prometheus\/)?(?:graph|vmui)\/.*/,"/prometheus"),displayType:An("g0.tab","chart")||"chart",query:Jn,queryHistory:Jn.map((function(e){return{index:0,values:[e]}})),time:{duration:Gn,period:Ln(Gn,Kn),relativeTime:Qn},queryControls:{autoRefresh:!1,autocomplete:Vn("AUTOCOMPLETE")||!1,nocache:Vn("NO_CACHE")||!1}};function tr(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return vn(vn({},e),{},{displayType:t.payload});case"SET_SERVER":return vn(vn({},e),{},{serverUrl:t.payload});case"SET_QUERY":return vn(vn({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return vn(vn({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),vn(vn({},e),{},{queryHistory:e.queryHistory});case"SET_DURATION":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{duration:t.payload,period:Ln(t.payload,Wn(e.time.period.end)),relativeTime:""})});case"SET_RELATIVE_TIME":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Ln(t.payload.duration,new Date(t.payload.until)),relativeTime:t.payload.id})});case"SET_UNTIL":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Ln(e.time.duration,t.payload),relativeTime:""})});case"SET_FROM":var n=jn(1e3*e.time.period.end-t.payload.valueOf());return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autoRefresh:!1}),time:vn(vn({},e.time),{},{duration:n,period:Ln(n,yn()(1e3*e.time.period.end).toDate()),relativeTime:""})});case"SET_PERIOD":var r=function(e){var t=e.to.valueOf()-e.from.valueOf();return jn(t)}(t.payload);return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autoRefresh:!1}),time:vn(vn({},e.time),{},{duration:r,period:Ln(r,t.payload.to),relativeTime:""})});case"TOGGLE_AUTOREFRESH":return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autoRefresh:!e.queryControls.autoRefresh})});case"TOGGLE_AUTOCOMPLETE":return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{autocomplete:!e.queryControls.autocomplete})});case"NO_CACHE":return vn(vn({},e),{},{queryControls:vn(vn({},e.queryControls),{},{nocache:!e.queryControls.nocache})});case"RUN_QUERY":var o=Hn({relativeTimeId:e.time.relativeTime,defaultDuration:e.time.duration,defaultEndInput:Wn(e.time.period.end)}),i=o.duration,a=o.endInput;return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Ln(i,a)})});case"RUN_QUERY_TO_NOW":return vn(vn({},e),{},{time:vn(vn({},e.time),{},{period:Ln(e.time.duration)})});default:throw new Error}}var nr=(0,t.createContext)({}),rr=function(){return(0,t.useContext)(nr).state},or=function(){return(0,t.useContext)(nr).dispatch},ir=Object.entries(er).reduce((function(e,t){var n=(0,r.Z)(t,2),o=n[0],i=n[1];return vn(vn({},e),{},(0,q.Z)({},o,An(o)||i))}),{}),ar=function(e){var n=e.children,o=(0,t.useReducer)(tr,ir),i=(0,r.Z)(o,2),a=i[0],u=i[1];(0,t.useEffect)((function(){!function(e){var t=new Map(Object.entries(_n)),n=Cn()(e,"query",""),r=[];n.forEach((function(n,o){t.forEach((function(t,n){var i=Cn()(e,n,"");if(i){var a=encodeURIComponent(i);r.push("g".concat(o,".").concat(t,"=").concat(a))}})),r.push("g".concat(o,".expr=").concat(encodeURIComponent(n)))})),En(r.join("&"))}(a)}),[a]);var l=(0,t.useMemo)((function(){return{state:a,dispatch:u}}),[a,u]);return(0,ie.tZ)(nr.Provider,{value:l,children:n})},ur={authMethod:"NO_AUTH",saveAuthLocally:!1},lr=Vn("AUTH_TYPE"),sr=Vn("BASIC_AUTH_DATA"),cr=Vn("BEARER_AUTH_DATA"),dr=vn(vn({},ur),{},{authMethod:lr||ur.authMethod,basicData:sr,bearerData:cr,saveAuthLocally:!(!sr&&!cr)}),fr=function(){Un(qn)};function pr(e,t){switch(t.type){case"SET_BASIC_AUTH":return t.payload.checkbox?Yn("BASIC_AUTH_DATA",t.payload.value):fr(),Yn("AUTH_TYPE","BASIC_AUTH"),vn(vn({},e),{},{authMethod:"BASIC_AUTH",basicData:t.payload.value});case"SET_BEARER_AUTH":return t.payload.checkbox?Yn("BEARER_AUTH_DATA",t.payload.value):fr(),Yn("AUTH_TYPE","BEARER_AUTH"),vn(vn({},e),{},{authMethod:"BEARER_AUTH",bearerData:t.payload.value});case"SET_NO_AUTH":return!t.payload.checkbox&&fr(),Yn("AUTH_TYPE","NO_AUTH"),vn(vn({},e),{},{authMethod:"NO_AUTH"});default:throw new Error}}var hr=(0,t.createContext)({}),mr=function(e){var n=e.children,o=(0,t.useReducer)(pr,dr),i=(0,r.Z)(o,2),a=i[0],u=i[1],l=(0,t.useMemo)((function(){return{state:a,dispatch:u}}),[a,u]);return(0,ie.tZ)(hr.Provider,{value:l,children:n})},vr={customStep:{enable:!1,value:1},yaxis:{limits:{enable:!1,range:{1:[0,0]}}}};function gr(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return vn(vn({},e),{},{yaxis:vn(vn({},e.yaxis),{},{limits:vn(vn({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"TOGGLE_CUSTOM_STEP":return vn(vn({},e),{},{customStep:vn(vn({},e.customStep),{},{enable:!e.customStep.enable})});case"SET_CUSTOM_STEP":return vn(vn({},e),{},{customStep:vn(vn({},e.customStep),{},{value:t.payload})});case"SET_YAXIS_LIMITS":return vn(vn({},e),{},{yaxis:vn(vn({},e.yaxis),{},{limits:vn(vn({},e.yaxis.limits),{},{range:t.payload})})});default:throw new Error}}var yr=(0,t.createContext)({}),br=function(){return(0,t.useContext)(yr).state},xr=function(){return(0,t.useContext)(yr).dispatch},Zr=function(e){var n=e.children,o=(0,t.useReducer)(gr,vr),i=(0,r.Z)(o,2),a=i[0],u=i[1],l=(0,t.useMemo)((function(){return{state:a,dispatch:u}}),[a,u]);return(0,ie.tZ)(yr.Provider,{value:l,children:n})},wr=n(7458),Dr=(0,wr.Z)({palette:{primary:{main:"#3F51B5"},secondary:{main:"#F50057"},error:{main:"#FF4141"}},components:{MuiFormHelperText:{styleOverrides:{root:{position:"absolute",top:"36px",left:"2px",margin:0}}},MuiInputLabel:{styleOverrides:{root:{fontSize:"12px",letterSpacing:"normal",lineHeight:"1",zIndex:0}}},MuiInputBase:{styleOverrides:{root:{"&.Mui-focused fieldset":{borderWidth:"1px !important"}}}},MuiSwitch:{defaultProps:{color:"secondary"}},MuiAccordion:{styleOverrides:{root:{boxShadow:"rgba(0, 0, 0, 0.16) 0px 1px 4px"}}},MuiPaper:{styleOverrides:{root:{boxShadow:"rgba(0, 0, 0, 0.2) 0px 3px 8px"}}},MuiButton:{styleOverrides:{contained:{boxShadow:"rgba(17, 17, 26, 0.1) 0px 0px 16px","&:hover":{boxShadow:"rgba(0, 0, 0, 0.1) 0px 4px 12px"}}}},MuiIconButton:{defaultProps:{size:"large"},styleOverrides:{sizeLarge:{borderRadius:"20%",height:"40px",width:"41px"},sizeMedium:{borderRadius:"20%"},sizeSmall:{borderRadius:"20%"}}},MuiTooltip:{styleOverrides:{tooltip:{fontSize:"10px"}}},MuiAlert:{styleOverrides:{root:{fontSize:"14px",boxShadow:"rgba(0, 0, 0, 0.08) 0px 4px 12px"}}}},typography:{fontSize:10}}),kr=(0,Ee.Z)({key:"css",prepend:!0});function Sr(e){var t=e.injectFirst,n=e.children;return t?(0,ie.tZ)(Ae.C,{value:kr,children:n}):n}var Cr=n(5693),_r=n(201),Er="function"===typeof Symbol&&Symbol.for?Symbol.for("mui.nested"):"__THEME_NESTED__";var Ar=function(e){var n=e.children,r=e.theme,i=(0,_r.Z)(),a=t.useMemo((function(){var e=null===i?r:function(e,t){return"function"===typeof t?t(e):(0,o.Z)({},e,t)}(i,r);return null!=e&&(e[Er]=null!==i),e}),[r,i]);return(0,ie.tZ)(Cr.Z.Provider,{value:a,children:n})};function Mr(e){var t=(0,Rt.Z)();return(0,ie.tZ)(Ae.T.Provider,{value:"object"===typeof t?t:{},children:e.children})}var Tr=function(e){var t=e.children,n=e.theme;return(0,ie.tZ)(Ar,{theme:n,children:(0,ie.tZ)(Mr,{children:t})})};function Pr(e){var t=e.styles,n=e.defaultTheme,r=void 0===n?{}:n,o="function"===typeof t?function(e){return t(void 0===(n=e)||null===n||0===Object.keys(n).length?r:e);var n}:t;return(0,ie.tZ)(Re,{styles:o})}var Rr=function(e){return(0,ie.tZ)(Pr,(0,o.Z)({},e,{defaultTheme:Ft.Z}))},Fr=function(e,t){return(0,o.Z)({WebkitFontSmoothing:"antialiased",MozOsxFontSmoothing:"grayscale",boxSizing:"border-box",WebkitTextSizeAdjust:"100%"},t&&{colorScheme:e.palette.mode})},Or=function(e){return(0,o.Z)({color:e.palette.text.primary},e.typography.body1,{backgroundColor:e.palette.background.default,"@media print":{backgroundColor:e.palette.common.white}})};var Br=function(e){var n=(0,ee.Z)({props:e,name:"MuiCssBaseline"}),r=n.children,i=n.enableColorScheme,a=void 0!==i&&i;return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(Rr,{styles:function(e){return function(e){var t,n,r={html:Fr(e,arguments.length>1&&void 0!==arguments[1]&&arguments[1]),"*, *::before, *::after":{boxSizing:"inherit"},"strong, b":{fontWeight:e.typography.fontWeightBold},body:(0,o.Z)({margin:0},Or(e),{"&::backdrop":{backgroundColor:e.palette.background.default}})},i=null==(t=e.components)||null==(n=t.MuiCssBaseline)?void 0:n.styleOverrides;return i&&(r=[r,i]),r}(e,a)}}),r]})},Ir=t.createContext(null);function Lr(e){var n=e.children,r=e.dateAdapter,o=e.dateFormats,i=e.dateLibInstance,a=e.locale,u=t.useMemo((function(){return new r({locale:a,formats:o,instance:i})}),[r,a,o,i]),l=t.useMemo((function(){return{minDate:u.date("1900-01-01T00:00:00.000"),maxDate:u.date("2099-12-31T00:00:00.000")}}),[u]),s=t.useMemo((function(){return{utils:u,defaultDates:l}}),[l,u]);return(0,ie.tZ)(Ir.Provider,{value:s,children:n})}var Nr=n(7798),zr=n.n(Nr),jr=n(3825),Wr=n.n(jr),$r=n(8743),Hr=n.n($r);yn().extend(zr()),yn().extend(Wr()),yn().extend(Hr());var Yr={normalDateWithWeekday:"ddd, MMM D",normalDate:"D MMMM",shortDate:"MMM D",monthAndDate:"MMMM D",dayOfMonth:"D",year:"YYYY",month:"MMMM",monthShort:"MMM",monthAndYear:"MMMM YYYY",weekday:"dddd",weekdayShort:"ddd",minutes:"mm",hours12h:"hh",hours24h:"HH",seconds:"ss",fullTime:"LT",fullTime12h:"hh:mm A",fullTime24h:"HH:mm",fullDate:"ll",fullDateWithWeekday:"dddd, LL",fullDateTime:"lll",fullDateTime12h:"ll hh:mm A",fullDateTime24h:"ll HH:mm",keyboardDate:"L",keyboardDateTime:"L LT",keyboardDateTime12h:"L hh:mm A",keyboardDateTime24h:"L HH:mm"},Vr=function(e){var t=this,n=void 0===e?{}:e,r=n.locale,o=n.formats,i=n.instance;this.lib="dayjs",this.is12HourCycleInCurrentLocale=function(){var e,n;return/A|a/.test(null===(n=null===(e=t.rawDayJsInstance.Ls[t.locale||"en"])||void 0===e?void 0:e.formats)||void 0===n?void 0:n.LT)},this.getCurrentLocaleCode=function(){return t.locale||"en"},this.getFormatHelperText=function(e){return e.match(/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?)|./g).map((function(e){var n,r;return"L"===e[0]&&null!==(r=null===(n=t.rawDayJsInstance.Ls[t.locale||"en"])||void 0===n?void 0:n.formats[e])&&void 0!==r?r:e})).join("").replace(/a/gi,"(a|p)m").toLocaleLowerCase()},this.parseISO=function(e){return t.dayjs(e)},this.toISO=function(e){return e.toISOString()},this.parse=function(e,n){return""===e?null:t.dayjs(e,n,t.locale,!0)},this.date=function(e){return null===e?null:t.dayjs(e)},this.toJsDate=function(e){return e.toDate()},this.isValid=function(e){return t.dayjs(e).isValid()},this.isNull=function(e){return null===e},this.getDiff=function(e,t,n){return e.diff(t,n)},this.isAfter=function(e,t){return e.isAfter(t)},this.isBefore=function(e,t){return e.isBefore(t)},this.isAfterDay=function(e,t){return e.isAfter(t,"day")},this.isBeforeDay=function(e,t){return e.isBefore(t,"day")},this.isBeforeYear=function(e,t){return e.isBefore(t,"year")},this.isAfterYear=function(e,t){return e.isAfter(t,"year")},this.startOfDay=function(e){return e.clone().startOf("day")},this.endOfDay=function(e){return e.clone().endOf("day")},this.format=function(e,n){return t.formatByString(e,t.formats[n])},this.formatByString=function(e,n){return t.dayjs(e).format(n)},this.formatNumber=function(e){return e},this.getHours=function(e){return e.hour()},this.addSeconds=function(e,t){return t<0?e.subtract(Math.abs(t),"second"):e.add(t,"second")},this.addMinutes=function(e,t){return t<0?e.subtract(Math.abs(t),"minute"):e.add(t,"minute")},this.addHours=function(e,t){return t<0?e.subtract(Math.abs(t),"hour"):e.add(t,"hour")},this.addDays=function(e,t){return t<0?e.subtract(Math.abs(t),"day"):e.add(t,"day")},this.addWeeks=function(e,t){return t<0?e.subtract(Math.abs(t),"week"):e.add(t,"week")},this.addMonths=function(e,t){return t<0?e.subtract(Math.abs(t),"month"):e.add(t,"month")},this.setMonth=function(e,t){return e.set("month",t)},this.setHours=function(e,t){return e.set("hour",t)},this.getMinutes=function(e){return e.minute()},this.setMinutes=function(e,t){return e.clone().set("minute",t)},this.getSeconds=function(e){return e.second()},this.setSeconds=function(e,t){return e.clone().set("second",t)},this.getMonth=function(e){return e.month()},this.getDaysInMonth=function(e){return e.daysInMonth()},this.isSameDay=function(e,t){return e.isSame(t,"day")},this.isSameMonth=function(e,t){return e.isSame(t,"month")},this.isSameYear=function(e,t){return e.isSame(t,"year")},this.isSameHour=function(e,t){return e.isSame(t,"hour")},this.getMeridiemText=function(e){return"am"===e?"AM":"PM"},this.startOfMonth=function(e){return e.clone().startOf("month")},this.endOfMonth=function(e){return e.clone().endOf("month")},this.startOfWeek=function(e){return e.clone().startOf("week")},this.endOfWeek=function(e){return e.clone().endOf("week")},this.getNextMonth=function(e){return e.clone().add(1,"month")},this.getPreviousMonth=function(e){return e.clone().subtract(1,"month")},this.getMonthArray=function(e){for(var n=[e.clone().startOf("year")];n.length<12;){var r=n[n.length-1];n.push(t.getNextMonth(r))}return n},this.getYear=function(e){return e.year()},this.setYear=function(e,t){return e.clone().set("year",t)},this.mergeDateAndTime=function(e,t){return e.hour(t.hour()).minute(t.minute()).second(t.second())},this.getWeekdays=function(){var e=t.dayjs().startOf("week");return[0,1,2,3,4,5,6].map((function(n){return t.formatByString(e.add(n,"day"),"dd")}))},this.isEqual=function(e,n){return null===e&&null===n||t.dayjs(e).isSame(n)},this.getWeekArray=function(e){for(var n=t.dayjs(e).clone().startOf("month").startOf("week"),r=t.dayjs(e).clone().endOf("month").endOf("week"),o=0,i=n,a=[];i.isBefore(r);){var u=Math.floor(o/7);a[u]=a[u]||[],a[u].push(i),i=i.clone().add(1,"day"),o+=1}return a},this.getYearRange=function(e,n){for(var r=t.dayjs(e).startOf("year"),o=t.dayjs(n).endOf("year"),i=[],a=r;a.isBefore(o);)i.push(a),a=a.clone().add(1,"year");return i},this.isWithinRange=function(e,t){var n=t[0],r=t[1];return e.isBetween(n,r,null,"[]")},this.rawDayJsInstance=i||yn(),this.dayjs=function(e,t){return t?function(){for(var n=[],r=0;r0&&void 0!==arguments[0]?arguments[0]:{},n=e.defaultTheme,r=e.defaultClassName,i=void 0===r?"MuiBox-root":r,a=e.generateClassName,u=e.styleFunctionSx,l=void 0===u?Gr.Z:u,s=(0,Xr.ZP)("div")(l),c=t.forwardRef((function(e,t){var r=(0,Rt.Z)(n),u=eo(e),l=u.className,c=u.component,d=void 0===c?"div":c,f=(0,X.Z)(u,to);return(0,ie.tZ)(s,(0,o.Z)({as:d,ref:t,className:(0,G.Z)(l,a?a(i):i),theme:r},f))}));return c}({defaultTheme:(0,wr.Z)(),defaultClassName:"MuiBox-root",generateClassName:no.Z.generate}),oo=ro,io=n(181);function ao(e,t){var n="undefined"!==typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=(0,io.Z)(e))||t&&e&&"number"===typeof e.length){n&&(e=n);var r=0,o=function(){};return{s:o,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){u=!0,i=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw i}}}}var uo,lo,so="u-off",co="u-label",fo="width",po="height",ho="top",mo="bottom",vo="left",go="right",yo="#000",bo="#0000",xo="mousemove",Zo="mousedown",wo="mouseup",Do="mouseenter",ko="mouseleave",So="dblclick",Co="change",_o="dppxchange",Eo="undefined"!=typeof window,Ao=Eo?document:null,Mo=Eo?window:null,To=Eo?navigator:null;function Po(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function Ro(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function Fo(e,t,n){e.style[t]=n+"px"}function Oo(e,t,n,r){var o=Ao.createElement(e);return null!=t&&Po(o,t),null!=n&&n.insertBefore(o,r),o}function Bo(e,t){return Oo("div",e,t)}var Io=new WeakMap;function Lo(e,t,n,r,o){var i="translate("+t+"px,"+n+"px)";i!=Io.get(e)&&(e.style.transform=i,Io.set(e,i),t<0||n<0||t>r||n>o?Po(e,so):Ro(e,so))}var No=new WeakMap;function zo(e,t,n){var r=t+n;r!=No.get(e)&&(No.set(e,r),e.style.background=t,e.style.borderColor=n)}var jo=new WeakMap;function Wo(e,t,n,r){var o=t+""+n;o!=jo.get(e)&&(jo.set(e,o),e.style.height=n+"px",e.style.width=t+"px",e.style.marginLeft=r?-t/2+"px":0,e.style.marginTop=r?-n/2+"px":0)}var $o={passive:!0},Ho=vn(vn({},$o),{},{capture:!0});function Yo(e,t,n,r){t.addEventListener(e,n,r?Ho:$o)}function Vo(e,t,n,r){t.removeEventListener(e,n,r?Ho:$o)}function Uo(e,t,n,r){var o;n=n||0;for(var i=(r=r||t.length-1)<=2147483647;r-n>1;)t[o=i?n+r>>1:fi((n+r)/2)]=t&&o<=n;o+=r)if(null!=e[o])return o;return-1}function Xo(e,t,n,r){var o=wi,i=-wi;if(1==r)o=e[t],i=e[n];else if(-1==r)o=e[n],i=e[t];else for(var a=t;a<=n;a++)null!=e[a]&&(o=mi(o,e[a]),i=vi(i,e[a]));return[o,i]}function Go(e,t,n){for(var r=wi,o=-wi,i=t;i<=n;i++)e[i]>0&&(r=mi(r,e[i]),o=vi(o,e[i]));return[r==wi?1:r,o==-wi?10:o]}Eo&&function e(){var t=devicePixelRatio;uo!=t&&(uo=t,lo&&Vo(Co,lo,e),lo=matchMedia("(min-resolution: ".concat(uo-.001,"dppx) and (max-resolution: ").concat(uo+.001,"dppx)")),Yo(Co,lo,e),Mo.dispatchEvent(new CustomEvent(_o)))}();var Ko=[0,0];function Qo(e,t,n,r){return Ko[0]=n<0?Fi(e,-n):e,Ko[1]=r<0?Fi(t,-r):t,Ko}function Jo(e,t,n,r){var o,i,a,u=yi(e),l=10==n?bi:xi;return e==t&&(-1==u?(e*=n,t/=n):(e/=n,t*=n)),r?(o=fi(l(e)),i=hi(l(t)),e=(a=Qo(gi(n,o),gi(n,i),o,i))[0],t=a[1]):(o=fi(l(di(e))),i=fi(l(di(t))),e=Ri(e,(a=Qo(gi(n,o),gi(n,i),o,i))[0]),t=Pi(t,a[1])),[e,t]}function ei(e,t,n,r){var o=Jo(e,t,n,r);return 0==e&&(o[0]=0),0==t&&(o[1]=0),o}var ti={mode:3,pad:.1},ni={pad:0,soft:null,mode:0},ri={min:ni,max:ni};function oi(e,t,n,r){return $i(n)?ai(e,t,n):(ni.pad=n,ni.soft=r?0:null,ni.mode=r?3:0,ai(e,t,ri))}function ii(e,t){return null==e?t:e}function ai(e,t,n){var r=n.min,o=n.max,i=ii(r.pad,0),a=ii(o.pad,0),u=ii(r.hard,-wi),l=ii(o.hard,wi),s=ii(r.soft,wi),c=ii(o.soft,-wi),d=ii(r.mode,0),f=ii(o.mode,0),p=t-e;p<1e-9&&(p=0,0!=e&&0!=t||(p=1e-9,2==d&&s!=wi&&(i=0),2==f&&c!=-wi&&(a=0)));var h=p||di(t)||1e3,m=bi(h),v=gi(10,fi(m)),g=Fi(Ri(e-h*(0==p?0==e?.1:1:i),v/10),9),y=e>=s&&(1==d||3==d&&g<=s||2==d&&g>=s)?s:wi,b=vi(u,g=y?y:mi(y,g)),x=Fi(Pi(t+h*(0==p?0==t?.1:1:a),v/10),9),Z=t<=c&&(1==f||3==f&&x>=c||2==f&&x<=c)?c:-wi,w=mi(l,x>Z&&t<=Z?Z:vi(Z,x));return b==w&&0==b&&(w=100),[b,w]}var ui=new Intl.NumberFormat(Eo?To.language:"en-US"),li=function(e){return ui.format(e)},si=Math,ci=si.PI,di=si.abs,fi=si.floor,pi=si.round,hi=si.ceil,mi=si.min,vi=si.max,gi=si.pow,yi=si.sign,bi=si.log10,xi=si.log2,Zi=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return si.asinh(e/t)},wi=1/0;function Di(e){return 1+(0|bi((e^e>>31)-(e>>31)))}function ki(e,t){return pi(e/t)*t}function Si(e,t,n){return mi(vi(e,t),n)}function Ci(e){return"function"==typeof e?e:function(){return e}}var _i=function(e){return e},Ei=function(e,t){return t},Ai=function(e){return null},Mi=function(e){return!0},Ti=function(e,t){return e==t};function Pi(e,t){return hi(e/t)*t}function Ri(e,t){return fi(e/t)*t}function Fi(e,t){return pi(e*(t=Math.pow(10,t)))/t}var Oi=new Map;function Bi(e){return((""+e).split(".")[1]||"").length}function Ii(e,t,n,r){for(var o=[],i=r.map(Bi),a=t;a=0&&a>=0?0:u)+(a>=i[s]?0:i[s]),f=Fi(c,d);o.push(f),Oi.set(f,d)}return o}var Li={},Ni=[],zi=[null,null],ji=Array.isArray;function Wi(e){return"string"==typeof e}function $i(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function Hi(e){return null!=e&&"object"==typeof e}function Yi(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:$i;if(ji(e)){var r=e.find((function(e){return null!=e}));if(ji(r)||n(r)){t=Array(e.length);for(var o=0;oi){for(r=a-1;r>=0&&null==e[r];)e[r--]=null;for(r=a+1;r12?t-12:t},AA:function(e){return e.getHours()>=12?"PM":"AM"},aa:function(e){return e.getHours()>=12?"pm":"am"},a:function(e){return e.getHours()>=12?"p":"a"},mm:function(e){return ta(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return ta(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function ra(e,t){t=t||ea;for(var n,r=[],o=/\{([a-z]+)\}|[^{]+/gi;n=o.exec(e);)r.push("{"==n[0][0]?na[n[1]]:n[0]);return function(e){for(var n="",o=0;o=a,m=d>=i&&d=o?o:d,M=b+(fi(s)-fi(g))+Pi(g-b,A);p.push(M);for(var T=t(M),P=T.getHours()+T.getMinutes()/n+T.getSeconds()/r,R=d/r,F=f/u.axes[l]._space;!((M=Fi(M+d,1==e?0:3))>c);)if(R>1){var O=fi(Fi(P+R,6))%24,B=t(M).getHours()-O;B>1&&(B=-1),P=(P+R)%24,Fi(((M-=B*r)-p[p.length-1])/d,3)*F>=.7&&p.push(M)}else p.push(M)}return p}}]}var wa=Za(1),Da=(0,r.Z)(wa,3),ka=Da[0],Sa=Da[1],Ca=Da[2],_a=Za(.001),Ea=(0,r.Z)(_a,3),Aa=Ea[0],Ma=Ea[1],Ta=Ea[2];function Pa(e,t){return e.map((function(e){return e.map((function(n,r){return 0==r||8==r||null==n?n:t(1==r||0==e[8]?n:e[1]+n)}))}))}function Ra(e,t){return function(n,r,o,i,a){var u,l,s,c,d,f,p=t.find((function(e){return a>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),o=n.getMonth(),i=n.getDate(),a=n.getHours(),h=n.getMinutes(),m=n.getSeconds(),v=r!=u&&p[2]||o!=l&&p[3]||i!=s&&p[4]||a!=c&&p[5]||h!=d&&p[6]||m!=f&&p[7]||p[1];return u=r,l=o,s=i,c=a,d=h,f=m,v(n)}))}}function Fa(e,t,n){return new Date(e,t,n)}function Oa(e,t){return t(e)}Ii(2,-53,53,[1]);function Ba(e,t){return function(n,r){return t(e(r))}}var Ia={show:!0,live:!0,isolate:!1,markers:{show:!0,width:2,stroke:function(e,t){var n=e.series[t];return n.width?n.stroke(e,t):n.points.width?n.points.stroke(e,t):null},fill:function(e,t){return e.series[t].fill(e,t)},dash:"solid"},idx:null,idxs:null,values:[]};var La=[0,0];function Na(e,t,n){return function(e){0==e.button&&n(e)}}function za(e,t,n){return n}var ja={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return La[0]=t,La[1]=n,La},points:{show:function(e,t){var n=e.cursor.points,r=Bo(),o=n.size(e,t);Fo(r,fo,o),Fo(r,po,o);var i=o/-2;Fo(r,"marginLeft",i),Fo(r,"marginTop",i);var a=n.width(e,t,o);return a&&Fo(r,"borderWidth",a),r},size:function(e,t){return uu(e.series[t].points.width,1)},width:0,stroke:function(e,t){var n=e.series[t].points;return n._stroke||n._fill},fill:function(e,t){var n=e.series[t].points;return n._fill||n._stroke}},bind:{mousedown:Na,mouseup:Na,click:Na,dblclick:Na,mousemove:za,mouseleave:za,mouseenter:za},drag:{setScale:!0,x:!0,y:!1,dist:0,uni:null,_x:!1,_y:!1},focus:{prox:-1},left:-10,top:-10,idx:null,dataIdx:function(e,t,n){return n},idxs:null},Wa={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},$a=Vi({},Wa,{filter:Ei}),Ha=Vi({},$a,{size:10}),Ya=Vi({},Wa,{show:!1}),Va='12px system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"',Ua="bold "+Va,qa={show:!0,scale:"x",stroke:yo,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Ua,side:2,grid:$a,ticks:Ha,border:Ya,font:Va,rotate:0},Xa={show:!0,scale:"x",auto:!1,sorted:1,min:wi,max:-wi,idxs:[]};function Ga(e,t,n,r,o){return t.map((function(e){return null==e?"":li(e)}))}function Ka(e,t,n,r,o,i,a){for(var u=[],l=Oi.get(o)||0,s=n=a?n:Fi(Pi(n,o),l);s<=r;s=Fi(s+o,l))u.push(Object.is(s,-0)?0:s);return u}function Qa(e,t,n,r,o,i,a){var u=[],l=e.scales[e.axes[t].scale].log,s=fi((10==l?bi:xi)(n));o=gi(l,s),s<0&&(o=Fi(o,-s));var c=n;do{u.push(c),(c=Fi(c+o,Oi.get(o)))>=o*l&&(o=c)}while(c<=r);return u}function Ja(e,t,n,r,o,i,a){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Qa(e,t,vi(u,n),r,o):[u],s=r>=0&&n<=0?[0]:[];return(n<-u?Qa(e,t,vi(u,-r),-n,o):[u]).reverse().map((function(e){return-e})).concat(s,l)}var eu=/./,tu=/[12357]/,nu=/[125]/,ru=/1/;function ou(e,t,n,r,o){var i=e.axes[n],a=i.scale,u=e.scales[a];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,s=i._space,c=l(10,a),d=l(9,a)-c>=s?eu:l(7,a)-c>=s?tu:l(5,a)-c>=s?nu:ru;return t.map((function(e){return 4==u.distr&&0==e||d.test(e)?e:null}))}function iu(e,t){return null==t?"":li(t)}var au={show:!0,scale:"y",stroke:yo,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Ua,side:3,grid:$a,ticks:Ha,border:Ya,font:Va,rotate:0};function uu(e,t){return Fi((3+2*(e||1))*t,3)}var lu={scale:null,auto:!0,sorted:0,min:wi,max:-wi},su={show:!0,auto:!0,sorted:0,alpha:1,facets:[Vi({},lu,{scale:"x"}),Vi({},lu,{scale:"y"})]},cu={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:function(e,t,n,r,o){return o},alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,o=n.idxs,i=e._data[0],a=e.valToPos(i[o[0]],r,!0),u=e.valToPos(i[o[1]],r,!0),l=di(u-a)/(e.series[t].points.space*uo);return o[1]-o[0]<=l},filter:null},values:null,min:wi,max:-wi,idxs:[],path:null,clip:null};function du(e,t,n,r,o){return n/10}var fu={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},pu=Vi({},fu,{time:!1,ori:1}),hu={};function mu(e,t){var n=hu[e];return n||(n={key:e,plots:[],sub:function(e){n.plots.push(e)},unsub:function(e){n.plots=n.plots.filter((function(t){return t!=e}))},pub:function(e,t,r,o,i,a,u){for(var l=0;l0){a=new Path2D;for(var u=0==t?Eu:Au,l=n,s=0;sc[0]){var d=c[0]-l;d>0&&u(a,l,r,d,r+i),l=c[1]}}var f=n+o-l;f>0&&u(a,l,r,f,r+i)}return a}function Zu(e,t,n){var r=e[e.length-1];r&&r[0]==t?r[1]=n:e.push([t,n])}function wu(e){return 0==e?_i:1==e?pi:function(t){return ki(t,e)}}function Du(e){var t=0==e?ku:Su,n=0==e?function(e,t,n,r,o,i){e.arcTo(t,n,r,o,i)}:function(e,t,n,r,o,i){e.arcTo(n,t,o,r,i)},r=0==e?function(e,t,n,r,o){e.rect(t,n,r,o)}:function(e,t,n,r,o){e.rect(n,t,o,r)};return function(e,o,i,a,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,o,i,a,u):(l=mi(l,a/2,u/2),t(e,o+l,i),n(e,o+a,i,o+a,i+u,l),n(e,o+a,i+u,o,i+u,l),n(e,o,i+u,o,i,l),n(e,o,i,o+a,i,l),e.closePath())}}var ku=function(e,t,n){e.moveTo(t,n)},Su=function(e,t,n){e.moveTo(n,t)},Cu=function(e,t,n){e.lineTo(t,n)},_u=function(e,t,n){e.lineTo(n,t)},Eu=Du(0),Au=Du(1),Mu=function(e,t,n,r,o,i){e.arc(t,n,r,o,i)},Tu=function(e,t,n,r,o,i){e.arc(n,t,r,o,i)},Pu=function(e,t,n,r,o,i,a){e.bezierCurveTo(t,n,r,o,i,a)},Ru=function(e,t,n,r,o,i,a){e.bezierCurveTo(n,t,o,r,a,i)};function Fu(e){return function(e,t,n,r,o){return vu(e,t,(function(t,i,a,u,l,s,c,d,f,p,h){var m,v,g=t.pxRound,y=t.points;0==u.ori?(m=ku,v=Mu):(m=Su,v=Tu);var b=Fi(y.width*uo,3),x=(y.size-y.width)/2*uo,Z=Fi(2*x,3),w=new Path2D,D=new Path2D,k=e.bbox,S=k.left,C=k.top,_=k.width,E=k.height;Eu(D,S-Z,C-Z,_+2*Z,E+2*Z);var A=function(e){if(null!=a[e]){var t=g(s(i[e],u,p,d)),n=g(c(a[e],l,h,f));m(w,t+x,n),v(w,t,n,x,0,2*ci)}};if(o)o.forEach(A);else for(var M=n;M<=r;M++)A(M);return{stroke:b>0?w:null,fill:w,clip:D,flags:3}}))}}function Ou(e){return function(t,n,r,o,i,a){r!=o&&(i!=r&&a!=r&&e(t,n,r),i!=o&&a!=o&&e(t,n,o),e(t,n,a))}}var Bu=Ou(Cu),Iu=Ou(_u);function Lu(){return function(e,t,n,o){return vu(e,t,(function(i,a,u,l,s,c,d,f,p,h,m){var v,g,y=i.pxRound,b=function(e){return y(c(e,l,h,f))},x=function(e){return y(d(e,s,m,p))};0==l.ori?(v=Cu,g=Bu):(v=_u,g=Iu);for(var Z,w,D,k=l.dir*(0==l.ori?1:-1),S={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},C=S.stroke,_=wi,E=-wi,A=b(a[1==k?n:o]),M=qo(u,n,o,1*k),T=qo(u,n,o,-1*k),P=b(a[M]),R=b(a[T]),F=1==k?n:o;F>=n&&F<=o;F+=k){var O=b(a[F]);O==A?null!=u[F]&&(w=x(u[F]),_==wi&&(v(C,O,w),Z=w),_=mi(w,_),E=vi(w,E)):(_!=wi&&(g(C,A,_,E,Z,w),D=A),null!=u[F]?(v(C,O,w=x(u[F])),_=E=Z=w):(_=wi,E=-wi),A=O)}_!=wi&&_!=E&&D!=A&&g(C,A,_,E,Z,w);var B=gu(e,t),I=(0,r.Z)(B,2),L=I[0],N=I[1];if(null!=i.fill||0!=L){var z=S.fill=new Path2D(C),j=x(i.fillTo(e,t,i.min,i.max,L));v(z,R,j),v(z,P,j)}if(!i.spanGaps){var W,$=[];P>f&&$.push([f,P]),(W=$).push.apply(W,(0,ve.Z)(function(e,t,n,r,o,i){for(var a=[],u=1==o?n:r;u>=n&&u<=r;u+=o)if(null===t[u]){var l=u,s=u;if(1==o)for(;++u<=r&&null===t[u];)s=u;else for(;--u>=n&&null===t[u];)s=u;var c=i(e[l]),d=s==l||i(e[s]);c=i(e[l-o]),(d=i(e[s+o]))>=c&&a.push([c,d])}return a}(a,u,n,o,k,b))),R0!==s[p]>0?l[p]=0:(l[p]=3*(d[p-1]+d[p])/((2*d[p]+d[p-1])/s[p-1]+(d[p]+2*d[p-1])/s[p]),isFinite(l[p])||(l[p]=0));l[a-1]=s[a-2];for(var h=0;h=o&&i+(l<5?Oi.get(l):0)<=17)return[l,s]}while(++u0?e:t.clamp(o,e,t.min,t.max,t.key)):4==t.distr?Zi(e,t.asinh):e)-t._min)/(t._max-t._min)}function u(e,t,n,r){var o=a(e,t);return r+n*(-1==t.dir?1-o:o)}function l(e,t,n,r){var o=a(e,t);return r+n*(-1==t.dir?o:1-o)}function s(e,t,n,r){return 0==t.ori?u(e,t,n,r):l(e,t,n,r)}o.valToPosH=u,o.valToPosV=l;var c=!1;o.status=0;var d=o.root=Bo("uplot");(null!=e.id&&(d.id=e.id),Po(d,e.class),e.title)&&(Bo("u-title",d).textContent=e.title);var f=Oo("canvas"),p=o.ctx=f.getContext("2d"),h=Bo("u-wrap",d),m=o.under=Bo("u-under",h);h.appendChild(f);var v=o.over=Bo("u-over",h),g=+ii((e=Yi(e)).pxAlign,1),y=wu(g);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(o,e)||e)}));var b,x,Z=e.ms||.001,w=o.series=1==i?Hu(e.series||[],Xa,cu,!1):(b=e.series||[null],x=su,b.map((function(e,t){return 0==t?null:Vi({},x,e)}))),D=o.axes=Hu(e.axes||[],qa,au,!0),k=o.scales={},S=o.bands=e.bands||[];S.forEach((function(e){e.fill=Ci(e.fill||null),e.dir=ii(e.dir,-1)}));var C=2==i?w[1].facets[0].scale:w[0].scale,_={axes:function(){for(var e=function(e){var t=D[e];if(!t.show||!t._show)return"continue";var n=t.side,i=n%2,a=void 0,u=void 0,l=t.stroke(o,e),c=0==n||3==n?-1:1;if(t.label){var d=t.labelGap*c,f=pi((t._lpos+d)*uo);et(t.labelFont[0],l,"center",2==n?ho:mo),p.save(),1==i?(a=u=0,p.translate(f,pi(me+ge/2)),p.rotate((3==n?-ci:ci)/2)):(a=pi(he+ve/2),u=f),p.fillText(t.label,a,u),p.restore()}var h=(0,r.Z)(t._found,2),m=h[0],v=h[1];if(0==v)return"continue";var g=k[t.scale],b=0==i?ve:ge,x=0==i?he:me,Z=pi(t.gap*uo),w=t._splits,S=2==g.distr?w.map((function(e){return Xe[e]})):w,C=2==g.distr?Xe[w[1]]-Xe[w[0]]:m,_=t.ticks,E=t.border,A=_.show?pi(_.size*uo):0,M=t._rotate*-ci/180,T=y(t._pos*uo),P=T+(A+Z)*c;u=0==i?P:0,a=1==i?P:0,et(t.font[0],l,1==t.align?vo:2==t.align?go:M>0?vo:M<0?go:0==i?"center":3==n?go:vo,M||1==i?"middle":2==n?ho:mo);for(var R=1.5*t.font[1],F=w.map((function(e){return y(s(e,g,b,x))})),O=t._values,B=0;B0&&(w.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var r=function(e){var t=Si(Ve-1,0,Re-1),n=Si(Ue+1,0,Re-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){$e!=e.alpha&&(p.globalAlpha=$e=e.alpha),nt(t,!1),e._paths&&rt(t,!1),nt(t,!0);var n=e.points.show(o,t,Ve,Ue),r=e.points.filter(o,t,n,e._paths?e._paths.gaps:null);(n||r)&&(e.points._paths=e.points.paths(o,t,Ve,Ue,r),rt(t,!0)),1!=$e&&(p.globalAlpha=$e=1),un("drawSeries",t)}})))}},E=(e.drawOrder||["axes","series"]).map((function(e){return _[e]}));function A(t){var n=k[t];if(null==n){var r=(e.scales||Li)[t]||Li;if(null!=r.from)A(r.from),k[t]=Vi({},k[r.from],r,{key:t});else{(n=k[t]=Vi({},t==C?fu:pu,r)).key=t;var o=n.time,a=n.range,u=ji(a);if((t!=C||2==i&&!o)&&(!u||null!=a[0]&&null!=a[1]||(a={min:null==a[0]?ti:{mode:1,hard:a[0],soft:a[0]},max:null==a[1]?ti:{mode:1,hard:a[1],soft:a[1]}},u=!1),!u&&$i(a))){var l=a;a=function(e,t,n){return null==t?zi:oi(t,n,l)}}n.range=Ci(a||(o?Uu:t==C?3==n.distr?Gu:4==n.distr?Qu:Vu:3==n.distr?Xu:4==n.distr?Ku:qu)),n.auto=Ci(!u&&n.auto),n.clamp=Ci(n.clamp||du),n._min=n._max=null}}}for(var M in A("x"),A("y"),1==i&&w.forEach((function(e){A(e.scale)})),D.forEach((function(e){A(e.scale)})),e.scales)A(M);var T,P,R=k[C],F=R.distr;0==R.ori?(Po(d,"u-hz"),T=u,P=l):(Po(d,"u-vt"),T=l,P=u);var O={};for(var B in k){var I=k[B];null==I.min&&null==I.max||(O[B]={min:I.min,max:I.max},I.min=I.max=null)}var L,N=e.tzDate||function(e){return new Date(pi(e/Z))},z=e.fmtDate||ra,j=1==Z?Ca(N):Ta(N),W=Ra(N,Pa(1==Z?Sa:Ma,z)),$=Ba(N,Oa("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",z)),H=[],Y=o.legend=Vi({},Ia,e.legend),V=Y.show,U=Y.markers;Y.idxs=H,U.width=Ci(U.width),U.dash=Ci(U.dash),U.stroke=Ci(U.stroke),U.fill=Ci(U.fill);var q,X=[],G=[],K=!1,Q={};if(Y.live){var J=w[1]?w[1].values:null;for(var ee in q=(K=null!=J)?J(o,1,0):{_:0})Q[ee]="--"}if(V)if(L=Oo("table","u-legend",d),K){var te=Oo("tr","u-thead",L);for(var ne in Oo("th",null,te),q)Oo("th",co,te).textContent=ne}else Po(L,"u-inline"),Y.live&&Po(L,"u-live");var re={show:!0},oe={show:!1};var ie=new Map;function ae(e,t,n){var r=ie.get(t)||{},i=Se.bind[e](o,t,n);i&&(Yo(e,t,r[e]=i),ie.set(t,r))}function ue(e,t,n){var r=ie.get(t)||{};for(var o in r)null!=e&&o!=e||(Vo(o,t,r[o]),delete r[o]);null==e&&ie.delete(t)}var le=0,se=0,ce=0,de=0,fe=0,pe=0,he=0,me=0,ve=0,ge=0;o.bbox={};var ye=!1,be=!1,xe=!1,Ze=!1,we=!1;function De(e,t,n){(n||e!=o.width||t!=o.height)&&ke(e,t),ct(!1),xe=!0,be=!0,Ze=we=Se.left>=0,kt()}function ke(e,t){o.width=le=ce=e,o.height=se=de=t,fe=pe=0,function(){var e=!1,t=!1,n=!1,r=!1;D.forEach((function(o,i){if(o.show&&o._show){var a=o.side,u=a%2,l=o._size+(null!=o.label?o.labelSize:0);l>0&&(u?(ce-=l,3==a?(fe+=l,r=!0):n=!0):(de-=l,0==a?(pe+=l,e=!0):t=!0))}})),Te[0]=e,Te[1]=n,Te[2]=t,Te[3]=r,ce-=Ye[1]+Ye[3],fe+=Ye[3],de-=Ye[2]+Ye[0],pe+=Ye[0]}(),function(){var e=fe+ce,t=pe+de,n=fe,r=pe;function o(o,i){switch(o){case 1:return(e+=i)-i;case 2:return(t+=i)-i;case 3:return(n-=i)+i;case 0:return(r-=i)+i}}D.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=o(n,e._size),null!=e.label&&(e._lpos=o(n,e.labelSize))}}))}();var n=o.bbox;he=n.left=ki(fe*uo,.5),me=n.top=ki(pe*uo,.5),ve=n.width=ki(ce*uo,.5),ge=n.height=ki(de*uo,.5)}o.setSize=function(e){De(e.width,e.height)};var Se=o.cursor=Vi({},ja,{drag:{y:2==i}},e.cursor);Se.idxs=H,Se._lock=!1;var Ce=Se.points;Ce.show=Ci(Ce.show),Ce.size=Ci(Ce.size),Ce.stroke=Ci(Ce.stroke),Ce.width=Ci(Ce.width),Ce.fill=Ci(Ce.fill);var _e=o.focus=Vi({},e.focus||{alpha:.3},Se.focus),Ee=_e.prox>=0,Ae=[null];function Me(e,t){if(1==i||t>0){var n=1==i&&k[e.scale].time,r=e.value;e.value=n?Wi(r)?Ba(N,Oa(r,z)):r||$:r||iu,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Wu||Ai,e.fillTo=Ci(e.fillTo||yu),e.pxAlign=+ii(e.pxAlign,g),e.pxRound=wu(e.pxAlign),e.stroke=Ci(e.stroke||null),e.fill=Ci(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var a=uu(e.width,1),u=e.points=Vi({},{size:a,width:vi(1,.2*a),stroke:e.stroke,space:2*a,paths:$u,_stroke:null,_fill:null},e.points);u.show=Ci(u.show),u.filter=Ci(u.filter),u.fill=Ci(u.fill),u.stroke=Ci(u.stroke),u.paths=Ci(u.paths),u.pxAlign=e.pxAlign}if(V){var l=function(e,t){if(0==t&&(K||!Y.live||2==i))return zi;var n=[],r=Oo("tr","u-series",L,L.childNodes[t]);Po(r,e.class),e.show||Po(r,so);var a=Oo("th",null,r);if(U.show){var u=Bo("u-marker",a);if(t>0){var l=U.width(o,t);l&&(u.style.border=l+"px "+U.dash(o,t)+" "+U.stroke(o,t)),u.style.background=U.fill(o,t)}}var s=Bo(co,a);for(var c in s.textContent=e.label,t>0&&(U.show||(s.style.color=e.width>0?U.stroke(o,t):U.fill(o,t)),ae("click",a,(function(t){if(!Se._lock){var n=w.indexOf(e);if((t.ctrlKey||t.metaKey)!=Y.isolate){var r=w.some((function(e,t){return t>0&&t!=n&&e.show}));w.forEach((function(e,t){t>0&&Lt(t,r?t==n?re:oe:re,!0,ln.setSeries)}))}else Lt(n,{show:!e.show},!0,ln.setSeries)}})),Ee&&ae(Do,a,(function(t){Se._lock||Lt(w.indexOf(e),Nt,!0,ln.setSeries)}))),q){var d=Oo("td","u-value",r);d.textContent="--",n.push(d)}return[r,n]}(e,t);X.splice(t,0,l[0]),G.splice(t,0,l[1]),Y.values.push(null)}if(Se.show){H.splice(t,0,null);var s=function(e,t){if(t>0){var n=Se.points.show(o,t);if(n)return Po(n,"u-cursor-pt"),Po(n,e.class),Lo(n,-10,-10,ce,de),v.insertBefore(n,Ae[t]),n}}(e,t);s&&Ae.splice(t,0,s)}un("addSeries",t)}o.addSeries=function(e,t){e=Yu(e,t=null==t?w.length:t,Xa,cu),w.splice(t,0,e),Me(w[t],t)},o.delSeries=function(e){if(w.splice(e,1),V){Y.values.splice(e,1),G.splice(e,1);var t=X.splice(e,1)[0];ue(null,t.firstChild),t.remove()}Se.show&&(H.splice(e,1),Ae.length>1&&Ae.splice(e,1)[0].remove()),un("delSeries",e)};var Te=[!1,!1,!1,!1];function Pe(e,t,n,o){var i=(0,r.Z)(n,4),a=i[0],u=i[1],l=i[2],s=i[3],c=t%2,d=0;return 0==c&&(s||u)&&(d=0==t&&!a||2==t&&!l?pi(qa.size/3):0),1==c&&(a||l)&&(d=1==t&&!u||3==t&&!s?pi(au.size/2):0),d}var Re,Fe,Oe,Be,Ie,Le,Ne,ze,je,We,$e,He=o.padding=(e.padding||[Pe,Pe,Pe,Pe]).map((function(e){return Ci(ii(e,Pe))})),Ye=o._padding=He.map((function(e,t){return e(o,t,Te,0)})),Ve=null,Ue=null,qe=1==i?w[0].idxs:null,Xe=null,Ge=!1;function Ke(e,n){if(t=null==e?[]:Yi(e,Hi),2==i){Re=0;for(var r=1;r=0,we=!0,kt()}}function Qe(){var e,n;if(Ge=!0,1==i)if(Re>0){if(Ve=qe[0]=0,Ue=qe[1]=Re-1,e=t[0][Ve],n=t[0][Ue],2==F)e=Ve,n=Ue;else if(1==Re)if(3==F){var o=Jo(e,e,R.log,!1),a=(0,r.Z)(o,2);e=a[0],n=a[1]}else if(4==F){var u=ei(e,e,R.log,!1),l=(0,r.Z)(u,2);e=l[0],n=l[1]}else if(R.time)n=e+pi(86400/Z);else{var s=oi(e,n,.1,!0),c=(0,r.Z)(s,2);e=c[0],n=c[1]}}else Ve=qe[0]=e=null,Ue=qe[1]=n=null;It(C,e,n)}function Je(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:bo,t=arguments.length>1?arguments[1]:void 0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Ni,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"butt",o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:bo,i=arguments.length>5&&void 0!==arguments[5]?arguments[5]:"round";e!=Fe&&(p.strokeStyle=Fe=e),o!=Oe&&(p.fillStyle=Oe=o),t!=Be&&(p.lineWidth=Be=t),i!=Le&&(p.lineJoin=Le=i),r!=Ne&&(p.lineCap=Ne=r),n!=Ie&&p.setLineDash(Ie=n)}function et(e,t,n,r){t!=Oe&&(p.fillStyle=Oe=t),e!=ze&&(p.font=ze=e),n!=je&&(p.textAlign=je=n),r!=We&&(p.textBaseline=We=r)}function tt(e,t,n,r){var i=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(e.auto(o,Ge)&&(null==t||null==t.min)){var a=ii(Ve,0),u=ii(Ue,r.length-1),l=null==n.min?3==e.distr?Go(r,a,u):Xo(r,a,u,i):[n.min,n.max];e.min=mi(e.min,n.min=l[0]),e.max=vi(e.max,n.max=l[1])}}function nt(e,t){var n=t?w[e].points:w[e];n._stroke=n.stroke(o,e),n._fill=n.fill(o,e)}function rt(e,n){var r=n?w[e].points:w[e],i=r._stroke,a=r._fill,u=r._paths,l=u.stroke,s=u.fill,c=u.clip,d=u.flags,f=null,h=Fi(r.width*uo,3),m=h%2/2;n&&null==a&&(a=h>0?"#fff":i);var v=1==r.pxAlign;if(v&&p.translate(m,m),!n){var g=he,y=me,b=ve,x=ge,Z=h*uo/2;0==r.min&&(x+=Z),0==r.max&&(y-=Z,x+=Z),(f=new Path2D).rect(g,y,b,x)}n?ot(i,h,r.dash,r.cap,a,l,s,d,c):function(e,n,r,i,a,u,l,s,c,d,f){var p=!1;S.forEach((function(h,m){if(h.series[0]==e){var v,g=w[h.series[1]],y=t[h.series[1]],b=(g._paths||Li).band;ji(b)&&(b=1==h.dir?b[0]:b[1]);var x=null;g.show&&b&&function(e,t,n){for(t=ii(t,0),n=ii(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(y,Ve,Ue)?(x=h.fill(o,m)||u,v=g._paths.clip):b=null,ot(n,r,i,a,x,l,s,c,d,f,v,b),p=!0}})),p||ot(n,r,i,a,u,l,s,c,d,f)}(e,i,h,r.dash,r.cap,a,l,s,d,f,c),v&&p.translate(-m,-m)}o.setData=Ke;function ot(e,t,n,r,o,i,a,u,l,s,c,d){Je(e,t,n,r,o),(l||s||d)&&(p.save(),l&&p.clip(l),s&&p.clip(s)),d?3==(3&u)?(p.clip(d),c&&p.clip(c),at(o,a),it(e,i,t)):2&u?(at(o,a),p.clip(d),it(e,i,t)):1&u&&(p.save(),p.clip(d),c&&p.clip(c),at(o,a),p.restore(),it(e,i,t)):(at(o,a),it(e,i,t)),(l||s||d)&&p.restore()}function it(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){p.strokeStyle=Fe=t,p.stroke(e)})):null!=t&&e&&p.stroke(t))}function at(e,t){t instanceof Map?t.forEach((function(e,t){p.fillStyle=Oe=t,p.fill(e)})):null!=t&&e&&p.fill(t)}function ut(e,t,n,r,o,i,a,u,l,s){var c=a%2/2;1==g&&p.translate(c,c),Je(u,a,l,s,u),p.beginPath();var d,f,h,m,v=o+(0==r||3==r?-i:i);0==n?(f=o,m=v):(d=o,h=v);for(var y=0;y0&&(t._paths=null,e&&(1==i?(t.min=null,t.max=null):t.facets.forEach((function(e){e.min=null,e.max=null}))))}))}var dt,ft,pt,ht,mt,vt,gt,yt,bt,xt,Zt,wt,Dt=!1;function kt(){Dt||(qi(St),Dt=!0)}function St(){ye&&(!function(){var e=Yi(k,Hi);for(var n in e){var a=e[n],u=O[n];if(null!=u&&null!=u.min)Vi(a,u),n==C&&ct(!0);else if(n!=C||2==i)if(0==Re&&null==a.from){var l=a.range(o,null,null,n);a.min=l[0],a.max=l[1]}else a.min=wi,a.max=-wi}if(Re>0)for(var s in w.forEach((function(n,a){if(1==i){var u=n.scale,l=e[u],s=O[u];if(0==a){var c=l.range(o,l.min,l.max,u);l.min=c[0],l.max=c[1],Ve=Uo(l.min,t[0]),Ue=Uo(l.max,t[0]),t[0][Ve]l.max&&Ue--,n.min=Xe[Ve],n.max=Xe[Ue]}else n.show&&n.auto&&tt(l,s,n,t[a],n.sorted);n.idxs[0]=Ve,n.idxs[1]=Ue}else if(a>0&&n.show&&n.auto){var d=(0,r.Z)(n.facets,2),f=d[0],p=d[1],h=f.scale,m=p.scale,v=(0,r.Z)(t[a],2),g=v[0],y=v[1];tt(e[h],O[h],f,g,f.sorted),tt(e[m],O[m],p,y,p.sorted),n.min=p.min,n.max=p.max}})),e){var c=e[s],d=O[s];if(null==c.from&&(null==d||null==d.min)){var f=c.range(o,c.min==wi?null:c.min,c.max==-wi?null:c.max,s);c.min=f[0],c.max=f[1]}}for(var p in e){var h=e[p];if(null!=h.from){var m=e[h.from];if(null==m.min)h.min=h.max=null;else{var v=h.range(o,m.min,m.max,p);h.min=v[0],h.max=v[1]}}}var g={},y=!1;for(var b in e){var x=e[b],Z=k[b];if(Z.min!=x.min||Z.max!=x.max){Z.min=x.min,Z.max=x.max;var D=Z.distr;Z._min=3==D?bi(Z.min):4==D?Zi(Z.min,Z.asinh):Z.min,Z._max=3==D?bi(Z.max):4==D?Zi(Z.max,Z.asinh):Z.max,g[b]=y=!0}}if(y){for(var S in w.forEach((function(e,t){2==i?t>0&&g.y&&(e._paths=null):g[e.scale]&&(e._paths=null)})),g)xe=!0,un("setScale",S);Se.show&&(Ze=we=Se.left>=0)}for(var _ in O)O[_]=null}(),ye=!1),xe&&(!function(){for(var e=!1,t=0;!e;){var n=lt(++t),r=st(t);(e=3==t||n&&r)||(ke(o.width,o.height),be=!0)}}(),xe=!1),be&&(Fo(m,vo,fe),Fo(m,ho,pe),Fo(m,fo,ce),Fo(m,po,de),Fo(v,vo,fe),Fo(v,ho,pe),Fo(v,fo,ce),Fo(v,po,de),Fo(h,fo,le),Fo(h,po,se),f.width=pi(le*uo),f.height=pi(se*uo),D.forEach((function(e){var t=e._el,n=e._show,r=e._size,o=e._pos,i=e.side;if(null!=t)if(n){var a=i%2==1;Fo(t,a?"left":"top",o-(3===i||0===i?r:0)),Fo(t,a?"width":"height",r),Fo(t,a?"top":"left",a?pe:fe),Fo(t,a?"height":"width",a?de:ce),Ro(t,so)}else Po(t,so)})),Fe=Oe=Be=Le=Ne=ze=je=We=Ie=null,$e=1,Xt(!0),un("setSize"),be=!1),le>0&&se>0&&(p.clearRect(0,0,f.width,f.height),un("drawClear"),E.forEach((function(e){return e()})),un("draw")),Se.show&&Ze&&(Ut(null,!0,!1),Ze=!1),c||(c=!0,o.status=1,un("ready")),Ge=!1,Dt=!1}function Ct(e,n){var r=k[e];if(null==r.from){if(0==Re){var i=r.range(o,n.min,n.max,e);n.min=i[0],n.max=i[1]}if(n.min>n.max){var a=n.min;n.min=n.max,n.max=a}if(Re>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==C&&2==r.distr&&Re>0&&(n.min=Uo(n.min,t[0]),n.max=Uo(n.max,t[0]),n.min==n.max&&n.max++),O[e]=n,ye=!0,kt()}}o.redraw=function(e,t){xe=t||!1,!1!==e?It(C,R.min,R.max):kt()},o.setScale=Ct;var _t=!1,Et=Se.drag,At=Et.x,Mt=Et.y;Se.show&&(Se.x&&(dt=Bo("u-cursor-x",v)),Se.y&&(ft=Bo("u-cursor-y",v)),0==R.ori?(pt=dt,ht=ft):(pt=ft,ht=dt),Zt=Se.left,wt=Se.top);var Tt,Pt,Rt,Ft=o.select=Vi({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Ot=Ft.show?Bo("u-select",Ft.over?v:m):null;function Bt(e,t){if(Ft.show){for(var n in e)Fo(Ot,n,Ft[n]=e[n]);!1!==t&&un("setSelect")}}function It(e,t,n){Ct(e,{min:t,max:n})}function Lt(e,t,n,r){null!=t.focus&&function(e){if(e!=Rt){var t=null==e,n=1!=_e.alpha;w.forEach((function(r,o){var i=t||0==o||o==e;r._focus=t?null:i,n&&function(e,t){w[e].alpha=t,Se.show&&Ae[e]&&(Ae[e].style.opacity=t);V&&X[e]&&(X[e].style.opacity=t)}(o,i?1:_e.alpha)})),Rt=e,n&&kt()}}(e),null!=t.show&&w.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=w[e],r=V?X[e]:null;n.show?r&&Ro(r,so):(r&&Po(r,so),Ae.length>1&&Lo(Ae[e],-10,-10,ce,de))}(r,t.show),It(2==i?n.facets[1].scale:n.scale,null,null),kt())})),!1!==n&&un("setSeries",e,t),r&&dn("setSeries",o,e,t)}o.setSelect=Bt,o.setSeries=Lt,o.addBand=function(e,t){e.fill=Ci(e.fill||null),e.dir=ii(e.dir,-1),t=null==t?S.length:t,S.splice(t,0,e)},o.setBand=function(e,t){Vi(S[e],t)},o.delBand=function(e){null==e?S.length=0:S.splice(e,1)};var Nt={focus:!0};function zt(e,t,n){var r=k[t];n&&(e=e/uo-(1==r.ori?pe:fe));var o=ce;1==r.ori&&(e=(o=de)-e),-1==r.dir&&(e=o-e);var i=r._min,a=i+(r._max-i)*(e/o),u=r.distr;return 3==u?gi(10,a):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return si.sinh(e)*t}(a,r.asinh):a}function jt(e,t){Fo(Ot,vo,Ft.left=e),Fo(Ot,fo,Ft.width=t)}function Wt(e,t){Fo(Ot,ho,Ft.top=e),Fo(Ot,po,Ft.height=t)}V&&Ee&&Yo(ko,L,(function(e){Se._lock||null!=Rt&&Lt(null,Nt,!0,ln.setSeries)})),o.valToIdx=function(e){return Uo(e,t[0])},o.posToIdx=function(e,n){return Uo(zt(e,C,n),t[0],Ve,Ue)},o.posToVal=zt,o.valToPos=function(e,t,n){return 0==k[t].ori?u(e,k[t],n?ve:ce,n?he:0):l(e,k[t],n?ge:de,n?me:0)},o.batch=function(e){e(o),kt()},o.setCursor=function(e,t,n){Zt=e.left,wt=e.top,Ut(null,t,n)};var $t=0==R.ori?jt:Wt,Ht=1==R.ori?jt:Wt;function Yt(e,t){if(null!=e){var n=e.idx;Y.idx=n,w.forEach((function(e,t){(t>0||!K)&&Vt(t,n)}))}V&&Y.live&&function(){if(V&&Y.live)for(var e=2==i?1:0;eUe;Tt=wi;var f=0==R.ori?ce:de,p=1==R.ori?ce:de;if(Zt<0||0==Re||d){u=null;for(var h=0;h0&&Ae.length>1&&Lo(Ae[h],-10,-10,ce,de);if(Ee&&Lt(null,Nt,!0,null==e&&ln.setSeries),Y.live){H.fill(null),we=!0;for(var m=0;m0&&b.show){var E=null==S?-10:Pi(P(S,1==i?k[b.scale]:k[b.facets[1].scale],p,0),.5);if(E>0&&1==i){var A=di(E-wt);A<=Tt&&(Tt=A,Pt=y)}var M=void 0,F=void 0;if(0==R.ori?(M=_,F=E):(M=E,F=_),we&&Ae.length>1){zo(Ae[y],Se.points.fill(o,y),Se.points.stroke(o,y));var O=void 0,B=void 0,I=void 0,L=void 0,N=!0,z=Se.points.bbox;if(null!=z){N=!1;var j=z(o,y);I=j.left,L=j.top,O=j.width,B=j.height}else I=M,L=F,O=B=Se.points.size(o,y);Wo(Ae[y],O,B,N),Lo(Ae[y],I,L,ce,de)}}if(Y.live){if(!we||0==y&&K)continue;Vt(y,D)}}}if(Se.idx=u,Se.left=Zt,Se.top=wt,we&&(Y.idx=u,Yt()),Ft.show&&_t)if(null!=e){var W=(0,r.Z)(ln.scales,2),$=W[0],V=W[1],U=(0,r.Z)(ln.match,2),q=U[0],X=U[1],G=(0,r.Z)(e.cursor.sync.scales,2),J=G[0],ee=G[1],te=e.cursor.drag;if(At=te._x,Mt=te._y,At||Mt){var ne,re,oe,ie,ae,ue=e.select,le=ue.left,se=ue.top,fe=ue.width,pe=ue.height,he=e.scales[$].ori,me=e.posToVal,ve=null!=$&&q($,J),ge=null!=V&&X(V,ee);ve&&At?(0==he?(ne=le,re=fe):(ne=se,re=pe),oe=k[$],ie=T(me(ne,J),oe,f,0),ae=T(me(ne+re,J),oe,f,0),$t(mi(ie,ae),di(ae-ie))):$t(0,f),ge&&Mt?(1==he?(ne=le,re=fe):(ne=se,re=pe),oe=k[V],ie=P(me(ne,ee),oe,p,0),ae=P(me(ne+re,ee),oe,p,0),Ht(mi(ie,ae),di(ae-ie))):Ht(0,p)}else Jt()}else{var ye=di(bt-mt),be=di(xt-vt);if(1==R.ori){var xe=ye;ye=be,be=xe}At=Et.x&&ye>=Et.dist,Mt=Et.y&&be>=Et.dist;var Ze,De,ke=Et.uni;null!=ke?At&&Mt&&(Mt=be>=ke,(At=ye>=ke)||Mt||(be>ye?Mt=!0:At=!0)):Et.x&&Et.y&&(At||Mt)&&(At=Mt=!0),At&&(0==R.ori?(Ze=gt,De=Zt):(Ze=yt,De=wt),$t(mi(Ze,De),di(De-Ze)),Mt||Ht(0,p)),Mt&&(1==R.ori?(Ze=gt,De=Zt):(Ze=yt,De=wt),Ht(mi(Ze,De),di(De-Ze)),At||$t(0,f)),At||Mt||($t(0,0),Ht(0,0))}if(Et._x=At,Et._y=Mt,null==e){if(a){if(null!=sn){var Ce=(0,r.Z)(ln.scales,2),Me=Ce[0],Te=Ce[1];ln.values[0]=null!=Me?zt(0==R.ori?Zt:wt,Me):null,ln.values[1]=null!=Te?zt(1==R.ori?Zt:wt,Te):null}dn(xo,o,Zt,wt,ce,de,u)}if(Ee){var Pe=a&&ln.setSeries,Fe=_e.prox;null==Rt?Tt<=Fe&&Lt(Pt,Nt,!0,Pe):Tt>Fe?Lt(null,Nt,!0,Pe):Pt!=Rt&&Lt(Pt,Nt,!0,Pe)}}c&&!1!==n&&un("setCursor")}o.setLegend=Yt;var qt=null;function Xt(e){!0===e?qt=null:un("syncRect",qt=v.getBoundingClientRect())}function Gt(e,t,n,r,o,i,a){Se._lock||(Kt(e,t,n,r,o,i,a,!1,null!=e),null!=e?Ut(null,!0,!0):Ut(t,!0,!1))}function Kt(e,t,n,i,a,u,l,c,d){if(null==qt&&Xt(!1),null!=e)n=e.clientX-qt.left,i=e.clientY-qt.top;else{if(n<0||i<0)return Zt=-10,void(wt=-10);var f=(0,r.Z)(ln.scales,2),p=f[0],h=f[1],m=t.cursor.sync,v=(0,r.Z)(m.values,2),g=v[0],y=v[1],b=(0,r.Z)(m.scales,2),x=b[0],Z=b[1],w=(0,r.Z)(ln.match,2),D=w[0],S=w[1],C=t.axes[0].side%2==1,_=0==R.ori?ce:de,E=1==R.ori?ce:de,A=C?u:a,M=C?a:u,T=C?i:n,P=C?n:i;if(n=null!=x?D(p,x)?s(g,k[p],_,0):-10:_*(T/A),i=null!=Z?S(h,Z)?s(y,k[h],E,0):-10:E*(P/M),1==R.ori){var F=n;n=i,i=F}}if(d&&((n<=1||n>=ce-1)&&(n=ki(n,ce)),(i<=1||i>=de-1)&&(i=ki(i,de))),c){mt=n,vt=i;var O=Se.move(o,n,i),B=(0,r.Z)(O,2);gt=B[0],yt=B[1]}else Zt=n,wt=i}var Qt={width:0,height:0};function Jt(){Bt(Qt,!1)}function en(e,t,n,r,i,a,u){_t=!0,At=Mt=Et._x=Et._y=!1,Kt(e,t,n,r,i,a,0,!0,!1),null!=e&&(ae(wo,Ao,tn),dn(Zo,o,gt,yt,ce,de,null))}function tn(e,t,n,r,i,a,u){_t=Et._x=Et._y=!1,Kt(e,t,n,r,i,a,0,!1,!0);var l=Ft.left,s=Ft.top,c=Ft.width,d=Ft.height,f=c>0||d>0;if(f&&Bt(Ft),Et.setScale&&f){var p=l,h=c,m=s,v=d;if(1==R.ori&&(p=s,h=d,m=l,v=c),At&&It(C,zt(p,C),zt(p+h,C)),Mt)for(var g in k){var y=k[g];g!=C&&null==y.from&&y.min!=wi&&It(g,zt(m+v,g),zt(m,g))}Jt()}else Se.lock&&(Se._lock=!Se._lock,Se._lock||Ut(null,!0,!1));null!=e&&(ue(wo,Ao),dn(wo,o,Zt,wt,ce,de,null))}function nn(e,t,n,r,i,a,u){Qe(),Jt(),null!=e&&dn(So,o,Zt,wt,ce,de,null)}function rn(){D.forEach(tl),De(o.width,o.height,!0)}Yo(_o,Mo,rn);var on={};on.mousedown=en,on.mousemove=Gt,on.mouseup=tn,on.dblclick=nn,on.setSeries=function(e,t,n,r){Lt(n,r,!0,!1)},Se.show&&(ae(Zo,v,en),ae(xo,v,Gt),ae(Do,v,Xt),ae(ko,v,(function(e,t,n,r,o,i,a){if(!Se._lock){var u=_t;if(_t){var l,s,c=!0,d=!0;0==R.ori?(l=At,s=Mt):(l=Mt,s=At),l&&s&&(c=Zt<=10||Zt>=ce-10,d=wt<=10||wt>=de-10),l&&c&&(Zt=Zt=3?ou:Ei)),e.font=el(e.font),e.labelFont=el(e.labelFont),e._size=e.size(o,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Te[t]=!0,e._el=Bo("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(d),fn()):n(o,fn):fn(),o}nl.assign=Vi,nl.fmtNum=li,nl.rangeNum=oi,nl.rangeLog=Jo,nl.rangeAsinh=ei,nl.orient=vu,nl.pxRatio=uo,nl.join=function(e,t){for(var n=new Set,r=0;r=i&&E<=a;E+=w){var A=s[E],M=y(f(l[E],c,v,h));if(null!=A){var T=y(p(A,d,g,m));k&&(Zu(D,_,M),k=!1),1==t?b(Z,M,S):b(Z,_,T),b(Z,M,T),S=T,_=M}else null===A&&(Zu(D,_,M),k=!0)}var P=gu(e,o),R=(0,r.Z)(P,2),F=R[0],O=R[1];if(null!=u.fill||0!=F){var B=x.fill=new Path2D(Z),I=y(p(u.fillTo(e,o,u.min,u.max,F),d,g,m));b(B,_,I),b(B,C,I)}x.gaps=D=u.gaps(e,o,i,a,D);var L=u.width*uo/2,N=n||1==t?L:-L,z=n||-1==t?-L:L;return D.forEach((function(e){e[0]+=N,e[1]+=z})),u.spanGaps||(x.clip=xu(D,c.ori,h,m,v,g)),0!=O&&(x.band=2==O?[bu(e,o,i,a,Z,-1),bu(e,o,i,a,Z,1)]:bu(e,o,i,a,Z,O)),x}))}},rl.bars=function(e){var t=ii((e=e||Li).size,[.6,wi,1]),n=e.align||0,o=(e.gap||0)*uo,i=ii(e.radius,0),a=1-t[0],u=ii(t[1],wi)*uo,l=ii(t[2],1)*uo,s=ii(e.disp,Li),c=ii(e.each,(function(e){})),d=s.fill,f=s.stroke;return function(e,t,p,h){return vu(e,t,(function(m,v,g,y,b,x,Z,w,D,k,S){var C,_,E=m.pxRound,A=y.dir*(0==y.ori?1:-1),M=b.dir*(1==b.ori?1:-1),T=0==y.ori?Eu:Au,P=0==y.ori?c:function(e,t,n,r,o,i,a){c(e,t,n,o,r,a,i)},R=gu(e,t),F=(0,r.Z)(R,2),O=F[0],B=F[1],I=3==b.distr?1==O?b.max:b.min:0,L=Z(I,b,S,D),N=E(m.width*uo),z=!1,j=null,W=null,$=null,H=null;null==d||0!=N&&null==f||(z=!0,j=d.values(e,t,p,h),W=new Map,new Set(j).forEach((function(e){null!=e&&W.set(e,new Path2D)})),N>0&&($=f.values(e,t,p,h),H=new Map,new Set($).forEach((function(e){null!=e&&H.set(e,new Path2D)}))));var Y=s.x0,V=s.size;if(null!=Y&&null!=V){v=Y.values(e,t,p,h),2==Y.unit&&(v=v.map((function(t){return e.posToVal(w+t*k,y.key,!0)})));var U=V.values(e,t,p,h);_=E((_=2==V.unit?U[0]*k:x(U[0],y,k,w)-x(0,y,k,w))-N),C=1==A?-N/2:_+N/2}else{var q=k;if(v.length>1)for(var X=null,G=0,K=1/0;G=p&&ae<=h;ae+=A){var ue=g[ae],le=x(2!=y.distr||null!=s?v[ae]:ae,y,k,w),se=Z(ii(ue,I),b,S,D);null!=ie&&null!=ue&&(L=Z(ie[ae],b,S,D));var ce=E(le-C),de=E(vi(se,L)),fe=E(mi(se,L)),pe=de-fe,he=i*_;null!=ue&&(z?(N>0&&null!=$[ae]&&T(H.get($[ae]),ce,fe+fi(N/2),_,vi(0,pe-N),he),null!=j[ae]&&T(W.get(j[ae]),ce,fe+fi(N/2),_,vi(0,pe-N),he)):T(te,ce,fe+fi(N/2),_,vi(0,pe-N),he),P(e,t,ae,ce-N/2,fe,_+N,pe)),0!=B&&(M*B==1?(de=fe,fe=J):(fe=de,de=J),T(ne,ce-N/2,fe,_+N,vi(0,pe=de-fe),0))}return N>0&&(ee.stroke=z?H:te),ee.fill=z?W:te,ee}))}},rl.spline=function(e){return t=Nu,function(e,n,o,i){return vu(e,n,(function(a,u,l,s,c,d,f,p,h,m,v){var g,y,b,x=a.pxRound;0==s.ori?(g=ku,b=Cu,y=Pu):(g=Su,b=_u,y=Ru);var Z=1*s.dir*(0==s.ori?1:-1);o=qo(l,o,i,1),i=qo(l,o,i,-1);for(var w=[],D=!1,k=x(d(u[1==Z?o:i],s,m,p)),S=k,C=[],_=[],E=1==Z?o:i;E>=o&&E<=i;E+=Z){var A=l[E],M=d(u[E],s,m,p);null!=A?(D&&(Zu(w,S,M),D=!1),C.push(S=M),_.push(f(l[E],c,v,h))):null===A&&(Zu(w,S,M),D=!0)}var T={stroke:t(C,_,g,b,y,x),fill:null,clip:null,band:null,gaps:null,flags:1},P=T.stroke,R=gu(e,n),F=(0,r.Z)(R,2),O=F[0],B=F[1];if(null!=a.fill||0!=O){var I=T.fill=new Path2D(P),L=x(f(a.fillTo(e,n,a.min,a.max,O),c,v,h));b(I,S,L),b(I,k,L)}return T.gaps=w=a.gaps(e,n,o,i,w),a.spanGaps||(T.clip=xu(w,s.ori,p,h,m,v)),0!=B&&(T.band=2==B?[bu(e,n,o,i,P,-1),bu(e,n,o,i,P,1)]:bu(e,n,o,i,P,B)),T}))};var t};var ol,il=function(e){if(7!=e.length)return"0, 0, 0";var t=parseInt(e.slice(1,3),16),n=parseInt(e.slice(3,5),16),r=parseInt(e.slice(5,7),16);return"".concat(t,", ").concat(n,", ").concat(r)},al={height:500,legend:{show:!1},cursor:{drag:{x:!1,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{mouseup:function(){return null},mousedown:function(){return null},click:function(){return null},dblclick:function(){return null},mouseenter:function(){return null}}}},ul=function(e){return void 0===e||null===e?"":e.toLocaleString("en-US",{maximumSignificantDigits:20})},ll=function(e,t,n,r){var o,i=e.axes[n];if(r>1)return i._size||60;var a=6+((null===i||void 0===i||null===(o=i.ticks)||void 0===o?void 0:o.size)||0)+(i.gap||0),u=(null!==t&&void 0!==t?t:[]).reduce((function(e,t){return t.length>e.length?t:e}),"");return""!=u&&(a+=function(e,t){var n=document.createElement("span");n.innerText=e,n.style.cssText="position: absolute; z-index: -1; pointer-events: none; opacity: 0; font: ".concat(t),document.body.appendChild(n);var r=n.offsetWidth;return n.remove(),r}(u,e.ctx.font)),Math.ceil(a)},sl=function(e,t){return function(e){for(var t=0,n=0;n>8*o&255).toString(16)).substr(-2);return r}("".concat(e).concat(t))},cl=function(e){return e<=1?[]:[4*e,1.2*e]},dl=function(e){for(var t=e.length,n=-1/0;t--;){var r=e[t];Number.isFinite(r)&&r>n&&(n=r)}return Number.isFinite(n)?n:null},fl=function(e){for(var t=e.length,n=1/0;t--;){var r=e[t];Number.isFinite(r)&&r2&&void 0!==arguments[2]?arguments[2]:"";return t.map((function(e){return"".concat(ul(e)," ").concat(n)}))}(e,n,t)}};return e?Number(e)%2?n:vn(vn({},n),{},{side:1}):{space:80}}))},hl=function(e,t){if(null==e||null==t)return[-1,1];var n=.02*(Math.abs(t-e)||Math.abs(e)||1);return[e-n,t+n]},ml=function(e){var t,n,r=e.u,o=e.tooltipIdx,i=e.metrics,a=e.series,u=e.tooltip,l=e.tooltipOffset,s=e.unit,c=void 0===s?"":s,d=o.seriesIdx,f=o.dataIdx;if(null!==d&&void 0!==f){var p=r.data[d][f],h=r.data[0][f],m=(null===(t=i[d-1])||void 0===t?void 0:t.metric)||{},v=a[d],g=sl(Number(v.scale||0),v.label||""),y=r.over.getBoundingClientRect(),b=y.width,x=y.height,Z=r.valToPos(p||0,(null===(n=a[d])||void 0===n?void 0:n.scale)||"1"),w=r.valToPos(h,"x"),D=u.getBoundingClientRect(),k=D.width,S=D.height,C=w+k>=b,_=Z+S>=x;u.style.display="grid",u.style.top="".concat(l.top+Z+10-(_?S+10:0),"px"),u.style.left="".concat(l.left+w+10-(C?k+20:0),"px");var E=(v.label||"").replace(/{.+}/gim,""),A=yn()(new Date(1e3*h)).format("YYYY-MM-DD HH:mm:ss:SSS (Z)"),M=Object.keys(m).filter((function(e){return"__name__"!==e})).map((function(e){return"
    ".concat(e,": ").concat(m[e],"
    ")})).join(""),T='
    ');u.innerHTML="
    ".concat(A,'
    \n
    \n ').concat(T).concat(E,': ').concat(ul(p)," ").concat(c,'\n
    \n
    ').concat(M,"
    ")}},vl=n(2061),gl=n.n(vl),yl=function(e){var n=(0,t.useState)({width:0,height:0}),o=(0,r.Z)(n,2),i=o[0],a=o[1];return(0,t.useEffect)((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,r=t.height;a({width:n,height:r})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[]),i};!function(e){e.xRange="xRange",e.yRange="yRange",e.data="data"}(ol||(ol={}));var bl=function(e){var n=e.data,o=e.series,i=e.metrics,a=void 0===i?[]:i,u=e.period,l=e.yaxis,s=e.unit,c=e.setPeriod,d=e.container,f=(0,t.useRef)(null),p=(0,t.useState)(!1),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=(0,t.useState)({min:u.start,max:u.end}),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)(),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=yl(d),C=document.createElement("div");C.className="u-tooltip";var _={seriesIdx:null,dataIdx:void 0},E={left:0,top:0},A=(0,t.useCallback)(gl()((function(e){var t=e.min,n=e.max;c({from:new Date(1e3*t),to:new Date(1e3*n)})}),500),[]),M=function(e){var t=e.u,n=e.min,r=e.max,o=1e3*(r-n);oRn||(t.setScale("x",{min:n,max:r}),x({min:n,max:r}),A({min:n,max:r}))},T=function(){return[b.min,b.max]},P=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=arguments.length>3?arguments[3]:void 0;return l.limits.enable?l.limits.range[r]:hl(t,n)},R=vn(vn({},al),{},{series:o,axes:pl(o.length>1?o:[{},{scale:"1"}],s),scales:vn({},function(){var e={x:{range:T}},t=Object.keys(l.limits.range);return(t.length?t:["1"]).forEach((function(t){e[t]={range:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return P(e,n,r,t)}}})),e}()),width:S.width||400,plugins:[{hooks:{ready:function(e){var t;E.left=parseFloat(e.over.style.left),E.top=parseFloat(e.over.style.top),null===(t=e.root.querySelector(".u-wrap"))||void 0===t||t.appendChild(C),e.over.addEventListener("mousedown",(function(t){return function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,o=e.u,i=e.setPanning,a=e.setPlotScale;if(0===t.button){t.preventDefault(),i(!0);var u=t.clientX,l=o.posToVal(1,"x")-o.posToVal(0,"x"),s=o.scales.x.min||0,c=o.scales.x.max||0,d=function(e){e.preventDefault();var t=l*((e.clientX-u)*r);a({u:o,min:s-t,max:c-t})};document.addEventListener("mousemove",d),document.addEventListener("mouseup",(function e(){i(!1),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",e)}))}}({u:e,e:t,setPanning:v,setPlotScale:M,factor:.9})})),e.over.addEventListener("wheel",(function(t){if(t.ctrlKey||t.metaKey){t.preventDefault();var n=e.over.getBoundingClientRect().width,r=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,o=e.posToVal(r,"x"),i=(e.scales.x.max||0)-(e.scales.x.min||0),a=t.deltaY<0?.9*i:i/.9,u=o-r/n*a,l=u+a;e.batch((function(){return M({u:e,min:u,max:l})}))}}))},setCursor:function(e){_.dataIdx!==e.cursor.idx&&(_.dataIdx=e.cursor.idx||0,null!==_.seriesIdx&&void 0!==_.dataIdx&&ml({u:e,tooltipIdx:_,metrics:a,series:o,tooltip:C,tooltipOffset:E,unit:s}))},setSeries:function(e,t){_.seriesIdx!==t&&(_.seriesIdx=t,t&&void 0!==_.dataIdx?ml({u:e,tooltipIdx:_,metrics:a,series:o,tooltip:C,tooltipOffset:E,unit:s}):C.style.display="none")}}}]}),F=function(e){if(D){switch(e){case ol.xRange:D.scales.x.range=T;break;case ol.yRange:Object.keys(l.limits.range).forEach((function(e){D.scales[e]&&(D.scales[e].range=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1;return P(t,n,r,e)})}));break;case ol.data:D.setData(n)}m||D.redraw()}};return(0,t.useEffect)((function(){return x({min:u.start,max:u.end})}),[u]),(0,t.useEffect)((function(){if(f.current){var e=new nl(R,n,f.current);return k(e),x({min:u.start,max:u.end}),e.destroy}}),[f.current,o,S]),(0,t.useEffect)((function(){return F(ol.data)}),[n]),(0,t.useEffect)((function(){return F(ol.xRange)}),[b]),(0,t.useEffect)((function(){return F(ol.yRange)}),[l]),(0,ie.tZ)("div",{style:{pointerEvents:m?"none":"auto",height:"500px"},children:(0,ie.tZ)("div",{ref:f})})};function xl(e,t,n,r,o,i,a){try{var u=e[i](a),l=u.value}catch(s){return void n(s)}u.done?t(l):Promise.resolve(l).then(r,o)}function Zl(e){return function(){var t=this,n=arguments;return new Promise((function(r,o){var i=e.apply(t,n);function a(e){xl(i,r,o,a,u,"next",e)}function u(e){xl(i,r,o,a,u,"throw",e)}a(void 0)}))}}var wl=n(7757),Dl=n.n(wl);var kl=function(e){return"string"===typeof e};function Sl(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return kl(e)?t:(0,o.Z)({},t,{ownerState:(0,o.Z)({},t.ownerState,n)})}var Cl=n(2678);function _l(e){if(null==e)return window;if("[object Window]"!==e.toString()){var t=e.ownerDocument;return t&&t.defaultView||window}return e}function El(e){return e instanceof _l(e).Element||e instanceof Element}function Al(e){return e instanceof _l(e).HTMLElement||e instanceof HTMLElement}function Ml(e){return"undefined"!==typeof ShadowRoot&&(e instanceof _l(e).ShadowRoot||e instanceof ShadowRoot)}var Tl=Math.max,Pl=Math.min,Rl=Math.round;function Fl(e,t){void 0===t&&(t=!1);var n=e.getBoundingClientRect(),r=1,o=1;if(Al(e)&&t){var i=e.offsetHeight,a=e.offsetWidth;a>0&&(r=Rl(n.width)/a||1),i>0&&(o=Rl(n.height)/i||1)}return{width:n.width/r,height:n.height/o,top:n.top/o,right:n.right/r,bottom:n.bottom/o,left:n.left/r,x:n.left/r,y:n.top/o}}function Ol(e){var t=_l(e);return{scrollLeft:t.pageXOffset,scrollTop:t.pageYOffset}}function Bl(e){return e?(e.nodeName||"").toLowerCase():null}function Il(e){return((El(e)?e.ownerDocument:e.document)||window.document).documentElement}function Ll(e){return Fl(Il(e)).left+Ol(e).scrollLeft}function Nl(e){return _l(e).getComputedStyle(e)}function zl(e){var t=Nl(e),n=t.overflow,r=t.overflowX,o=t.overflowY;return/auto|scroll|overlay|hidden/.test(n+o+r)}function jl(e,t,n){void 0===n&&(n=!1);var r=Al(t),o=Al(t)&&function(e){var t=e.getBoundingClientRect(),n=Rl(t.width)/e.offsetWidth||1,r=Rl(t.height)/e.offsetHeight||1;return 1!==n||1!==r}(t),i=Il(t),a=Fl(e,o),u={scrollLeft:0,scrollTop:0},l={x:0,y:0};return(r||!r&&!n)&&(("body"!==Bl(t)||zl(i))&&(u=function(e){return e!==_l(e)&&Al(e)?{scrollLeft:(t=e).scrollLeft,scrollTop:t.scrollTop}:Ol(e);var t}(t)),Al(t)?((l=Fl(t,!0)).x+=t.clientLeft,l.y+=t.clientTop):i&&(l.x=Ll(i))),{x:a.left+u.scrollLeft-l.x,y:a.top+u.scrollTop-l.y,width:a.width,height:a.height}}function Wl(e){var t=Fl(e),n=e.offsetWidth,r=e.offsetHeight;return Math.abs(t.width-n)<=1&&(n=t.width),Math.abs(t.height-r)<=1&&(r=t.height),{x:e.offsetLeft,y:e.offsetTop,width:n,height:r}}function $l(e){return"html"===Bl(e)?e:e.assignedSlot||e.parentNode||(Ml(e)?e.host:null)||Il(e)}function Hl(e){return["html","body","#document"].indexOf(Bl(e))>=0?e.ownerDocument.body:Al(e)&&zl(e)?e:Hl($l(e))}function Yl(e,t){var n;void 0===t&&(t=[]);var r=Hl(e),o=r===(null==(n=e.ownerDocument)?void 0:n.body),i=_l(r),a=o?[i].concat(i.visualViewport||[],zl(r)?r:[]):r,u=t.concat(a);return o?u:u.concat(Yl($l(a)))}function Vl(e){return["table","td","th"].indexOf(Bl(e))>=0}function Ul(e){return Al(e)&&"fixed"!==Nl(e).position?e.offsetParent:null}function ql(e){for(var t=_l(e),n=Ul(e);n&&Vl(n)&&"static"===Nl(n).position;)n=Ul(n);return n&&("html"===Bl(n)||"body"===Bl(n)&&"static"===Nl(n).position)?t:n||function(e){var t=-1!==navigator.userAgent.toLowerCase().indexOf("firefox");if(-1!==navigator.userAgent.indexOf("Trident")&&Al(e)&&"fixed"===Nl(e).position)return null;var n=$l(e);for(Ml(n)&&(n=n.host);Al(n)&&["html","body"].indexOf(Bl(n))<0;){var r=Nl(n);if("none"!==r.transform||"none"!==r.perspective||"paint"===r.contain||-1!==["transform","perspective"].indexOf(r.willChange)||t&&"filter"===r.willChange||t&&r.filter&&"none"!==r.filter)return n;n=n.parentNode}return null}(e)||t}var Xl="top",Gl="bottom",Kl="right",Ql="left",Jl="auto",es=[Xl,Gl,Kl,Ql],ts="start",ns="end",rs="viewport",os="popper",is=es.reduce((function(e,t){return e.concat([t+"-"+ts,t+"-"+ns])}),[]),as=[].concat(es,[Jl]).reduce((function(e,t){return e.concat([t,t+"-"+ts,t+"-"+ns])}),[]),us=["beforeRead","read","afterRead","beforeMain","main","afterMain","beforeWrite","write","afterWrite"];function ls(e){var t=new Map,n=new Set,r=[];function o(e){n.add(e.name),[].concat(e.requires||[],e.requiresIfExists||[]).forEach((function(e){if(!n.has(e)){var r=t.get(e);r&&o(r)}})),r.push(e)}return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||o(e)})),r}function ss(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}var cs={placement:"bottom",modifiers:[],strategy:"absolute"};function ds(){for(var e=arguments.length,t=new Array(e),n=0;n=0?"x":"y"}function ys(e){var t,n=e.reference,r=e.element,o=e.placement,i=o?ms(o):null,a=o?vs(o):null,u=n.x+n.width/2-r.width/2,l=n.y+n.height/2-r.height/2;switch(i){case Xl:t={x:u,y:n.y-r.height};break;case Gl:t={x:u,y:n.y+n.height};break;case Kl:t={x:n.x+n.width,y:l};break;case Ql:t={x:n.x-r.width,y:l};break;default:t={x:n.x,y:n.y}}var s=i?gs(i):null;if(null!=s){var c="y"===s?"height":"width";switch(a){case ts:t[s]=t[s]-(n[c]/2-r[c]/2);break;case ns:t[s]=t[s]+(n[c]/2-r[c]/2)}}return t}var bs={top:"auto",right:"auto",bottom:"auto",left:"auto"};function xs(e){var t,n=e.popper,r=e.popperRect,o=e.placement,i=e.variation,a=e.offsets,u=e.position,l=e.gpuAcceleration,s=e.adaptive,c=e.roundOffsets,d=e.isFixed,f=a.x,p=void 0===f?0:f,h=a.y,m=void 0===h?0:h,v="function"===typeof c?c({x:p,y:m}):{x:p,y:m};p=v.x,m=v.y;var g=a.hasOwnProperty("x"),y=a.hasOwnProperty("y"),b=Ql,x=Xl,Z=window;if(s){var w=ql(n),D="clientHeight",k="clientWidth";if(w===_l(n)&&"static"!==Nl(w=Il(n)).position&&"absolute"===u&&(D="scrollHeight",k="scrollWidth"),o===Xl||(o===Ql||o===Kl)&&i===ns)x=Gl,m-=(d&&w===Z&&Z.visualViewport?Z.visualViewport.height:w[D])-r.height,m*=l?1:-1;if(o===Ql||(o===Xl||o===Gl)&&i===ns)b=Kl,p-=(d&&w===Z&&Z.visualViewport?Z.visualViewport.width:w[k])-r.width,p*=l?1:-1}var S,C=Object.assign({position:u},s&&bs),_=!0===c?function(e){var t=e.x,n=e.y,r=window.devicePixelRatio||1;return{x:Rl(t*r)/r||0,y:Rl(n*r)/r||0}}({x:p,y:m}):{x:p,y:m};return p=_.x,m=_.y,l?Object.assign({},C,((S={})[x]=y?"0":"",S[b]=g?"0":"",S.transform=(Z.devicePixelRatio||1)<=1?"translate("+p+"px, "+m+"px)":"translate3d("+p+"px, "+m+"px, 0)",S)):Object.assign({},C,((t={})[x]=y?m+"px":"",t[b]=g?p+"px":"",t.transform="",t))}var Zs={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options,r=n.gpuAcceleration,o=void 0===r||r,i=n.adaptive,a=void 0===i||i,u=n.roundOffsets,l=void 0===u||u,s={placement:ms(t.placement),variation:vs(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:o,isFixed:"fixed"===t.options.strategy};null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign({},t.styles.popper,xs(Object.assign({},s,{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:a,roundOffsets:l})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign({},t.styles.arrow,xs(Object.assign({},s,{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-placement":t.placement})},data:{}};var ws={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];Al(o)&&Bl(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.styles=n,t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{},i=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{});Al(r)&&Bl(r)&&(Object.assign(r.style,i),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]};var Ds={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.offset,i=void 0===o?[0,0]:o,a=as.reduce((function(e,n){return e[n]=function(e,t,n){var r=ms(e),o=[Ql,Xl].indexOf(r)>=0?-1:1,i="function"===typeof n?n(Object.assign({},t,{placement:e})):n,a=i[0],u=i[1];return a=a||0,u=(u||0)*o,[Ql,Kl].indexOf(r)>=0?{x:u,y:a}:{x:a,y:u}}(n,t.rects,i),e}),{}),u=a[t.placement],l=u.x,s=u.y;null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=l,t.modifiersData.popperOffsets.y+=s),t.modifiersData[r]=a}},ks={left:"right",right:"left",bottom:"top",top:"bottom"};function Ss(e){return e.replace(/left|right|bottom|top/g,(function(e){return ks[e]}))}var Cs={start:"end",end:"start"};function _s(e){return e.replace(/start|end/g,(function(e){return Cs[e]}))}function Es(e,t){var n=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if(n&&Ml(n)){var r=t;do{if(r&&e.isSameNode(r))return!0;r=r.parentNode||r.host}while(r)}return!1}function As(e){return Object.assign({},e,{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function Ms(e,t){return t===rs?As(function(e){var t=_l(e),n=Il(e),r=t.visualViewport,o=n.clientWidth,i=n.clientHeight,a=0,u=0;return r&&(o=r.width,i=r.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(a=r.offsetLeft,u=r.offsetTop)),{width:o,height:i,x:a+Ll(e),y:u}}(e)):El(t)?function(e){var t=Fl(e);return t.top=t.top+e.clientTop,t.left=t.left+e.clientLeft,t.bottom=t.top+e.clientHeight,t.right=t.left+e.clientWidth,t.width=e.clientWidth,t.height=e.clientHeight,t.x=t.left,t.y=t.top,t}(t):As(function(e){var t,n=Il(e),r=Ol(e),o=null==(t=e.ownerDocument)?void 0:t.body,i=Tl(n.scrollWidth,n.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Tl(n.scrollHeight,n.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-r.scrollLeft+Ll(e),l=-r.scrollTop;return"rtl"===Nl(o||n).direction&&(u+=Tl(n.clientWidth,o?o.clientWidth:0)-i),{width:i,height:a,x:u,y:l}}(Il(e)))}function Ts(e,t,n){var r="clippingParents"===t?function(e){var t=Yl($l(e)),n=["absolute","fixed"].indexOf(Nl(e).position)>=0&&Al(e)?ql(e):e;return El(n)?t.filter((function(e){return El(e)&&Es(e,n)&&"body"!==Bl(e)})):[]}(e):[].concat(t),o=[].concat(r,[n]),i=o[0],a=o.reduce((function(t,n){var r=Ms(e,n);return t.top=Tl(r.top,t.top),t.right=Pl(r.right,t.right),t.bottom=Pl(r.bottom,t.bottom),t.left=Tl(r.left,t.left),t}),Ms(e,i));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}function Ps(e){return Object.assign({},{top:0,right:0,bottom:0,left:0},e)}function Rs(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function Fs(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=void 0===r?e.placement:r,i=n.boundary,a=void 0===i?"clippingParents":i,u=n.rootBoundary,l=void 0===u?rs:u,s=n.elementContext,c=void 0===s?os:s,d=n.altBoundary,f=void 0!==d&&d,p=n.padding,h=void 0===p?0:p,m=Ps("number"!==typeof h?h:Rs(h,es)),v=c===os?"reference":os,g=e.rects.popper,y=e.elements[f?v:c],b=Ts(El(y)?y:y.contextElement||Il(e.elements.popper),a,l),x=Fl(e.elements.reference),Z=ys({reference:x,element:g,strategy:"absolute",placement:o}),w=As(Object.assign({},g,Z)),D=c===os?w:x,k={top:b.top-D.top+m.top,bottom:D.bottom-b.bottom+m.bottom,left:b.left-D.left+m.left,right:D.right-b.right+m.right},S=e.modifiersData.offset;if(c===os&&S){var C=S[o];Object.keys(k).forEach((function(e){var t=[Kl,Gl].indexOf(e)>=0?1:-1,n=[Xl,Gl].indexOf(e)>=0?"y":"x";k[e]+=C[n]*t}))}return k}var Os={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name;if(!t.modifiersData[r]._skip){for(var o=n.mainAxis,i=void 0===o||o,a=n.altAxis,u=void 0===a||a,l=n.fallbackPlacements,s=n.padding,c=n.boundary,d=n.rootBoundary,f=n.altBoundary,p=n.flipVariations,h=void 0===p||p,m=n.allowedAutoPlacements,v=t.options.placement,g=ms(v),y=l||(g===v||!h?[Ss(v)]:function(e){if(ms(e)===Jl)return[];var t=Ss(e);return[_s(e),t,_s(t)]}(v)),b=[v].concat(y).reduce((function(e,n){return e.concat(ms(n)===Jl?function(e,t){void 0===t&&(t={});var n=t,r=n.placement,o=n.boundary,i=n.rootBoundary,a=n.padding,u=n.flipVariations,l=n.allowedAutoPlacements,s=void 0===l?as:l,c=vs(r),d=c?u?is:is.filter((function(e){return vs(e)===c})):es,f=d.filter((function(e){return s.indexOf(e)>=0}));0===f.length&&(f=d);var p=f.reduce((function(t,n){return t[n]=Fs(e,{placement:n,boundary:o,rootBoundary:i,padding:a})[ms(n)],t}),{});return Object.keys(p).sort((function(e,t){return p[e]-p[t]}))}(t,{placement:n,boundary:c,rootBoundary:d,padding:s,flipVariations:h,allowedAutoPlacements:m}):n)}),[]),x=t.rects.reference,Z=t.rects.popper,w=new Map,D=!0,k=b[0],S=0;S=0,M=A?"width":"height",T=Fs(t,{placement:C,boundary:c,rootBoundary:d,altBoundary:f,padding:s}),P=A?E?Kl:Ql:E?Gl:Xl;x[M]>Z[M]&&(P=Ss(P));var R=Ss(P),F=[];if(i&&F.push(T[_]<=0),u&&F.push(T[P]<=0,T[R]<=0),F.every((function(e){return e}))){k=C,D=!1;break}w.set(C,F)}if(D)for(var O=function(e){var t=b.find((function(t){var n=w.get(t);if(n)return n.slice(0,e).every((function(e){return e}))}));if(t)return k=t,"break"},B=h?3:1;B>0;B--){if("break"===O(B))break}t.placement!==k&&(t.modifiersData[r]._skip=!0,t.placement=k,t.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function Bs(e,t,n){return Tl(e,Pl(t,n))}var Is={name:"preventOverflow",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options,r=e.name,o=n.mainAxis,i=void 0===o||o,a=n.altAxis,u=void 0!==a&&a,l=n.boundary,s=n.rootBoundary,c=n.altBoundary,d=n.padding,f=n.tether,p=void 0===f||f,h=n.tetherOffset,m=void 0===h?0:h,v=Fs(t,{boundary:l,rootBoundary:s,padding:d,altBoundary:c}),g=ms(t.placement),y=vs(t.placement),b=!y,x=gs(g),Z="x"===x?"y":"x",w=t.modifiersData.popperOffsets,D=t.rects.reference,k=t.rects.popper,S="function"===typeof m?m(Object.assign({},t.rects,{placement:t.placement})):m,C="number"===typeof S?{mainAxis:S,altAxis:S}:Object.assign({mainAxis:0,altAxis:0},S),_=t.modifiersData.offset?t.modifiersData.offset[t.placement]:null,E={x:0,y:0};if(w){if(i){var A,M="y"===x?Xl:Ql,T="y"===x?Gl:Kl,P="y"===x?"height":"width",R=w[x],F=R+v[M],O=R-v[T],B=p?-k[P]/2:0,I=y===ts?D[P]:k[P],L=y===ts?-k[P]:-D[P],N=t.elements.arrow,z=p&&N?Wl(N):{width:0,height:0},j=t.modifiersData["arrow#persistent"]?t.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},W=j[M],$=j[T],H=Bs(0,D[P],z[P]),Y=b?D[P]/2-B-H-W-C.mainAxis:I-H-W-C.mainAxis,V=b?-D[P]/2+B+H+$+C.mainAxis:L+H+$+C.mainAxis,U=t.elements.arrow&&ql(t.elements.arrow),q=U?"y"===x?U.clientTop||0:U.clientLeft||0:0,X=null!=(A=null==_?void 0:_[x])?A:0,G=R+V-X,K=Bs(p?Pl(F,R+Y-X-q):F,R,p?Tl(O,G):O);w[x]=K,E[x]=K-R}if(u){var Q,J="x"===x?Xl:Ql,ee="x"===x?Gl:Kl,te=w[Z],ne="y"===Z?"height":"width",re=te+v[J],oe=te-v[ee],ie=-1!==[Xl,Ql].indexOf(g),ae=null!=(Q=null==_?void 0:_[Z])?Q:0,ue=ie?re:te-D[ne]-k[ne]-ae+C.altAxis,le=ie?te+D[ne]+k[ne]-ae-C.altAxis:oe,se=p&&ie?function(e,t,n){var r=Bs(e,t,n);return r>n?n:r}(ue,te,le):Bs(p?ue:re,te,p?le:oe);w[Z]=se,E[Z]=se-te}t.modifiersData[r]=E}},requiresIfExists:["offset"]};var Ls={name:"arrow",enabled:!0,phase:"main",fn:function(e){var t,n=e.state,r=e.name,o=e.options,i=n.elements.arrow,a=n.modifiersData.popperOffsets,u=ms(n.placement),l=gs(u),s=[Ql,Kl].indexOf(u)>=0?"height":"width";if(i&&a){var c=function(e,t){return Ps("number"!==typeof(e="function"===typeof e?e(Object.assign({},t.rects,{placement:t.placement})):e)?e:Rs(e,es))}(o.padding,n),d=Wl(i),f="y"===l?Xl:Ql,p="y"===l?Gl:Kl,h=n.rects.reference[s]+n.rects.reference[l]-a[l]-n.rects.popper[s],m=a[l]-n.rects.reference[l],v=ql(i),g=v?"y"===l?v.clientHeight||0:v.clientWidth||0:0,y=h/2-m/2,b=c[f],x=g-d[s]-c[p],Z=g/2-d[s]/2+y,w=Bs(b,Z,x),D=l;n.modifiersData[r]=((t={})[D]=w,t.centerOffset=w-Z,t)}},effect:function(e){var t=e.state,n=e.options.element,r=void 0===n?"[data-popper-arrow]":n;null!=r&&("string"!==typeof r||(r=t.elements.popper.querySelector(r)))&&Es(t.elements.popper,r)&&(t.elements.arrow=r)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Ns(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function zs(e){return[Xl,Kl,Gl,Ql].some((function(t){return e[t]>=0}))}var js=fs({defaultModifiers:[hs,{name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state,n=e.name;t.modifiersData[n]=ys({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},Zs,ws,Ds,Os,Is,Ls,{name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(e){var t=e.state,n=e.name,r=t.rects.reference,o=t.rects.popper,i=t.modifiersData.preventOverflow,a=Fs(t,{elementContext:"reference"}),u=Fs(t,{altBoundary:!0}),l=Ns(a,r),s=Ns(u,o,i),c=zs(l),d=zs(s);t.modifiersData[n]={referenceClippingOffsets:l,popperEscapeOffsets:s,isReferenceHidden:c,hasPopperEscaped:d},t.attributes.popper=Object.assign({},t.attributes.popper,{"data-popper-reference-hidden":c,"data-popper-escaped":d})}}]}),Ws=n(9265);var $s=t.forwardRef((function(e,n){var o=e.children,i=e.container,a=e.disablePortal,u=void 0!==a&&a,l=t.useState(null),s=(0,r.Z)(l,2),c=s[0],d=s[1],f=(0,Et.Z)(t.isValidElement(o)?o.ref:null,n);return(0,Cl.Z)((function(){u||d(function(e){return"function"===typeof e?e():e}(i)||document.body)}),[i,u]),(0,Cl.Z)((function(){if(c&&!u)return(0,Ws.Z)(n,c),function(){(0,Ws.Z)(n,null)}}),[n,c,u]),u?t.isValidElement(o)?t.cloneElement(o,{ref:f}):o:c?t.createPortal(o,c):c})),Hs=["anchorEl","children","direction","disablePortal","modifiers","open","ownerState","placement","popperOptions","popperRef","TransitionProps"],Ys=["anchorEl","children","container","direction","disablePortal","keepMounted","modifiers","open","placement","popperOptions","popperRef","style","transition"];function Vs(e){return"function"===typeof e?e():e}var Us={},qs=t.forwardRef((function(e,n){var i=e.anchorEl,a=e.children,u=e.direction,l=e.disablePortal,s=e.modifiers,c=e.open,d=e.placement,f=e.popperOptions,p=e.popperRef,h=e.TransitionProps,m=(0,X.Z)(e,Hs),v=t.useRef(null),g=(0,Et.Z)(v,n),y=t.useRef(null),b=(0,Et.Z)(y,p),x=t.useRef(b);(0,Cl.Z)((function(){x.current=b}),[b]),t.useImperativeHandle(p,(function(){return y.current}),[]);var Z=function(e,t){if("ltr"===t)return e;switch(e){case"bottom-end":return"bottom-start";case"bottom-start":return"bottom-end";case"top-end":return"top-start";case"top-start":return"top-end";default:return e}}(d,u),w=t.useState(Z),D=(0,r.Z)(w,2),k=D[0],S=D[1];t.useEffect((function(){y.current&&y.current.forceUpdate()})),(0,Cl.Z)((function(){if(i&&c){Vs(i);var e=[{name:"preventOverflow",options:{altBoundary:l}},{name:"flip",options:{altBoundary:l}},{name:"onUpdate",enabled:!0,phase:"afterWrite",fn:function(e){var t=e.state;S(t.placement)}}];null!=s&&(e=e.concat(s)),f&&null!=f.modifiers&&(e=e.concat(f.modifiers));var t=js(Vs(i),v.current,(0,o.Z)({placement:Z},f,{modifiers:e}));return x.current(t),function(){t.destroy(),x.current(null)}}}),[i,l,s,c,f,Z]);var C={placement:k};return null!==h&&(C.TransitionProps=h),(0,ie.tZ)("div",(0,o.Z)({ref:g,role:"tooltip"},m,{children:"function"===typeof a?a(C):a}))})),Xs=t.forwardRef((function(e,n){var i=e.anchorEl,a=e.children,u=e.container,l=e.direction,s=void 0===l?"ltr":l,c=e.disablePortal,d=void 0!==c&&c,f=e.keepMounted,p=void 0!==f&&f,h=e.modifiers,m=e.open,v=e.placement,g=void 0===v?"bottom":v,y=e.popperOptions,b=void 0===y?Us:y,x=e.popperRef,Z=e.style,w=e.transition,D=void 0!==w&&w,k=(0,X.Z)(e,Ys),S=t.useState(!0),C=(0,r.Z)(S,2),_=C[0],E=C[1];if(!p&&!m&&(!D||_))return null;var A=u||(i?(0,Mt.Z)(Vs(i)).body:void 0);return(0,ie.tZ)($s,{disablePortal:d,container:A,children:(0,ie.tZ)(qs,(0,o.Z)({anchorEl:i,direction:s,disablePortal:d,modifiers:h,ref:n,open:D?!_:m,placement:g,popperOptions:b,popperRef:x},k,{style:(0,o.Z)({position:"fixed",top:0,left:0,display:m||!p||D&&!_?null:"none"},Z),TransitionProps:D?{in:m,onEnter:function(){E(!1)},onExited:function(){E(!0)}}:null,children:a}))})})),Gs=Xs,Ks=n(4976),Qs=(0,J.ZP)(Gs,{name:"MuiPopper",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),Js=t.forwardRef((function(e,t){var n=(0,Ks.Z)(),r=(0,ee.Z)({props:e,name:"MuiPopper"});return(0,ie.tZ)(Qs,(0,o.Z)({direction:null==n?void 0:n.direction},r,{ref:t}))})),ec=Js,tc=n(7677),nc=n(522);function rc(e){return(0,ne.Z)("MuiTooltip",e)}var oc=(0,re.Z)("MuiTooltip",["popper","popperInteractive","popperArrow","popperClose","tooltip","tooltipArrow","touch","tooltipPlacementLeft","tooltipPlacementRight","tooltipPlacementTop","tooltipPlacementBottom","arrow"]),ic=["arrow","children","classes","components","componentsProps","describeChild","disableFocusListener","disableHoverListener","disableInteractive","disableTouchListener","enterDelay","enterNextDelay","enterTouchDelay","followCursor","id","leaveDelay","leaveTouchDelay","onClose","onOpen","open","placement","PopperComponent","PopperProps","title","TransitionComponent","TransitionProps"];var ac=(0,J.ZP)(ec,{name:"MuiTooltip",slot:"Popper",overridesResolver:function(e,t){var n=e.ownerState;return[t.popper,!n.disableInteractive&&t.popperInteractive,n.arrow&&t.popperArrow,!n.open&&t.popperClose]}})((function(e){var t,n=e.theme,r=e.ownerState,i=e.open;return(0,o.Z)({zIndex:n.zIndex.tooltip,pointerEvents:"none"},!r.disableInteractive&&{pointerEvents:"auto"},!i&&{pointerEvents:"none"},r.arrow&&(t={},(0,q.Z)(t,'&[data-popper-placement*="bottom"] .'.concat(oc.arrow),{top:0,marginTop:"-0.71em","&::before":{transformOrigin:"0 100%"}}),(0,q.Z)(t,'&[data-popper-placement*="top"] .'.concat(oc.arrow),{bottom:0,marginBottom:"-0.71em","&::before":{transformOrigin:"100% 0"}}),(0,q.Z)(t,'&[data-popper-placement*="right"] .'.concat(oc.arrow),(0,o.Z)({},r.isRtl?{right:0,marginRight:"-0.71em"}:{left:0,marginLeft:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"100% 100%"}})),(0,q.Z)(t,'&[data-popper-placement*="left"] .'.concat(oc.arrow),(0,o.Z)({},r.isRtl?{left:0,marginLeft:"-0.71em"}:{right:0,marginRight:"-0.71em"},{height:"1em",width:"0.71em","&::before":{transformOrigin:"0 0"}})),t))})),uc=(0,J.ZP)("div",{name:"MuiTooltip",slot:"Tooltip",overridesResolver:function(e,t){var n=e.ownerState;return[t.tooltip,n.touch&&t.touch,n.arrow&&t.tooltipArrow,t["tooltipPlacement".concat((0,te.Z)(n.placement.split("-")[0]))]]}})((function(e){var t,n,r=e.theme,i=e.ownerState;return(0,o.Z)({backgroundColor:(0,Q.Fq)(r.palette.grey[700],.92),borderRadius:r.shape.borderRadius,color:r.palette.common.white,fontFamily:r.typography.fontFamily,padding:"4px 8px",fontSize:r.typography.pxToRem(11),maxWidth:300,margin:2,wordWrap:"break-word",fontWeight:r.typography.fontWeightMedium},i.arrow&&{position:"relative",margin:0},i.touch&&{padding:"8px 16px",fontSize:r.typography.pxToRem(14),lineHeight:"".concat((n=16/14,Math.round(1e5*n)/1e5),"em"),fontWeight:r.typography.fontWeightRegular},(t={},(0,q.Z)(t,".".concat(oc.popper,'[data-popper-placement*="left"] &'),(0,o.Z)({transformOrigin:"right center"},i.isRtl?(0,o.Z)({marginLeft:"14px"},i.touch&&{marginLeft:"24px"}):(0,o.Z)({marginRight:"14px"},i.touch&&{marginRight:"24px"}))),(0,q.Z)(t,".".concat(oc.popper,'[data-popper-placement*="right"] &'),(0,o.Z)({transformOrigin:"left center"},i.isRtl?(0,o.Z)({marginRight:"14px"},i.touch&&{marginRight:"24px"}):(0,o.Z)({marginLeft:"14px"},i.touch&&{marginLeft:"24px"}))),(0,q.Z)(t,".".concat(oc.popper,'[data-popper-placement*="top"] &'),(0,o.Z)({transformOrigin:"center bottom",marginBottom:"14px"},i.touch&&{marginBottom:"24px"})),(0,q.Z)(t,".".concat(oc.popper,'[data-popper-placement*="bottom"] &'),(0,o.Z)({transformOrigin:"center top",marginTop:"14px"},i.touch&&{marginTop:"24px"})),t))})),lc=(0,J.ZP)("span",{name:"MuiTooltip",slot:"Arrow",overridesResolver:function(e,t){return t.arrow}})((function(e){var t=e.theme;return{overflow:"hidden",position:"absolute",width:"1em",height:"0.71em",boxSizing:"border-box",color:(0,Q.Fq)(t.palette.grey[700],.9),"&::before":{content:'""',margin:"auto",display:"block",width:"100%",height:"100%",backgroundColor:"currentColor",transform:"rotate(45deg)"}}})),sc=!1,cc=null;function dc(e,t){return function(n){t&&t(n),e(n)}}var fc=t.forwardRef((function(e,n){var i,a,u,l,s,c,d=(0,ee.Z)({props:e,name:"MuiTooltip"}),f=d.arrow,p=void 0!==f&&f,h=d.children,m=d.components,v=void 0===m?{}:m,g=d.componentsProps,y=void 0===g?{}:g,b=d.describeChild,x=void 0!==b&&b,Z=d.disableFocusListener,w=void 0!==Z&&Z,D=d.disableHoverListener,k=void 0!==D&&D,S=d.disableInteractive,C=void 0!==S&&S,_=d.disableTouchListener,E=void 0!==_&&_,A=d.enterDelay,M=void 0===A?100:A,T=d.enterNextDelay,P=void 0===T?0:T,R=d.enterTouchDelay,F=void 0===R?700:R,O=d.followCursor,B=void 0!==O&&O,I=d.id,L=d.leaveDelay,N=void 0===L?0:L,z=d.leaveTouchDelay,j=void 0===z?1500:z,W=d.onClose,$=d.onOpen,H=d.open,Y=d.placement,V=void 0===Y?"bottom":Y,U=d.PopperComponent,q=d.PopperProps,Q=void 0===q?{}:q,J=d.title,ne=d.TransitionComponent,re=void 0===ne?Qt:ne,oe=d.TransitionProps,ae=(0,X.Z)(d,ic),ue=Ot(),le="rtl"===ue.direction,se=t.useState(),ce=(0,r.Z)(se,2),de=ce[0],fe=ce[1],ve=t.useState(null),ge=(0,r.Z)(ve,2),ye=ge[0],be=ge[1],xe=t.useRef(!1),Ze=C||B,we=t.useRef(),De=t.useRef(),ke=t.useRef(),Se=t.useRef(),Ce=(0,nc.Z)({controlled:H,default:!1,name:"Tooltip",state:"open"}),_e=(0,r.Z)(Ce,2),Ee=_e[0],Ae=_e[1],Me=Ee,Te=(0,tc.Z)(I),Pe=t.useRef(),Re=t.useCallback((function(){void 0!==Pe.current&&(document.body.style.WebkitUserSelect=Pe.current,Pe.current=void 0),clearTimeout(Se.current)}),[]);t.useEffect((function(){return function(){clearTimeout(we.current),clearTimeout(De.current),clearTimeout(ke.current),Re()}}),[Re]);var Fe=function(e){clearTimeout(cc),sc=!0,Ae(!0),$&&!Me&&$(e)},Oe=(0,he.Z)((function(e){clearTimeout(cc),cc=setTimeout((function(){sc=!1}),800+N),Ae(!1),W&&Me&&W(e),clearTimeout(we.current),we.current=setTimeout((function(){xe.current=!1}),ue.transitions.duration.shortest)})),Be=function(e){xe.current&&"touchstart"!==e.type||(de&&de.removeAttribute("title"),clearTimeout(De.current),clearTimeout(ke.current),M||sc&&P?De.current=setTimeout((function(){Fe(e)}),sc?P:M):Fe(e))},Ie=function(e){clearTimeout(De.current),clearTimeout(ke.current),ke.current=setTimeout((function(){Oe(e)}),N)},Le=(0,me.Z)(),Ne=Le.isFocusVisibleRef,ze=Le.onBlur,je=Le.onFocus,We=Le.ref,$e=t.useState(!1),He=(0,r.Z)($e,2)[1],Ye=function(e){ze(e),!1===Ne.current&&(He(!1),Ie(e))},Ve=function(e){de||fe(e.currentTarget),je(e),!0===Ne.current&&(He(!0),Be(e))},Ue=function(e){xe.current=!0;var t=h.props;t.onTouchStart&&t.onTouchStart(e)},qe=Be,Xe=Ie;t.useEffect((function(){if(Me)return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)};function e(e){"Escape"!==e.key&&"Esc"!==e.key||Oe(e)}}),[Oe,Me]);var Ge=(0,pe.Z)(fe,n),Ke=(0,pe.Z)(We,Ge),Qe=(0,pe.Z)(h.ref,Ke);""===J&&(Me=!1);var Je=t.useRef({x:0,y:0}),et=t.useRef(),tt={},nt="string"===typeof J;x?(tt.title=Me||!nt||k?null:J,tt["aria-describedby"]=Me?Te:null):(tt["aria-label"]=nt?J:null,tt["aria-labelledby"]=Me&&!nt?Te:null);var rt=(0,o.Z)({},tt,ae,h.props,{className:(0,G.Z)(ae.className,h.props.className),onTouchStart:Ue,ref:Qe},B?{onMouseMove:function(e){var t=h.props;t.onMouseMove&&t.onMouseMove(e),Je.current={x:e.clientX,y:e.clientY},et.current&&et.current.update()}}:{});var ot={};E||(rt.onTouchStart=function(e){Ue(e),clearTimeout(ke.current),clearTimeout(we.current),Re(),Pe.current=document.body.style.WebkitUserSelect,document.body.style.WebkitUserSelect="none",Se.current=setTimeout((function(){document.body.style.WebkitUserSelect=Pe.current,Be(e)}),F)},rt.onTouchEnd=function(e){h.props.onTouchEnd&&h.props.onTouchEnd(e),Re(),clearTimeout(ke.current),ke.current=setTimeout((function(){Oe(e)}),j)}),k||(rt.onMouseOver=dc(qe,rt.onMouseOver),rt.onMouseLeave=dc(Xe,rt.onMouseLeave),Ze||(ot.onMouseOver=qe,ot.onMouseLeave=Xe)),w||(rt.onFocus=dc(Ve,rt.onFocus),rt.onBlur=dc(Ye,rt.onBlur),Ze||(ot.onFocus=Ve,ot.onBlur=Ye));var it=t.useMemo((function(){var e,t=[{name:"arrow",enabled:Boolean(ye),options:{element:ye,padding:4}}];return null!=(e=Q.popperOptions)&&e.modifiers&&(t=t.concat(Q.popperOptions.modifiers)),(0,o.Z)({},Q.popperOptions,{modifiers:t})}),[ye,Q]),at=(0,o.Z)({},d,{isRtl:le,arrow:p,disableInteractive:Ze,placement:V,PopperComponentProp:U,touch:xe.current}),ut=function(e){var t=e.classes,n=e.disableInteractive,r=e.arrow,o=e.touch,i=e.placement,a={popper:["popper",!n&&"popperInteractive",r&&"popperArrow"],tooltip:["tooltip",r&&"tooltipArrow",o&&"touch","tooltipPlacement".concat((0,te.Z)(i.split("-")[0]))],arrow:["arrow"]};return(0,K.Z)(a,rc,t)}(at),lt=null!=(i=v.Popper)?i:ac,st=null!=(a=null!=(u=v.Transition)?u:re)?a:Qt,ct=null!=(l=v.Tooltip)?l:uc,dt=null!=(s=v.Arrow)?s:lc,ft=Sl(lt,(0,o.Z)({},Q,y.popper),at),pt=Sl(st,(0,o.Z)({},oe,y.transition),at),ht=Sl(ct,(0,o.Z)({},y.tooltip),at),mt=Sl(dt,(0,o.Z)({},y.arrow),at);return(0,ie.BX)(t.Fragment,{children:[t.cloneElement(h,rt),(0,ie.tZ)(lt,(0,o.Z)({as:null!=U?U:ec,placement:V,anchorEl:B?{getBoundingClientRect:function(){return{top:Je.current.y,left:Je.current.x,right:Je.current.x,bottom:Je.current.y,width:0,height:0}}}:de,popperRef:et,open:!!de&&Me,id:Te,transition:!0},ot,ft,{className:(0,G.Z)(ut.popper,null==Q?void 0:Q.className,null==(c=y.popper)?void 0:c.className),popperOptions:it,children:function(e){var t,n,r=e.TransitionProps;return(0,ie.tZ)(st,(0,o.Z)({timeout:ue.transitions.duration.shorter},r,pt,{children:(0,ie.BX)(ct,(0,o.Z)({},ht,{className:(0,G.Z)(ut.tooltip,null==(t=y.tooltip)?void 0:t.className),children:[J,p?(0,ie.tZ)(dt,(0,o.Z)({},mt,{className:(0,G.Z)(ut.arrow,null==(n=y.arrow)?void 0:n.className),ref:be})):null]}))}))}}))]})})),pc=fc,hc=function(e){var n=e.labels,o=e.query,i=e.onChange,a=(0,t.useState)(""),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=(0,t.useMemo)((function(){return Array.from(new Set(n.map((function(e){return e.group}))))}),[n]),d=function(){var e=Zl(Dl().mark((function e(t,n){return Dl().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:s(n),setTimeout((function(){return s("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)("div",{className:"legendWrapper",children:c.map((function(e){return(0,ie.BX)("div",{className:"legendGroup",children:[(0,ie.BX)("div",{className:"legendGroupTitle",children:[(0,ie.BX)("span",{className:"legendGroupQuery",children:["Query ",e]}),(0,ie.tZ)("svg",{className:"legendGroupLine",width:"33",height:"3",version:"1.1",xmlns:"http://www.w3.org/2000/svg",children:(0,ie.tZ)("line",{strokeWidth:"3",x1:"0",y1:"0",x2:"33",y2:"0",stroke:"#363636",strokeDasharray:cl(e).join(",")})}),(0,ie.BX)("b",{children:['"',o[e-1],'":']})]}),(0,ie.tZ)("div",{children:n.filter((function(t){return t.group===e})).map((function(e){return(0,ie.BX)("div",{className:e.checked?"legendItem":"legendItem legendItemHide",onClick:function(t){return i(e,t.ctrlKey||t.metaKey)},children:[(0,ie.tZ)("div",{className:"legendMarker",style:{borderColor:e.color,backgroundColor:"rgba(".concat(il(e.color),", 0.1)")}}),(0,ie.BX)("div",{className:"legendLabel",children:[e.label.replace(/{.+}/gim,""),!!Object.keys(e.freeFormFields).length&&(0,ie.BX)(ie.HY,{children:["\xa0{",Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e})).map((function(t){var n="".concat(t,'="').concat(e.freeFormFields[t],'"'),r="".concat(e.group,".").concat(e.label,".").concat(n);return(0,ie.tZ)(pc,{arrow:!0,open:l===r,title:"Copied!",children:(0,ie.BX)("span",{className:"legendFreeFields",onClick:function(e){e.stopPropagation(),d(n,r)},children:[t,": ",e.freeFormFields[t]]})},t)})),"}"]})]})]},"".concat(e.group,".").concat(e.label))}))})]},e)}))}),(0,ie.BX)("div",{className:"legendWrapperHotkey",children:[(0,ie.BX)("p",{children:[(0,ie.tZ)("code",{children:"Left click"})," - select series"]}),(0,ie.BX)("p",{children:[(0,ie.tZ)("code",{children:"Ctrl"})," + ",(0,ie.tZ)("code",{children:"Left click"})," - toggle multiple series"]})]})]})};var mc=["__name__"],vc=function(e,t){var n=e.metric,r=n.__name__,o=function(e,t){if(null==e)return{};var n,r,o=(0,X.Z)(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,mc),i=t||r||"Query ".concat(e.group," result");return 0===Object.keys(e.metric).length?i:"".concat(i," {").concat(Object.entries(o).map((function(e){return"".concat(e[0],": ").concat(e[1])})).join(", "),"}")},gc=function(e,t,n){var r=vc(e,n[e.group-1]);return{label:r,dash:cl(e.group),freeFormFields:e.metric,width:1.4,stroke:sl(e.group,r),show:!bc(r,e.group,t),scale:String(e.group),points:{size:4.2,width:1.4}}},yc=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields}},bc=function(e,t,n){return n.includes("".concat(t,".").concat(e))},xc=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},Zc=function(e){var n=e.data,o=void 0===n?[]:n,i=e.period,a=e.customStep,u=e.query,l=e.yaxis,s=e.unit,c=e.showLegend,d=void 0===c||c,f=e.setYaxisLimits,p=e.setPeriod,h=e.alias,m=void 0===h?[]:h,v=(0,t.useMemo)((function(){return a.enable?a.value:i.step||1}),[i.step,a]),g=(0,t.useState)([[]]),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)([]),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=(0,t.useState)([]),C=(0,r.Z)(S,2),_=C[0],E=C[1],A=(0,t.useState)([]),M=(0,r.Z)(A,2),T=M[0],P=M[1],R=function(e){var t=function(e){var t={};for(var n in e){var r=e[n],o=fl(r),i=dl(r);t[n]=hl(o,i)}return t}(e);f(t)};(0,t.useEffect)((function(){var e=[],t={},n=[],r=[];null===o||void 0===o||o.forEach((function(o){var i=gc(o,T,m);r.push(i),n.push(yc(i,o.group));var a=t[o.group];a||(a=[]);var u,l=ao(o.values);try{for(l.s();!(u=l.n()).done;){var s=u.value;e.push(s[0]),a.push(xc(s[1]))}}catch(c){l.e(c)}finally{l.f()}t[o.group]=a}));var a=function(e,t,n){for(var r=Array.from(new Set(e)).sort((function(e,t){return e-t})),o=n.start,i=Bn(n.end+t),a=0,u=[];o<=i;){for(;a=r.length||r[a]>o)&&u.push(o)}for(;u.length<2;)u.push(o),o=Bn(o+t);return u}(e,v,i);x([a].concat((0,ve.Z)(o.map((function(e){var t,n=[],r=e.values,o=0,i=ao(a);try{for(i.s();!(t=i.n()).done;){for(var u=t.value;o *":{padding:0}}),"checkbox"===n.padding&&{width:48,padding:"0 0 0 4px"},"none"===n.padding&&{padding:0},"left"===n.align&&{textAlign:"left"},"center"===n.align&&{textAlign:"center"},"right"===n.align&&{textAlign:"right",flexDirection:"row-reverse"},"justify"===n.align&&{textAlign:"justify"},n.stickyHeader&&{position:"sticky",top:0,zIndex:2,backgroundColor:t.palette.background.default})})),jc=t.forwardRef((function(e,n){var r,i=(0,ee.Z)({props:e,name:"MuiTableCell"}),a=i.align,u=void 0===a?"inherit":a,l=i.className,s=i.component,c=i.padding,d=i.scope,f=i.size,p=i.sortDirection,h=i.variant,m=(0,X.Z)(i,Nc),v=t.useContext(wc),g=t.useContext(Ac),y=g&&"head"===g.variant;r=s||(y?"th":"td");var b=d;!b&&y&&(b="col");var x=h||g&&g.variant,Z=(0,o.Z)({},i,{align:u,component:r,padding:c||(v&&v.padding?v.padding:"normal"),size:f||(v&&v.size?v.size:"medium"),sortDirection:p,stickyHeader:"head"===x&&v&&v.stickyHeader,variant:x}),w=function(e){var t=e.classes,n=e.variant,r=e.align,o=e.padding,i=e.size,a={root:["root",n,e.stickyHeader&&"stickyHeader","inherit"!==r&&"align".concat((0,te.Z)(r)),"normal"!==o&&"padding".concat((0,te.Z)(o)),"size".concat((0,te.Z)(i))]};return(0,K.Z)(a,Ic,t)}(Z),D=null;return p&&(D="asc"===p?"ascending":"descending"),(0,ie.tZ)(zc,(0,o.Z)({as:r,ref:n,className:(0,G.Z)(w.root,l),"aria-sort":D,scope:b,ownerState:Z},m))})),Wc=jc;function $c(e){return(0,ne.Z)("MuiTableContainer",e)}(0,re.Z)("MuiTableContainer",["root"]);var Hc=["className","component"],Yc=(0,J.ZP)("div",{name:"MuiTableContainer",slot:"Root",overridesResolver:function(e,t){return t.root}})({width:"100%",overflowX:"auto"}),Vc=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTableContainer"}),r=n.className,i=n.component,a=void 0===i?"div":i,u=(0,X.Z)(n,Hc),l=(0,o.Z)({},n,{component:a}),s=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},$c,t)}(l);return(0,ie.tZ)(Yc,(0,o.Z)({ref:t,as:a,className:(0,G.Z)(s.root,r),ownerState:l},u))})),Uc=Vc;function qc(e){return(0,ne.Z)("MuiTableHead",e)}(0,re.Z)("MuiTableHead",["root"]);var Xc=["className","component"],Gc=(0,J.ZP)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"table-header-group"}),Kc={variant:"head"},Qc="thead",Jc=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTableHead"}),r=n.className,i=n.component,a=void 0===i?Qc:i,u=(0,X.Z)(n,Xc),l=(0,o.Z)({},n,{component:a}),s=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},qc,t)}(l);return(0,ie.tZ)(Ac.Provider,{value:Kc,children:(0,ie.tZ)(Gc,(0,o.Z)({as:a,className:(0,G.Z)(s.root,r),ref:t,role:a===Qc?null:"rowgroup",ownerState:l},u))})})),ed=Jc;function td(e){return(0,ne.Z)("MuiTableRow",e)}var nd=(0,re.Z)("MuiTableRow",["root","selected","hover","head","footer"]),rd=["className","component","hover","selected"],od=(0,J.ZP)("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.head&&t.head,n.footer&&t.footer]}})((function(e){var t,n=e.theme;return t={color:"inherit",display:"table-row",verticalAlign:"middle",outline:0},(0,q.Z)(t,"&.".concat(nd.hover,":hover"),{backgroundColor:n.palette.action.hover}),(0,q.Z)(t,"&.".concat(nd.selected),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity),"&:hover":{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity)}}),t})),id=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiTableRow"}),i=r.className,a=r.component,u=void 0===a?"tr":a,l=r.hover,s=void 0!==l&&l,c=r.selected,d=void 0!==c&&c,f=(0,X.Z)(r,rd),p=t.useContext(Ac),h=(0,o.Z)({},r,{component:u,hover:s,selected:d,head:p&&"head"===p.variant,footer:p&&"footer"===p.variant}),m=function(e){var t=e.classes,n={root:["root",e.selected&&"selected",e.hover&&"hover",e.head&&"head",e.footer&&"footer"]};return(0,K.Z)(n,td,t)}(h);return(0,ie.tZ)(od,(0,o.Z)({as:u,ref:n,className:(0,G.Z)(m.root,i),role:"tr"===u?null:"row",ownerState:h},f))})),ad=id,ud=(0,ht.Z)((0,ie.tZ)("path",{d:"M20 12l-1.41-1.41L13 16.17V4h-2v12.17l-5.58-5.59L4 12l8 8 8-8z"}),"ArrowDownward");function ld(e){return(0,ne.Z)("MuiTableSortLabel",e)}var sd=(0,re.Z)("MuiTableSortLabel",["root","active","icon","iconDirectionDesc","iconDirectionAsc"]),cd=["active","children","className","direction","hideSortIcon","IconComponent"],dd=(0,J.ZP)(at,{name:"MuiTableSortLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.active&&t.active]}})((function(e){var t=e.theme;return(0,q.Z)({cursor:"pointer",display:"inline-flex",justifyContent:"flex-start",flexDirection:"inherit",alignItems:"center","&:focus":{color:t.palette.text.secondary},"&:hover":(0,q.Z)({color:t.palette.text.secondary},"& .".concat(sd.icon),{opacity:.5})},"&.".concat(sd.active),(0,q.Z)({color:t.palette.text.primary},"& .".concat(sd.icon),{opacity:1,color:t.palette.text.secondary}))})),fd=(0,J.ZP)("span",{name:"MuiTableSortLabel",slot:"Icon",overridesResolver:function(e,t){var n=e.ownerState;return[t.icon,t["iconDirection".concat((0,te.Z)(n.direction))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({fontSize:18,marginRight:4,marginLeft:4,opacity:0,transition:t.transitions.create(["opacity","transform"],{duration:t.transitions.duration.shorter}),userSelect:"none"},"desc"===n.direction&&{transform:"rotate(0deg)"},"asc"===n.direction&&{transform:"rotate(180deg)"})})),pd=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTableSortLabel"}),r=n.active,i=void 0!==r&&r,a=n.children,u=n.className,l=n.direction,s=void 0===l?"asc":l,c=n.hideSortIcon,d=void 0!==c&&c,f=n.IconComponent,p=void 0===f?ud:f,h=(0,X.Z)(n,cd),m=(0,o.Z)({},n,{active:i,direction:s,hideSortIcon:d,IconComponent:p}),v=function(e){var t=e.classes,n=e.direction,r={root:["root",e.active&&"active"],icon:["icon","iconDirection".concat((0,te.Z)(n))]};return(0,K.Z)(r,ld,t)}(m);return(0,ie.BX)(dd,(0,o.Z)({className:(0,G.Z)(v.root,u),component:"span",disableRipple:!0,ownerState:m,ref:t},h,{children:[a,d&&!i?null:(0,ie.tZ)(fd,{as:p,className:(0,G.Z)(v.icon),ownerState:m})]}))})),hd=pd,md=function(e){var n=e.data,o=function(e){return(0,t.useMemo)((function(){var t={};return e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return t[e[0]]?t[e[0]].options.add(e[1]):t[e[0]]={options:new Set([e[1]])}}))})),Object.entries(t).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}))}),[e])}(n),i=(0,t.useState)(""),a=(0,r.Z)(i,2),u=a[0],l=a[1],s=(0,t.useState)("asc"),c=(0,r.Z)(s,2),d=c[0],f=c[1],p=(0,t.useMemo)((function(){var e=null===n||void 0===n?void 0:n.map((function(e){return{metadata:o.map((function(t){return e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-"}})),t="Value"===u,r=o.findIndex((function(e){return e.key===u}));return t||-1!==r?e.sort((function(e,n){var o=t?Number(e.value):e.metadata[r],i=t?Number(n.value):n.metadata[r];return("asc"===d?oi)?-1:1})):e}),[o,n,u,d]),h=function(e){f((function(t){return"asc"===t&&u===e?"desc":"asc"})),l(e)};return(0,ie.tZ)(ie.HY,{children:p.length>0?(0,ie.tZ)(Uc,{children:(0,ie.BX)(Ec,{"aria-label":"simple table",children:[(0,ie.tZ)(ed,{children:(0,ie.BX)(ad,{children:[o.map((function(e,t){return(0,ie.tZ)(Wc,{style:{textTransform:"capitalize"},children:(0,ie.tZ)(hd,{active:u===e.key,direction:d,onClick:function(){return h(e.key)},children:e.key})},t)})),(0,ie.tZ)(Wc,{align:"right",children:(0,ie.tZ)(hd,{active:"Value"===u,direction:d,onClick:function(){return h("Value")},children:"Value"})})]})}),(0,ie.tZ)(Bc,{children:p.map((function(e,t){return(0,ie.BX)(ad,{hover:!0,children:[e.metadata.map((function(e,n){var r=p[t-1]&&p[t-1].metadata[n];return(0,ie.tZ)(Wc,{sx:r===e?{opacity:.4}:{},children:e},n)})),(0,ie.tZ)(Wc,{align:"right",children:e.value})]},t)}))})]})}):(0,ie.tZ)(_t,{color:"warning",severity:"warning",sx:{mt:2},children:"No data to show"})})},vd=n(3362),gd=n(7219),yd=n(3282),bd=n(4312),xd=["onChange","maxRows","minRows","style","value"];function Zd(e,t){return parseInt(e[t],10)||0}var wd={visibility:"hidden",position:"absolute",overflow:"hidden",height:0,top:0,left:0,transform:"translateZ(0)"},Dd=t.forwardRef((function(e,n){var i=e.onChange,a=e.maxRows,u=e.minRows,l=void 0===u?1:u,s=e.style,c=e.value,d=(0,X.Z)(e,xd),f=t.useRef(null!=c).current,p=t.useRef(null),h=(0,Et.Z)(n,p),m=t.useRef(null),v=t.useRef(0),g=t.useState({}),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=t.useCallback((function(){var t=p.current,n=(0,yd.Z)(t).getComputedStyle(t);if("0px"!==n.width){var r=m.current;r.style.width=n.width,r.value=t.value||e.placeholder||"x","\n"===r.value.slice(-1)&&(r.value+=" ");var o=n["box-sizing"],i=Zd(n,"padding-bottom")+Zd(n,"padding-top"),u=Zd(n,"border-bottom-width")+Zd(n,"border-top-width"),s=r.scrollHeight;r.value="x";var c=r.scrollHeight,d=s;l&&(d=Math.max(Number(l)*c,d)),a&&(d=Math.min(Number(a)*c,d));var f=(d=Math.max(d,c))+("border-box"===o?i+u:0),h=Math.abs(d-s)<=1;x((function(e){return v.current<20&&(f>0&&Math.abs((e.outerHeightStyle||0)-f)>1||e.overflow!==h)?(v.current+=1,{overflow:h,outerHeightStyle:f}):e}))}}),[a,l,e.placeholder]);t.useEffect((function(){var e,t=(0,bd.Z)((function(){v.current=0,Z()})),n=(0,yd.Z)(p.current);return n.addEventListener("resize",t),"undefined"!==typeof ResizeObserver&&(e=new ResizeObserver(t)).observe(p.current),function(){t.clear(),n.removeEventListener("resize",t),e&&e.disconnect()}}),[Z]),(0,Cl.Z)((function(){Z()})),t.useEffect((function(){v.current=0}),[c]);return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("textarea",(0,o.Z)({value:c,onChange:function(e){v.current=0,f||Z(),i&&i(e)},ref:h,rows:l,style:(0,o.Z)({height:b.outerHeightStyle,overflow:b.overflow?"hidden":null},s)},d)),(0,ie.tZ)("textarea",{"aria-hidden":!0,className:e.className,readOnly:!0,ref:m,tabIndex:-1,style:(0,o.Z)({},wd,s,{padding:0})})]})})),kd=Dd;function Sd(e){var t=e.props,n=e.states,r=e.muiFormControl;return n.reduce((function(e,n){return e[n]=t[n],r&&"undefined"===typeof t[n]&&(e[n]=r[n]),e}),{})}var Cd=t.createContext();function _d(){return t.useContext(Cd)}var Ed=n(4993);function Ad(e){return null!=e&&!(Array.isArray(e)&&0===e.length)}function Md(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return e&&(Ad(e.value)&&""!==e.value||t&&Ad(e.defaultValue)&&""!==e.defaultValue)}function Td(e){return(0,ne.Z)("MuiInputBase",e)}var Pd=(0,re.Z)("MuiInputBase",["root","formControl","focused","disabled","adornedStart","adornedEnd","error","sizeSmall","multiline","colorSecondary","fullWidth","hiddenLabel","input","inputSizeSmall","inputMultiline","inputTypeSearch","inputAdornedStart","inputAdornedEnd","inputHiddenLabel"]),Rd=["aria-describedby","autoComplete","autoFocus","className","color","components","componentsProps","defaultValue","disabled","disableInjectingGlobalStyles","endAdornment","error","fullWidth","id","inputComponent","inputProps","inputRef","margin","maxRows","minRows","multiline","name","onBlur","onChange","onClick","onFocus","onKeyDown","onKeyUp","placeholder","readOnly","renderSuffix","rows","size","startAdornment","type","value"],Fd=function(e,t){var n=e.ownerState;return[t.root,n.formControl&&t.formControl,n.startAdornment&&t.adornedStart,n.endAdornment&&t.adornedEnd,n.error&&t.error,"small"===n.size&&t.sizeSmall,n.multiline&&t.multiline,n.color&&t["color".concat((0,te.Z)(n.color))],n.fullWidth&&t.fullWidth,n.hiddenLabel&&t.hiddenLabel]},Od=function(e,t){var n=e.ownerState;return[t.input,"small"===n.size&&t.inputSizeSmall,n.multiline&&t.inputMultiline,"search"===n.type&&t.inputTypeSearch,n.startAdornment&&t.inputAdornedStart,n.endAdornment&&t.inputAdornedEnd,n.hiddenLabel&&t.inputHiddenLabel]},Bd=(0,J.ZP)("div",{name:"MuiInputBase",slot:"Root",overridesResolver:Fd})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},t.typography.body1,(0,q.Z)({color:t.palette.text.primary,lineHeight:"1.4375em",boxSizing:"border-box",position:"relative",cursor:"text",display:"inline-flex",alignItems:"center"},"&.".concat(Pd.disabled),{color:t.palette.text.disabled,cursor:"default"}),n.multiline&&(0,o.Z)({padding:"4px 0 5px"},"small"===n.size&&{paddingTop:1}),n.fullWidth&&{width:"100%"})})),Id=(0,J.ZP)("input",{name:"MuiInputBase",slot:"Input",overridesResolver:Od})((function(e){var t,n=e.theme,r=e.ownerState,i="light"===n.palette.mode,a={color:"currentColor",opacity:i?.42:.5,transition:n.transitions.create("opacity",{duration:n.transitions.duration.shorter})},u={opacity:"0 !important"},l={opacity:i?.42:.5};return(0,o.Z)((t={font:"inherit",letterSpacing:"inherit",color:"currentColor",padding:"4px 0 5px",border:0,boxSizing:"content-box",background:"none",height:"1.4375em",margin:0,WebkitTapHighlightColor:"transparent",display:"block",minWidth:0,width:"100%",animationName:"mui-auto-fill-cancel",animationDuration:"10ms","&::-webkit-input-placeholder":a,"&::-moz-placeholder":a,"&:-ms-input-placeholder":a,"&::-ms-input-placeholder":a,"&:focus":{outline:0},"&:invalid":{boxShadow:"none"},"&::-webkit-search-decoration":{WebkitAppearance:"none"}},(0,q.Z)(t,"label[data-shrink=false] + .".concat(Pd.formControl," &"),{"&::-webkit-input-placeholder":u,"&::-moz-placeholder":u,"&:-ms-input-placeholder":u,"&::-ms-input-placeholder":u,"&:focus::-webkit-input-placeholder":l,"&:focus::-moz-placeholder":l,"&:focus:-ms-input-placeholder":l,"&:focus::-ms-input-placeholder":l}),(0,q.Z)(t,"&.".concat(Pd.disabled),{opacity:1,WebkitTextFillColor:n.palette.text.disabled}),(0,q.Z)(t,"&:-webkit-autofill",{animationDuration:"5000s",animationName:"mui-auto-fill"}),t),"small"===r.size&&{paddingTop:1},r.multiline&&{height:"auto",resize:"none",padding:0,paddingTop:0},"search"===r.type&&{MozAppearance:"textfield"})})),Ld=(0,ie.tZ)(Rr,{styles:{"@keyframes mui-auto-fill":{from:{display:"block"}},"@keyframes mui-auto-fill-cancel":{from:{display:"block"}}}}),Nd=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiInputBase"}),a=i["aria-describedby"],u=i.autoComplete,l=i.autoFocus,s=i.className,c=i.components,d=void 0===c?{}:c,f=i.componentsProps,p=void 0===f?{}:f,h=i.defaultValue,m=i.disabled,v=i.disableInjectingGlobalStyles,g=i.endAdornment,y=i.fullWidth,b=void 0!==y&&y,x=i.id,Z=i.inputComponent,w=void 0===Z?"input":Z,D=i.inputProps,k=void 0===D?{}:D,S=i.inputRef,C=i.maxRows,_=i.minRows,E=i.multiline,A=void 0!==E&&E,M=i.name,T=i.onBlur,P=i.onChange,R=i.onClick,F=i.onFocus,O=i.onKeyDown,B=i.onKeyUp,I=i.placeholder,L=i.readOnly,N=i.renderSuffix,z=i.rows,j=i.startAdornment,W=i.type,$=void 0===W?"text":W,H=i.value,Y=(0,X.Z)(i,Rd),V=null!=k.value?k.value:H,U=t.useRef(null!=V).current,q=t.useRef(),Q=t.useCallback((function(e){0}),[]),J=(0,pe.Z)(k.ref,Q),ne=(0,pe.Z)(S,J),re=(0,pe.Z)(q,ne),oe=t.useState(!1),ae=(0,r.Z)(oe,2),ue=ae[0],le=ae[1],se=_d();var ce=Sd({props:i,muiFormControl:se,states:["color","disabled","error","hiddenLabel","size","required","filled"]});ce.focused=se?se.focused:ue,t.useEffect((function(){!se&&m&&ue&&(le(!1),T&&T())}),[se,m,ue,T]);var de=se&&se.onFilled,fe=se&&se.onEmpty,he=t.useCallback((function(e){Md(e)?de&&de():fe&&fe()}),[de,fe]);(0,Ed.Z)((function(){U&&he({value:V})}),[V,he,U]);t.useEffect((function(){he(q.current)}),[]);var me=w,ve=k;A&&"input"===me&&(ve=z?(0,o.Z)({type:void 0,minRows:z,maxRows:z},ve):(0,o.Z)({type:void 0,maxRows:C,minRows:_},ve),me=kd);t.useEffect((function(){se&&se.setAdornedStart(Boolean(j))}),[se,j]);var ge=(0,o.Z)({},i,{color:ce.color||"primary",disabled:ce.disabled,endAdornment:g,error:ce.error,focused:ce.focused,formControl:se,fullWidth:b,hiddenLabel:ce.hiddenLabel,multiline:A,size:ce.size,startAdornment:j,type:$}),ye=function(e){var t=e.classes,n=e.color,r=e.disabled,o=e.error,i=e.endAdornment,a=e.focused,u=e.formControl,l=e.fullWidth,s=e.hiddenLabel,c=e.multiline,d=e.size,f=e.startAdornment,p=e.type,h={root:["root","color".concat((0,te.Z)(n)),r&&"disabled",o&&"error",l&&"fullWidth",a&&"focused",u&&"formControl","small"===d&&"sizeSmall",c&&"multiline",f&&"adornedStart",i&&"adornedEnd",s&&"hiddenLabel"],input:["input",r&&"disabled","search"===p&&"inputTypeSearch",c&&"inputMultiline","small"===d&&"inputSizeSmall",s&&"inputHiddenLabel",f&&"inputAdornedStart",i&&"inputAdornedEnd"]};return(0,K.Z)(h,Td,t)}(ge),be=d.Root||Bd,xe=p.root||{},Ze=d.Input||Id;return ve=(0,o.Z)({},ve,p.input),(0,ie.BX)(t.Fragment,{children:[!v&&Ld,(0,ie.BX)(be,(0,o.Z)({},xe,!kl(be)&&{ownerState:(0,o.Z)({},ge,xe.ownerState)},{ref:n,onClick:function(e){q.current&&e.currentTarget===e.target&&q.current.focus(),R&&R(e)}},Y,{className:(0,G.Z)(ye.root,xe.className,s),children:[j,(0,ie.tZ)(Cd.Provider,{value:null,children:(0,ie.tZ)(Ze,(0,o.Z)({ownerState:ge,"aria-invalid":ce.error,"aria-describedby":a,autoComplete:u,autoFocus:l,defaultValue:h,disabled:ce.disabled,id:x,onAnimationStart:function(e){he("mui-auto-fill-cancel"===e.animationName?q.current:{value:"x"})},name:M,placeholder:I,readOnly:L,required:ce.required,rows:z,value:V,onKeyDown:O,onKeyUp:B,type:$},ve,!kl(Ze)&&{as:me,ownerState:(0,o.Z)({},ge,ve.ownerState)},{ref:re,className:(0,G.Z)(ye.input,ve.className),onBlur:function(e){T&&T(e),k.onBlur&&k.onBlur(e),se&&se.onBlur?se.onBlur(e):le(!1)},onChange:function(e){if(!U){var t=e.target||q.current;if(null==t)throw new Error((0,gd.Z)(1));he({value:t.value})}for(var n=arguments.length,r=new Array(n>1?n-1:0),o=1;o span":{paddingLeft:5,paddingRight:5,display:"inline-block",opacity:0,visibility:"visible"}},t.notched&&{maxWidth:"100%",transition:n.transitions.create("max-width",{duration:100,easing:n.transitions.easing.easeOut,delay:50})}))}));function af(e){return(0,ne.Z)("MuiOutlinedInput",e)}var uf=(0,o.Z)({},Pd,(0,re.Z)("MuiOutlinedInput",["root","notchedOutline","input"])),lf=["components","fullWidth","inputComponent","label","multiline","notched","type"],sf=(0,J.ZP)(Bd,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiOutlinedInput",slot:"Root",overridesResolver:Fd})((function(e){var t,n=e.theme,r=e.ownerState,i="light"===n.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)";return(0,o.Z)((t={position:"relative",borderRadius:n.shape.borderRadius},(0,q.Z)(t,"&:hover .".concat(uf.notchedOutline),{borderColor:n.palette.text.primary}),(0,q.Z)(t,"@media (hover: none)",(0,q.Z)({},"&:hover .".concat(uf.notchedOutline),{borderColor:i})),(0,q.Z)(t,"&.".concat(uf.focused," .").concat(uf.notchedOutline),{borderColor:n.palette[r.color].main,borderWidth:2}),(0,q.Z)(t,"&.".concat(uf.error," .").concat(uf.notchedOutline),{borderColor:n.palette.error.main}),(0,q.Z)(t,"&.".concat(uf.disabled," .").concat(uf.notchedOutline),{borderColor:n.palette.action.disabled}),t),r.startAdornment&&{paddingLeft:14},r.endAdornment&&{paddingRight:14},r.multiline&&(0,o.Z)({padding:"16.5px 14px"},"small"===r.size&&{padding:"8.5px 14px"}))})),cf=(0,J.ZP)((function(e){var t=e.className,n=e.label,r=e.notched,i=(0,X.Z)(e,nf),a=null!=n&&""!==n,u=(0,o.Z)({},e,{notched:r,withLabel:a});return(0,ie.tZ)(rf,(0,o.Z)({"aria-hidden":!0,className:t,ownerState:u},i,{children:(0,ie.tZ)(of,{ownerState:u,children:a?(0,ie.tZ)("span",{children:n}):ef||(ef=(0,ie.tZ)("span",{className:"notranslate",children:"\u200b"}))})}))}),{name:"MuiOutlinedInput",slot:"NotchedOutline",overridesResolver:function(e,t){return t.notchedOutline}})((function(e){return{borderColor:"light"===e.theme.palette.mode?"rgba(0, 0, 0, 0.23)":"rgba(255, 255, 255, 0.23)"}})),df=(0,J.ZP)(Id,{name:"MuiOutlinedInput",slot:"Input",overridesResolver:Od})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({padding:"16.5px 14px","&:-webkit-autofill":{WebkitBoxShadow:"light"===t.palette.mode?null:"0 0 0 100px #266798 inset",WebkitTextFillColor:"light"===t.palette.mode?null:"#fff",caretColor:"light"===t.palette.mode?null:"#fff",borderRadius:"inherit"}},"small"===n.size&&{padding:"8.5px 14px"},n.multiline&&{padding:0},n.startAdornment&&{paddingLeft:0},n.endAdornment&&{paddingRight:0})})),ff=t.forwardRef((function(e,n){var r,i=(0,ee.Z)({props:e,name:"MuiOutlinedInput"}),a=i.components,u=void 0===a?{}:a,l=i.fullWidth,s=void 0!==l&&l,c=i.inputComponent,d=void 0===c?"input":c,f=i.label,p=i.multiline,h=void 0!==p&&p,m=i.notched,v=i.type,g=void 0===v?"text":v,y=(0,X.Z)(i,lf),b=function(e){var t=e.classes,n=(0,K.Z)({root:["root"],notchedOutline:["notchedOutline"],input:["input"]},af,t);return(0,o.Z)({},t,n)}(i),x=Sd({props:i,muiFormControl:_d(),states:["required"]});return(0,ie.tZ)(zd,(0,o.Z)({components:(0,o.Z)({Root:sf,Input:df},u),renderSuffix:function(e){return(0,ie.tZ)(cf,{className:b.notchedOutline,label:null!=f&&""!==f&&x.required?r||(r=(0,ie.BX)(t.Fragment,{children:[f,"\xa0","*"]})):f,notched:"undefined"!==typeof m?m:Boolean(e.startAdornment||e.filled||e.focused)})},fullWidth:s,inputComponent:d,multiline:h,ref:n,type:g},y,{classes:(0,o.Z)({},b,{notchedOutline:null})}))}));ff.muiName="Input";var pf=ff;function hf(e){return(0,ne.Z)("MuiFormLabel",e)}var mf=(0,re.Z)("MuiFormLabel",["root","colorSecondary","focused","disabled","error","filled","required","asterisk"]),vf=["children","className","color","component","disabled","error","filled","focused","required"],gf=(0,J.ZP)("label",{name:"MuiFormLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return(0,o.Z)({},t.root,"secondary"===n.color&&t.colorSecondary,n.filled&&t.filled)}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({color:n.palette.text.secondary},n.typography.body1,(t={lineHeight:"1.4375em",padding:0,position:"relative"},(0,q.Z)(t,"&.".concat(mf.focused),{color:n.palette[r.color].main}),(0,q.Z)(t,"&.".concat(mf.disabled),{color:n.palette.text.disabled}),(0,q.Z)(t,"&.".concat(mf.error),{color:n.palette.error.main}),t))})),yf=(0,J.ZP)("span",{name:"MuiFormLabel",slot:"Asterisk",overridesResolver:function(e,t){return t.asterisk}})((function(e){var t=e.theme;return(0,q.Z)({},"&.".concat(mf.error),{color:t.palette.error.main})})),bf=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiFormLabel"}),r=n.children,i=n.className,a=n.component,u=void 0===a?"label":a,l=(0,X.Z)(n,vf),s=Sd({props:n,muiFormControl:_d(),states:["color","required","focused","disabled","error","filled"]}),c=(0,o.Z)({},n,{color:s.color||"primary",component:u,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),d=function(e){var t=e.classes,n=e.color,r=e.focused,o=e.disabled,i=e.error,a=e.filled,u=e.required,l={root:["root","color".concat((0,te.Z)(n)),o&&"disabled",i&&"error",a&&"filled",r&&"focused",u&&"required"],asterisk:["asterisk",i&&"error"]};return(0,K.Z)(l,hf,t)}(c);return(0,ie.BX)(gf,(0,o.Z)({as:u,ownerState:c,className:(0,G.Z)(d.root,i),ref:t},l,{children:[r,s.required&&(0,ie.BX)(yf,{ownerState:c,"aria-hidden":!0,className:d.asterisk,children:["\u2009","*"]})]}))})),xf=bf;function Zf(e){return(0,ne.Z)("MuiInputLabel",e)}(0,re.Z)("MuiInputLabel",["root","focused","disabled","error","required","asterisk","formControl","sizeSmall","shrink","animated","standard","filled","outlined"]);var wf=["disableAnimation","margin","shrink","variant"],Df=(0,J.ZP)(xf,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiInputLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(mf.asterisk),t.asterisk),t.root,n.formControl&&t.formControl,"small"===n.size&&t.sizeSmall,n.shrink&&t.shrink,!n.disableAnimation&&t.animated,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"block",transformOrigin:"top left",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",maxWidth:"100%"},n.formControl&&{position:"absolute",left:0,top:0,transform:"translate(0, 20px) scale(1)"},"small"===n.size&&{transform:"translate(0, 17px) scale(1)"},n.shrink&&{transform:"translate(0, -1.5px) scale(0.75)",transformOrigin:"top left",maxWidth:"133%"},!n.disableAnimation&&{transition:t.transitions.create(["color","transform","max-width"],{duration:t.transitions.duration.shorter,easing:t.transitions.easing.easeOut})},"filled"===n.variant&&(0,o.Z)({zIndex:1,pointerEvents:"none",transform:"translate(12px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===n.size&&{transform:"translate(12px, 13px) scale(1)"},n.shrink&&(0,o.Z)({userSelect:"none",pointerEvents:"auto",transform:"translate(12px, 7px) scale(0.75)",maxWidth:"calc(133% - 24px)"},"small"===n.size&&{transform:"translate(12px, 4px) scale(0.75)"})),"outlined"===n.variant&&(0,o.Z)({zIndex:1,pointerEvents:"none",transform:"translate(14px, 16px) scale(1)",maxWidth:"calc(100% - 24px)"},"small"===n.size&&{transform:"translate(14px, 9px) scale(1)"},n.shrink&&{userSelect:"none",pointerEvents:"auto",maxWidth:"calc(133% - 24px)",transform:"translate(14px, -9px) scale(0.75)"}))})),kf=t.forwardRef((function(e,t){var n=(0,ee.Z)({name:"MuiInputLabel",props:e}),r=n.disableAnimation,i=void 0!==r&&r,a=n.shrink,u=(0,X.Z)(n,wf),l=_d(),s=a;"undefined"===typeof s&&l&&(s=l.filled||l.focused||l.adornedStart);var c=Sd({props:n,muiFormControl:l,states:["size","variant","required"]}),d=(0,o.Z)({},n,{disableAnimation:i,formControl:l,shrink:s,size:c.size,variant:c.variant,required:c.required}),f=function(e){var t=e.classes,n=e.formControl,r=e.size,i=e.shrink,a={root:["root",n&&"formControl",!e.disableAnimation&&"animated",i&&"shrink","small"===r&&"sizeSmall",e.variant],asterisk:[e.required&&"asterisk"]},u=(0,K.Z)(a,Zf,t);return(0,o.Z)({},t,u)}(d);return(0,ie.tZ)(Df,(0,o.Z)({"data-shrink":s,ownerState:d,ref:t},u,{classes:f}))})),Sf=kf,Cf=n(7816);function _f(e){return(0,ne.Z)("MuiFormControl",e)}(0,re.Z)("MuiFormControl",["root","marginNone","marginNormal","marginDense","fullWidth","disabled"]);var Ef=["children","className","color","component","disabled","error","focused","fullWidth","hiddenLabel","margin","required","size","variant"],Af=(0,J.ZP)("div",{name:"MuiFormControl",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return(0,o.Z)({},t.root,t["margin".concat((0,te.Z)(n.margin))],n.fullWidth&&t.fullWidth)}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inline-flex",flexDirection:"column",position:"relative",minWidth:0,padding:0,margin:0,border:0,verticalAlign:"top"},"normal"===t.margin&&{marginTop:16,marginBottom:8},"dense"===t.margin&&{marginTop:8,marginBottom:4},t.fullWidth&&{width:"100%"})})),Mf=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiFormControl"}),a=i.children,u=i.className,l=i.color,s=void 0===l?"primary":l,c=i.component,d=void 0===c?"div":c,f=i.disabled,p=void 0!==f&&f,h=i.error,m=void 0!==h&&h,v=i.focused,g=i.fullWidth,y=void 0!==g&&g,b=i.hiddenLabel,x=void 0!==b&&b,Z=i.margin,w=void 0===Z?"none":Z,D=i.required,k=void 0!==D&&D,S=i.size,C=void 0===S?"medium":S,_=i.variant,E=void 0===_?"outlined":_,A=(0,X.Z)(i,Ef),M=(0,o.Z)({},i,{color:s,component:d,disabled:p,error:m,fullWidth:y,hiddenLabel:x,margin:w,required:k,size:C,variant:E}),T=function(e){var t=e.classes,n=e.margin,r=e.fullWidth,o={root:["root","none"!==n&&"margin".concat((0,te.Z)(n)),r&&"fullWidth"]};return(0,K.Z)(o,_f,t)}(M),P=t.useState((function(){var e=!1;return a&&t.Children.forEach(a,(function(t){if((0,Cf.Z)(t,["Input","Select"])){var n=(0,Cf.Z)(t,["Select"])?t.props.input:t;n&&n.props.startAdornment&&(e=!0)}})),e})),R=(0,r.Z)(P,2),F=R[0],O=R[1],B=t.useState((function(){var e=!1;return a&&t.Children.forEach(a,(function(t){(0,Cf.Z)(t,["Input","Select"])&&Md(t.props,!0)&&(e=!0)})),e})),I=(0,r.Z)(B,2),L=I[0],N=I[1],z=t.useState(!1),j=(0,r.Z)(z,2),W=j[0],$=j[1];p&&W&&$(!1);var H=void 0===v||p?W:v,Y=t.useCallback((function(){N(!0)}),[]),V={adornedStart:F,setAdornedStart:O,color:s,disabled:p,error:m,filled:L,focused:H,fullWidth:y,hiddenLabel:x,size:C,onBlur:function(){$(!1)},onEmpty:t.useCallback((function(){N(!1)}),[]),onFilled:Y,onFocus:function(){$(!0)},registerEffect:undefined,required:k,variant:E};return(0,ie.tZ)(Cd.Provider,{value:V,children:(0,ie.tZ)(Af,(0,o.Z)({as:d,ownerState:M,className:(0,G.Z)(T.root,u),ref:n},A,{children:a}))})})),Tf=Mf;function Pf(e){return(0,ne.Z)("MuiFormHelperText",e)}var Rf,Ff=(0,re.Z)("MuiFormHelperText",["root","error","disabled","sizeSmall","sizeMedium","contained","focused","filled","required"]),Of=["children","className","component","disabled","error","filled","focused","margin","required","variant"],Bf=(0,J.ZP)("p",{name:"MuiFormHelperText",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.size&&t["size".concat((0,te.Z)(n.size))],n.contained&&t.contained,n.filled&&t.filled]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({color:n.palette.text.secondary},n.typography.caption,(t={textAlign:"left",marginTop:3,marginRight:0,marginBottom:0,marginLeft:0},(0,q.Z)(t,"&.".concat(Ff.disabled),{color:n.palette.text.disabled}),(0,q.Z)(t,"&.".concat(Ff.error),{color:n.palette.error.main}),t),"small"===r.size&&{marginTop:4},r.contained&&{marginLeft:14,marginRight:14})})),If=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiFormHelperText"}),r=n.children,i=n.className,a=n.component,u=void 0===a?"p":a,l=(0,X.Z)(n,Of),s=Sd({props:n,muiFormControl:_d(),states:["variant","size","disabled","error","filled","focused","required"]}),c=(0,o.Z)({},n,{component:u,contained:"filled"===s.variant||"outlined"===s.variant,variant:s.variant,size:s.size,disabled:s.disabled,error:s.error,filled:s.filled,focused:s.focused,required:s.required}),d=function(e){var t=e.classes,n=e.contained,r=e.size,o=e.disabled,i=e.error,a=e.filled,u=e.focused,l=e.required,s={root:["root",o&&"disabled",i&&"error",r&&"size".concat((0,te.Z)(r)),n&&"contained",u&&"focused",a&&"filled",l&&"required"]};return(0,K.Z)(s,Pf,t)}(c);return(0,ie.tZ)(Bf,(0,o.Z)({as:u,ownerState:c,className:(0,G.Z)(d.root,i),ref:t},l,{children:" "===r?Rf||(Rf=(0,ie.tZ)("span",{className:"notranslate",children:"\u200b"})):r}))})),Lf=If,Nf=(n(6214),n(6106));var zf=t.createContext({});function jf(e){return(0,ne.Z)("MuiList",e)}(0,re.Z)("MuiList",["root","padding","dense","subheader"]);var Wf=["children","className","component","dense","disablePadding","subheader"],$f=(0,J.ZP)("ul",{name:"MuiList",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disablePadding&&t.padding,n.dense&&t.dense,n.subheader&&t.subheader]}})((function(e){var t=e.ownerState;return(0,o.Z)({listStyle:"none",margin:0,padding:0,position:"relative"},!t.disablePadding&&{paddingTop:8,paddingBottom:8},t.subheader&&{paddingTop:0})})),Hf=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiList"}),i=r.children,a=r.className,u=r.component,l=void 0===u?"ul":u,s=r.dense,c=void 0!==s&&s,d=r.disablePadding,f=void 0!==d&&d,p=r.subheader,h=(0,X.Z)(r,Wf),m=t.useMemo((function(){return{dense:c}}),[c]),v=(0,o.Z)({},r,{component:l,dense:c,disablePadding:f}),g=function(e){var t=e.classes,n={root:["root",!e.disablePadding&&"padding",e.dense&&"dense",e.subheader&&"subheader"]};return(0,K.Z)(n,jf,t)}(v);return(0,ie.tZ)(zf.Provider,{value:m,children:(0,ie.BX)($f,(0,o.Z)({as:l,className:(0,G.Z)(g.root,a),ref:n,ownerState:v},h,{children:[p,i]}))})})),Yf=Hf;function Vf(e){var t=e.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}var Uf=Vf,qf=["actions","autoFocus","autoFocusItem","children","className","disabledItemsFocusable","disableListWrap","onKeyDown","variant"];function Xf(e,t,n){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:n?null:e.firstChild}function Gf(e,t,n){return e===t?n?e.firstChild:e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:n?null:e.lastChild}function Kf(e,t){if(void 0===t)return!0;var n=e.innerText;return void 0===n&&(n=e.textContent),0!==(n=n.trim().toLowerCase()).length&&(t.repeating?n[0]===t.keys[0]:0===n.indexOf(t.keys.join("")))}function Qf(e,t,n,r,o,i){for(var a=!1,u=o(e,t,!!t&&n);u;){if(u===e.firstChild){if(a)return!1;a=!0}var l=!r&&(u.disabled||"true"===u.getAttribute("aria-disabled"));if(u.hasAttribute("tabindex")&&Kf(u,i)&&!l)return u.focus(),!0;u=o(e,u,n)}return!1}var Jf=t.forwardRef((function(e,n){var r=e.actions,i=e.autoFocus,a=void 0!==i&&i,u=e.autoFocusItem,l=void 0!==u&&u,s=e.children,c=e.className,d=e.disabledItemsFocusable,f=void 0!==d&&d,p=e.disableListWrap,h=void 0!==p&&p,m=e.onKeyDown,v=e.variant,g=void 0===v?"selectedMenu":v,y=(0,X.Z)(e,qf),b=t.useRef(null),x=t.useRef({keys:[],repeating:!0,previousKeyMatched:!0,lastTime:null});(0,Ed.Z)((function(){a&&b.current.focus()}),[a]),t.useImperativeHandle(r,(function(){return{adjustStyleForScrollbar:function(e,t){var n=!b.current.style.width;if(e.clientHeight0&&(a-o.lastTime>500?(o.keys=[],o.repeating=!0,o.previousKeyMatched=!0):o.repeating&&i!==o.keys[0]&&(o.repeating=!1)),o.lastTime=a,o.keys.push(i);var u=r&&!o.repeating&&Kf(r,o);o.previousKeyMatched&&(u||Qf(t,r,!1,f,Xf,o))?e.preventDefault():o.previousKeyMatched=!1}m&&m(e)},tabIndex:a?0:-1},y,{children:D}))})),ep=Jf,tp=n(8706),np=n(3533),rp=n(4246);function op(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ip(e,t){for(var n=0;n3&&void 0!==arguments[3]?arguments[3]:[],o=arguments.length>4?arguments[4]:void 0,i=[t,n].concat((0,ve.Z)(r)),a=["TEMPLATE","SCRIPT","STYLE"];[].forEach.call(e.children,(function(e){-1===i.indexOf(e)&&-1===a.indexOf(e.tagName)&&up(e,o)}))}function cp(e,t){var n=-1;return e.some((function(e,r){return!!t(e)&&(n=r,!0)})),n}function dp(e,t){var n=[],r=e.container;if(!t.disableScrollLock){if(function(e){var t=(0,Mt.Z)(e);return t.body===e?(0,yd.Z)(e).innerWidth>t.documentElement.clientWidth:e.scrollHeight>e.clientHeight}(r)){var o=Vf((0,Mt.Z)(r));n.push({value:r.style.paddingRight,property:"padding-right",el:r}),r.style.paddingRight="".concat(lp(r)+o,"px");var i=(0,Mt.Z)(r).querySelectorAll(".mui-fixed");[].forEach.call(i,(function(e){n.push({value:e.style.paddingRight,property:"padding-right",el:e}),e.style.paddingRight="".concat(lp(e)+o,"px")}))}var a=r.parentElement,u=(0,yd.Z)(r),l="HTML"===(null==a?void 0:a.nodeName)&&"scroll"===u.getComputedStyle(a).overflowY?a:r;n.push({value:l.style.overflow,property:"overflow",el:l},{value:l.style.overflowX,property:"overflow-x",el:l},{value:l.style.overflowY,property:"overflow-y",el:l}),l.style.overflow="hidden"}return function(){n.forEach((function(e){var t=e.value,n=e.el,r=e.property;t?n.style.setProperty(r,t):n.style.removeProperty(r)}))}}var fp=function(){function e(){op(this,e),this.containers=void 0,this.modals=void 0,this.modals=[],this.containers=[]}return ap(e,[{key:"add",value:function(e,t){var n=this.modals.indexOf(e);if(-1!==n)return n;n=this.modals.length,this.modals.push(e),e.modalRef&&up(e.modalRef,!1);var r=function(e){var t=[];return[].forEach.call(e.children,(function(e){"true"===e.getAttribute("aria-hidden")&&t.push(e)})),t}(t);sp(t,e.mount,e.modalRef,r,!0);var o=cp(this.containers,(function(e){return e.container===t}));return-1!==o?(this.containers[o].modals.push(e),n):(this.containers.push({modals:[e],container:t,restore:null,hiddenSiblings:r}),n)}},{key:"mount",value:function(e,t){var n=cp(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];r.restore||(r.restore=dp(r,t))}},{key:"remove",value:function(e){var t=this.modals.indexOf(e);if(-1===t)return t;var n=cp(this.containers,(function(t){return-1!==t.modals.indexOf(e)})),r=this.containers[n];if(r.modals.splice(r.modals.indexOf(e),1),this.modals.splice(t,1),0===r.modals.length)r.restore&&r.restore(),e.modalRef&&up(e.modalRef,!0),sp(r.container,e.mount,e.modalRef,r.hiddenSiblings,!1),this.containers.splice(n,1);else{var o=r.modals[r.modals.length-1];o.modalRef&&up(o.modalRef,!1)}return t}},{key:"isTopModal",value:function(e){return this.modals.length>0&&this.modals[this.modals.length-1]===e}}]),e}(),pp=["input","select","textarea","a[href]","button","[tabindex]","audio[controls]","video[controls]",'[contenteditable]:not([contenteditable="false"])'].join(",");function hp(e){var t=[],n=[];return Array.from(e.querySelectorAll(pp)).forEach((function(e,r){var o=function(e){var t=parseInt(e.getAttribute("tabindex"),10);return Number.isNaN(t)?"true"===e.contentEditable||("AUDIO"===e.nodeName||"VIDEO"===e.nodeName||"DETAILS"===e.nodeName)&&null===e.getAttribute("tabindex")?0:e.tabIndex:t}(e);-1!==o&&function(e){return!(e.disabled||"INPUT"===e.tagName&&"hidden"===e.type||function(e){if("INPUT"!==e.tagName||"radio"!==e.type)return!1;if(!e.name)return!1;var t=function(t){return e.ownerDocument.querySelector('input[type="radio"]'.concat(t))},n=t('[name="'.concat(e.name,'"]:checked'));return n||(n=t('[name="'.concat(e.name,'"]'))),n!==e}(e))}(e)&&(0===o?t.push(e):n.push({documentOrder:r,tabIndex:o,node:e}))})),n.sort((function(e,t){return e.tabIndex===t.tabIndex?e.documentOrder-t.documentOrder:e.tabIndex-t.tabIndex})).map((function(e){return e.node})).concat(t)}function mp(){return!0}var vp=function(e){var n=e.children,r=e.disableAutoFocus,o=void 0!==r&&r,i=e.disableEnforceFocus,a=void 0!==i&&i,u=e.disableRestoreFocus,l=void 0!==u&&u,s=e.getTabbable,c=void 0===s?hp:s,d=e.isEnabled,f=void 0===d?mp:d,p=e.open,h=t.useRef(),m=t.useRef(null),v=t.useRef(null),g=t.useRef(null),y=t.useRef(null),b=t.useRef(!1),x=t.useRef(null),Z=(0,Et.Z)(n.ref,x),w=t.useRef(null);t.useEffect((function(){p&&x.current&&(b.current=!o)}),[o,p]),t.useEffect((function(){if(p&&x.current){var e=(0,Mt.Z)(x.current);return x.current.contains(e.activeElement)||(x.current.hasAttribute("tabIndex")||x.current.setAttribute("tabIndex",-1),b.current&&x.current.focus()),function(){l||(g.current&&g.current.focus&&(h.current=!0,g.current.focus()),g.current=null)}}}),[p]),t.useEffect((function(){if(p&&x.current){var e=(0,Mt.Z)(x.current),t=function(t){var n=x.current;if(null!==n)if(e.hasFocus()&&!a&&f()&&!h.current){if(!n.contains(e.activeElement)){if(t&&y.current!==t.target||e.activeElement!==y.current)y.current=null;else if(null!==y.current)return;if(!b.current)return;var r=[];if(e.activeElement!==m.current&&e.activeElement!==v.current||(r=c(x.current)),r.length>0){var o,i,u=Boolean((null==(o=w.current)?void 0:o.shiftKey)&&"Tab"===(null==(i=w.current)?void 0:i.key)),l=r[0],s=r[r.length-1];u?s.focus():l.focus()}else n.focus()}}else h.current=!1},n=function(t){w.current=t,!a&&f()&&"Tab"===t.key&&e.activeElement===x.current&&t.shiftKey&&(h.current=!0,v.current.focus())};e.addEventListener("focusin",t),e.addEventListener("keydown",n,!0);var r=setInterval((function(){"BODY"===e.activeElement.tagName&&t()}),50);return function(){clearInterval(r),e.removeEventListener("focusin",t),e.removeEventListener("keydown",n,!0)}}}),[o,a,l,f,p,c]);var D=function(e){null===g.current&&(g.current=e.relatedTarget),b.current=!0};return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("div",{tabIndex:0,onFocus:D,ref:m,"data-test":"sentinelStart"}),t.cloneElement(n,{ref:Z,onFocus:function(e){null===g.current&&(g.current=e.relatedTarget),b.current=!0,y.current=e.target;var t=n.props.onFocus;t&&t(e)}}),(0,ie.tZ)("div",{tabIndex:0,onFocus:D,ref:v,"data-test":"sentinelEnd"})]})};function gp(e){return(0,ne.Z)("MuiModal",e)}(0,re.Z)("MuiModal",["root","hidden"]);var yp=["BackdropComponent","BackdropProps","children","classes","className","closeAfterTransition","component","components","componentsProps","container","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted","manager","onBackdropClick","onClose","onKeyDown","open","theme","onTransitionEnter","onTransitionExited"];var bp=new fp,xp=t.forwardRef((function(e,n){var i=e.BackdropComponent,a=e.BackdropProps,u=e.children,l=e.classes,s=e.className,c=e.closeAfterTransition,d=void 0!==c&&c,f=e.component,p=void 0===f?"div":f,h=e.components,m=void 0===h?{}:h,v=e.componentsProps,g=void 0===v?{}:v,y=e.container,b=e.disableAutoFocus,x=void 0!==b&&b,Z=e.disableEnforceFocus,w=void 0!==Z&&Z,D=e.disableEscapeKeyDown,k=void 0!==D&&D,S=e.disablePortal,C=void 0!==S&&S,_=e.disableRestoreFocus,E=void 0!==_&&_,A=e.disableScrollLock,M=void 0!==A&&A,T=e.hideBackdrop,P=void 0!==T&&T,R=e.keepMounted,F=void 0!==R&&R,O=e.manager,B=void 0===O?bp:O,I=e.onBackdropClick,L=e.onClose,N=e.onKeyDown,z=e.open,j=e.theme,W=e.onTransitionEnter,$=e.onTransitionExited,H=(0,X.Z)(e,yp),Y=t.useState(!0),V=(0,r.Z)(Y,2),U=V[0],q=V[1],Q=t.useRef({}),J=t.useRef(null),ee=t.useRef(null),te=(0,Et.Z)(ee,n),ne=function(e){return!!e.children&&e.children.props.hasOwnProperty("in")}(e),re=function(){return Q.current.modalRef=ee.current,Q.current.mountNode=J.current,Q.current},oe=function(){B.mount(re(),{disableScrollLock:M}),ee.current.scrollTop=0},ae=(0,At.Z)((function(){var e=function(e){return"function"===typeof e?e():e}(y)||(0,Mt.Z)(J.current).body;B.add(re(),e),ee.current&&oe()})),ue=t.useCallback((function(){return B.isTopModal(re())}),[B]),le=(0,At.Z)((function(e){J.current=e,e&&(z&&ue()?oe():up(ee.current,!0))})),se=t.useCallback((function(){B.remove(re())}),[B]);t.useEffect((function(){return function(){se()}}),[se]),t.useEffect((function(){z?ae():ne&&d||se()}),[z,se,ne,d,ae]);var ce=(0,o.Z)({},e,{classes:l,closeAfterTransition:d,disableAutoFocus:x,disableEnforceFocus:w,disableEscapeKeyDown:k,disablePortal:C,disableRestoreFocus:E,disableScrollLock:M,exited:U,hideBackdrop:P,keepMounted:F}),de=function(e){var t=e.open,n=e.exited,r=e.classes,o={root:["root",!t&&n&&"hidden"]};return(0,K.Z)(o,gp,r)}(ce);if(!F&&!z&&(!ne||U))return null;var fe={};void 0===u.props.tabIndex&&(fe.tabIndex="-1"),ne&&(fe.onEnter=(0,rp.Z)((function(){q(!1),W&&W()}),u.props.onEnter),fe.onExited=(0,rp.Z)((function(){q(!0),$&&$(),d&&se()}),u.props.onExited));var pe=m.Root||p,he=g.root||{};return(0,ie.tZ)($s,{ref:le,container:y,disablePortal:C,children:(0,ie.BX)(pe,(0,o.Z)({role:"presentation"},he,!kl(pe)&&{as:p,ownerState:(0,o.Z)({},ce,he.ownerState),theme:j},H,{ref:te,onKeyDown:function(e){N&&N(e),"Escape"===e.key&&ue()&&(k||(e.stopPropagation(),L&&L(e,"escapeKeyDown")))},className:(0,G.Z)(de.root,he.className,s),children:[!P&&i?(0,ie.tZ)(i,(0,o.Z)({"aria-hidden":!0,open:z,onClick:function(e){e.target===e.currentTarget&&(I&&I(e),L&&L(e,"backdropClick"))}},a)):null,(0,ie.tZ)(vp,{disableEnforceFocus:w,disableAutoFocus:x,disableRestoreFocus:E,isEnabled:ue,open:z,children:t.cloneElement(u,fe)})]}))})})),Zp=xp,wp=["addEndListener","appear","children","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","style","timeout","TransitionComponent"],Dp={entering:{opacity:1},entered:{opacity:1}},kp=t.forwardRef((function(e,n){var r=Ot(),i={enter:r.transitions.duration.enteringScreen,exit:r.transitions.duration.leavingScreen},a=e.addEndListener,u=e.appear,l=void 0===u||u,s=e.children,c=e.easing,d=e.in,f=e.onEnter,p=e.onEntered,h=e.onEntering,m=e.onExit,v=e.onExited,g=e.onExiting,y=e.style,b=e.timeout,x=void 0===b?i:b,Z=e.TransitionComponent,w=void 0===Z?Ht:Z,D=(0,X.Z)(e,wp),k=t.useRef(null),S=(0,pe.Z)(s.ref,n),C=(0,pe.Z)(k,S),_=function(e){return function(t){if(e){var n=k.current;void 0===t?e(n):e(n,t)}}},E=_(h),A=_((function(e,t){Yt(e);var n=Vt({style:y,timeout:x,easing:c},{mode:"enter"});e.style.webkitTransition=r.transitions.create("opacity",n),e.style.transition=r.transitions.create("opacity",n),f&&f(e,t)})),M=_(p),T=_(g),P=_((function(e){var t=Vt({style:y,timeout:x,easing:c},{mode:"exit"});e.style.webkitTransition=r.transitions.create("opacity",t),e.style.transition=r.transitions.create("opacity",t),m&&m(e)})),R=_(v);return(0,ie.tZ)(w,(0,o.Z)({appear:l,in:d,nodeRef:k,onEnter:A,onEntered:M,onEntering:E,onExit:P,onExited:R,onExiting:T,addEndListener:function(e){a&&a(k.current,e)},timeout:x},D,{children:function(e,n){return t.cloneElement(s,(0,o.Z)({style:(0,o.Z)({opacity:0,visibility:"exited"!==e||d?void 0:"hidden"},Dp[e],y,s.props.style),ref:C},n))}}))})),Sp=kp;function Cp(e){return(0,ne.Z)("MuiBackdrop",e)}(0,re.Z)("MuiBackdrop",["root","invisible"]);var _p=["children","component","components","componentsProps","className","invisible","open","transitionDuration","TransitionComponent"],Ep=(0,J.ZP)("div",{name:"MuiBackdrop",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.invisible&&t.invisible]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"fixed",display:"flex",alignItems:"center",justifyContent:"center",right:0,bottom:0,top:0,left:0,backgroundColor:"rgba(0, 0, 0, 0.5)",WebkitTapHighlightColor:"transparent"},t.invisible&&{backgroundColor:"transparent"})})),Ap=t.forwardRef((function(e,t){var n,r,i=(0,ee.Z)({props:e,name:"MuiBackdrop"}),a=i.children,u=i.component,l=void 0===u?"div":u,s=i.components,c=void 0===s?{}:s,d=i.componentsProps,f=void 0===d?{}:d,p=i.className,h=i.invisible,m=void 0!==h&&h,v=i.open,g=i.transitionDuration,y=i.TransitionComponent,b=void 0===y?Sp:y,x=(0,X.Z)(i,_p),Z=(0,o.Z)({},i,{component:l,invisible:m}),w=function(e){var t=e.classes,n={root:["root",e.invisible&&"invisible"]};return(0,K.Z)(n,Cp,t)}(Z);return(0,ie.tZ)(b,(0,o.Z)({in:v,timeout:g},x,{children:(0,ie.tZ)(Ep,{"aria-hidden":!0,as:null!=(n=c.Root)?n:l,className:(0,G.Z)(w.root,p),ownerState:(0,o.Z)({},Z,null==(r=f.root)?void 0:r.ownerState),classes:w,ref:t,children:a})}))})),Mp=Ap,Tp=["BackdropComponent","closeAfterTransition","children","components","componentsProps","disableAutoFocus","disableEnforceFocus","disableEscapeKeyDown","disablePortal","disableRestoreFocus","disableScrollLock","hideBackdrop","keepMounted"],Pp=(0,J.ZP)("div",{name:"MuiModal",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.open&&n.exited&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({position:"fixed",zIndex:t.zIndex.modal,right:0,bottom:0,top:0,left:0},!n.open&&n.exited&&{visibility:"hidden"})})),Rp=(0,J.ZP)(Mp,{name:"MuiModal",slot:"Backdrop",overridesResolver:function(e,t){return t.backdrop}})({zIndex:-1}),Fp=t.forwardRef((function(e,n){var i,a=(0,ee.Z)({name:"MuiModal",props:e}),u=a.BackdropComponent,l=void 0===u?Rp:u,s=a.closeAfterTransition,c=void 0!==s&&s,d=a.children,f=a.components,p=void 0===f?{}:f,h=a.componentsProps,m=void 0===h?{}:h,v=a.disableAutoFocus,g=void 0!==v&&v,y=a.disableEnforceFocus,b=void 0!==y&&y,x=a.disableEscapeKeyDown,Z=void 0!==x&&x,w=a.disablePortal,D=void 0!==w&&w,k=a.disableRestoreFocus,S=void 0!==k&&k,C=a.disableScrollLock,_=void 0!==C&&C,E=a.hideBackdrop,A=void 0!==E&&E,M=a.keepMounted,T=void 0!==M&&M,P=(0,X.Z)(a,Tp),R=t.useState(!0),F=(0,r.Z)(R,2),O=F[0],B=F[1],I={closeAfterTransition:c,disableAutoFocus:g,disableEnforceFocus:b,disableEscapeKeyDown:Z,disablePortal:D,disableRestoreFocus:S,disableScrollLock:_,hideBackdrop:A,keepMounted:T},L=function(e){return e.classes}((0,o.Z)({},a,I,{exited:O}));return(0,ie.tZ)(Zp,(0,o.Z)({components:(0,o.Z)({Root:Pp},p),componentsProps:{root:(0,o.Z)({},m.root,(!p.Root||!kl(p.Root))&&{ownerState:(0,o.Z)({},null==(i=m.root)?void 0:i.ownerState)})},BackdropComponent:l,onTransitionEnter:function(){return B(!1)},onTransitionExited:function(){return B(!0)},ref:n},P,{classes:L},I,{children:d}))})),Op=Fp;function Bp(e){return(0,ne.Z)("MuiPopover",e)}(0,re.Z)("MuiPopover",["root","paper"]);var Ip=["onEntering"],Lp=["action","anchorEl","anchorOrigin","anchorPosition","anchorReference","children","className","container","elevation","marginThreshold","open","PaperProps","transformOrigin","TransitionComponent","transitionDuration","TransitionProps"];function Np(e,t){var n=0;return"number"===typeof t?n=t:"center"===t?n=e.height/2:"bottom"===t&&(n=e.height),n}function zp(e,t){var n=0;return"number"===typeof t?n=t:"center"===t?n=e.width/2:"right"===t&&(n=e.width),n}function jp(e){return[e.horizontal,e.vertical].map((function(e){return"number"===typeof e?"".concat(e,"px"):e})).join(" ")}function Wp(e){return"function"===typeof e?e():e}var $p=(0,J.ZP)(Op,{name:"MuiPopover",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),Hp=(0,J.ZP)(ce,{name:"MuiPopover",slot:"Paper",overridesResolver:function(e,t){return t.paper}})({position:"absolute",overflowY:"auto",overflowX:"hidden",minWidth:16,minHeight:16,maxWidth:"calc(100% - 32px)",maxHeight:"calc(100% - 32px)",outline:0}),Yp=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiPopover"}),i=r.action,a=r.anchorEl,u=r.anchorOrigin,l=void 0===u?{vertical:"top",horizontal:"left"}:u,s=r.anchorPosition,c=r.anchorReference,d=void 0===c?"anchorEl":c,f=r.children,p=r.className,h=r.container,m=r.elevation,v=void 0===m?8:m,g=r.marginThreshold,y=void 0===g?16:g,b=r.open,x=r.PaperProps,Z=void 0===x?{}:x,w=r.transformOrigin,D=void 0===w?{vertical:"top",horizontal:"left"}:w,k=r.TransitionComponent,S=void 0===k?Qt:k,C=r.transitionDuration,_=void 0===C?"auto":C,E=r.TransitionProps,A=(E=void 0===E?{}:E).onEntering,M=(0,X.Z)(r.TransitionProps,Ip),T=(0,X.Z)(r,Lp),P=t.useRef(),R=(0,pe.Z)(P,Z.ref),F=(0,o.Z)({},r,{anchorOrigin:l,anchorReference:d,elevation:v,marginThreshold:y,PaperProps:Z,transformOrigin:D,TransitionComponent:S,transitionDuration:_,TransitionProps:M}),O=function(e){var t=e.classes;return(0,K.Z)({root:["root"],paper:["paper"]},Bp,t)}(F),B=t.useCallback((function(){if("anchorPosition"===d)return s;var e=Wp(a),t=(e&&1===e.nodeType?e:(0,Nf.Z)(P.current).body).getBoundingClientRect();return{top:t.top+Np(t,l.vertical),left:t.left+zp(t,l.horizontal)}}),[a,l.horizontal,l.vertical,s,d]),I=t.useCallback((function(e){return{vertical:Np(e,D.vertical),horizontal:zp(e,D.horizontal)}}),[D.horizontal,D.vertical]),L=t.useCallback((function(e){var t={width:e.offsetWidth,height:e.offsetHeight},n=I(t);if("none"===d)return{top:null,left:null,transformOrigin:jp(n)};var r=B(),o=r.top-n.vertical,i=r.left-n.horizontal,u=o+t.height,l=i+t.width,s=(0,np.Z)(Wp(a)),c=s.innerHeight-y,f=s.innerWidth-y;if(oc){var h=u-c;o-=h,n.vertical+=h}if(if){var v=l-f;i-=v,n.horizontal+=v}return{top:"".concat(Math.round(o),"px"),left:"".concat(Math.round(i),"px"),transformOrigin:jp(n)}}),[a,d,B,I,y]),N=t.useCallback((function(){var e=P.current;if(e){var t=L(e);null!==t.top&&(e.style.top=t.top),null!==t.left&&(e.style.left=t.left),e.style.transformOrigin=t.transformOrigin}}),[L]);t.useEffect((function(){b&&N()})),t.useImperativeHandle(i,(function(){return b?{updatePosition:function(){N()}}:null}),[b,N]),t.useEffect((function(){if(b){var e=(0,tp.Z)((function(){N()})),t=(0,np.Z)(a);return t.addEventListener("resize",e),function(){e.clear(),t.removeEventListener("resize",e)}}}),[a,b,N]);var z=_;"auto"!==_||S.muiSupportAuto||(z=void 0);var j=h||(a?(0,Nf.Z)(Wp(a)).body:void 0);return(0,ie.tZ)($p,(0,o.Z)({BackdropProps:{invisible:!0},className:(0,G.Z)(O.root,p),container:j,open:b,ref:n,ownerState:F},T,{children:(0,ie.tZ)(S,(0,o.Z)({appear:!0,in:b,onEntering:function(e,t){A&&A(e,t),N()},timeout:z},M,{children:(0,ie.tZ)(Hp,(0,o.Z)({elevation:v},Z,{ref:R,className:(0,G.Z)(O.paper,Z.className),children:f}))}))}))})),Vp=Yp;function Up(e){return(0,ne.Z)("MuiMenu",e)}(0,re.Z)("MuiMenu",["root","paper","list"]);var qp=["onEntering"],Xp=["autoFocus","children","disableAutoFocusItem","MenuListProps","onClose","open","PaperProps","PopoverClasses","transitionDuration","TransitionProps","variant"],Gp={vertical:"top",horizontal:"right"},Kp={vertical:"top",horizontal:"left"},Qp=(0,J.ZP)(Vp,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiMenu",slot:"Root",overridesResolver:function(e,t){return t.root}})({}),Jp=(0,J.ZP)(ce,{name:"MuiMenu",slot:"Paper",overridesResolver:function(e,t){return t.paper}})({maxHeight:"calc(100% - 96px)",WebkitOverflowScrolling:"touch"}),eh=(0,J.ZP)(ep,{name:"MuiMenu",slot:"List",overridesResolver:function(e,t){return t.list}})({outline:0}),th=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiMenu"}),i=r.autoFocus,a=void 0===i||i,u=r.children,l=r.disableAutoFocusItem,s=void 0!==l&&l,c=r.MenuListProps,d=void 0===c?{}:c,f=r.onClose,p=r.open,h=r.PaperProps,m=void 0===h?{}:h,v=r.PopoverClasses,g=r.transitionDuration,y=void 0===g?"auto":g,b=r.TransitionProps,x=(b=void 0===b?{}:b).onEntering,Z=r.variant,w=void 0===Z?"selectedMenu":Z,D=(0,X.Z)(r.TransitionProps,qp),k=(0,X.Z)(r,Xp),S=Ot(),C="rtl"===S.direction,_=(0,o.Z)({},r,{autoFocus:a,disableAutoFocusItem:s,MenuListProps:d,onEntering:x,PaperProps:m,transitionDuration:y,TransitionProps:D,variant:w}),E=function(e){var t=e.classes;return(0,K.Z)({root:["root"],paper:["paper"],list:["list"]},Up,t)}(_),A=a&&!s&&p,M=t.useRef(null),T=-1;return t.Children.map(u,(function(e,n){t.isValidElement(e)&&(e.props.disabled||("selectedMenu"===w&&e.props.selected||-1===T)&&(T=n))})),(0,ie.tZ)(Qp,(0,o.Z)({classes:v,onClose:f,anchorOrigin:{vertical:"bottom",horizontal:C?"right":"left"},transformOrigin:C?Gp:Kp,PaperProps:(0,o.Z)({component:Jp},m,{classes:(0,o.Z)({},m.classes,{root:E.paper})}),className:E.root,open:p,ref:n,transitionDuration:y,TransitionProps:(0,o.Z)({onEntering:function(e,t){M.current&&M.current.adjustStyleForScrollbar(e,S),x&&x(e,t)}},D),ownerState:_},k,{children:(0,ie.tZ)(eh,(0,o.Z)({onKeyDown:function(e){"Tab"===e.key&&(e.preventDefault(),f&&f(e,"tabKeyDown"))},actions:M,autoFocus:a&&(-1===T||s),autoFocusItem:A,variant:w},d,{className:(0,G.Z)(E.list,d.className),children:u}))}))})),nh=th;function rh(e){return(0,ne.Z)("MuiNativeSelect",e)}var oh=(0,re.Z)("MuiNativeSelect",["root","select","multiple","filled","outlined","standard","disabled","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput"]),ih=["className","disabled","IconComponent","inputRef","variant"],ah=function(e){var t,n=e.ownerState,r=e.theme;return(0,o.Z)((t={MozAppearance:"none",WebkitAppearance:"none",userSelect:"none",borderRadius:0,cursor:"pointer","&:focus":{backgroundColor:"light"===r.palette.mode?"rgba(0, 0, 0, 0.05)":"rgba(255, 255, 255, 0.05)",borderRadius:0},"&::-ms-expand":{display:"none"}},(0,q.Z)(t,"&.".concat(oh.disabled),{cursor:"default"}),(0,q.Z)(t,"&[multiple]",{height:"auto"}),(0,q.Z)(t,"&:not([multiple]) option, &:not([multiple]) optgroup",{backgroundColor:r.palette.background.paper}),(0,q.Z)(t,"&&&",{paddingRight:24,minWidth:16}),t),"filled"===n.variant&&{"&&&":{paddingRight:32}},"outlined"===n.variant&&{borderRadius:r.shape.borderRadius,"&:focus":{borderRadius:r.shape.borderRadius},"&&&":{paddingRight:32}})},uh=(0,J.ZP)("select",{name:"MuiNativeSelect",slot:"Select",shouldForwardProp:J.FO,overridesResolver:function(e,t){var n=e.ownerState;return[t.select,t[n.variant],(0,q.Z)({},"&.".concat(oh.multiple),t.multiple)]}})(ah),lh=function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)((0,q.Z)({position:"absolute",right:0,top:"calc(50% - .5em)",pointerEvents:"none",color:n.palette.action.active},"&.".concat(oh.disabled),{color:n.palette.action.disabled}),t.open&&{transform:"rotate(180deg)"},"filled"===t.variant&&{right:7},"outlined"===t.variant&&{right:7})},sh=(0,J.ZP)("svg",{name:"MuiNativeSelect",slot:"Icon",overridesResolver:function(e,t){var n=e.ownerState;return[t.icon,n.variant&&t["icon".concat((0,te.Z)(n.variant))],n.open&&t.iconOpen]}})(lh),ch=t.forwardRef((function(e,n){var r=e.className,i=e.disabled,a=e.IconComponent,u=e.inputRef,l=e.variant,s=void 0===l?"standard":l,c=(0,X.Z)(e,ih),d=(0,o.Z)({},e,{disabled:i,variant:s}),f=function(e){var t=e.classes,n=e.variant,r=e.disabled,o=e.multiple,i=e.open,a={select:["select",n,r&&"disabled",o&&"multiple"],icon:["icon","icon".concat((0,te.Z)(n)),i&&"iconOpen",r&&"disabled"]};return(0,K.Z)(a,rh,t)}(d);return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(uh,(0,o.Z)({ownerState:d,className:(0,G.Z)(f.select,r),disabled:i,ref:u||n},c)),e.multiple?null:(0,ie.tZ)(sh,{as:a,ownerState:d,className:f.icon})]})})),dh=ch;function fh(e){return(0,ne.Z)("MuiSelect",e)}var ph,hh=(0,re.Z)("MuiSelect",["select","multiple","filled","outlined","standard","disabled","focused","icon","iconOpen","iconFilled","iconOutlined","iconStandard","nativeInput"]),mh=["aria-describedby","aria-label","autoFocus","autoWidth","children","className","defaultOpen","defaultValue","disabled","displayEmpty","IconComponent","inputRef","labelId","MenuProps","multiple","name","onBlur","onChange","onClose","onFocus","onOpen","open","readOnly","renderValue","SelectDisplayProps","tabIndex","type","value","variant"],vh=(0,J.ZP)("div",{name:"MuiSelect",slot:"Select",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"&.".concat(hh.select),t.select),(0,q.Z)({},"&.".concat(hh.select),t[n.variant]),(0,q.Z)({},"&.".concat(hh.multiple),t.multiple)]}})(ah,(0,q.Z)({},"&.".concat(hh.select),{height:"auto",minHeight:"1.4375em",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"})),gh=(0,J.ZP)("svg",{name:"MuiSelect",slot:"Icon",overridesResolver:function(e,t){var n=e.ownerState;return[t.icon,n.variant&&t["icon".concat((0,te.Z)(n.variant))],n.open&&t.iconOpen]}})(lh),yh=(0,J.ZP)("input",{shouldForwardProp:function(e){return(0,J.Dz)(e)&&"classes"!==e},name:"MuiSelect",slot:"NativeInput",overridesResolver:function(e,t){return t.nativeInput}})({bottom:0,left:0,position:"absolute",opacity:0,pointerEvents:"none",width:"100%",boxSizing:"border-box"});function bh(e,t){return"object"===typeof t&&null!==t?e===t:String(e)===String(t)}function xh(e){return null==e||"string"===typeof e&&!e.trim()}var Zh,wh,Dh=t.forwardRef((function(e,n){var i=e["aria-describedby"],a=e["aria-label"],u=e.autoFocus,l=e.autoWidth,s=e.children,c=e.className,d=e.defaultOpen,f=e.defaultValue,p=e.disabled,h=e.displayEmpty,m=e.IconComponent,v=e.inputRef,g=e.labelId,y=e.MenuProps,b=void 0===y?{}:y,x=e.multiple,Z=e.name,w=e.onBlur,D=e.onChange,k=e.onClose,S=e.onFocus,C=e.onOpen,_=e.open,E=e.readOnly,A=e.renderValue,M=e.SelectDisplayProps,T=void 0===M?{}:M,P=e.tabIndex,R=e.value,F=e.variant,O=void 0===F?"standard":F,B=(0,X.Z)(e,mh),I=(0,nc.Z)({controlled:R,default:f,name:"Select"}),L=(0,r.Z)(I,2),N=L[0],z=L[1],j=(0,nc.Z)({controlled:_,default:d,name:"Select"}),W=(0,r.Z)(j,2),$=W[0],H=W[1],Y=t.useRef(null),V=t.useRef(null),U=t.useState(null),q=(0,r.Z)(U,2),Q=q[0],J=q[1],ee=t.useRef(null!=_).current,ne=t.useState(),re=(0,r.Z)(ne,2),oe=re[0],ae=re[1],ue=(0,pe.Z)(n,v),le=t.useCallback((function(e){V.current=e,e&&J(e)}),[]);t.useImperativeHandle(ue,(function(){return{focus:function(){V.current.focus()},node:Y.current,value:N}}),[N]),t.useEffect((function(){d&&$&&Q&&!ee&&(ae(l?null:Q.clientWidth),V.current.focus())}),[Q,l]),t.useEffect((function(){u&&V.current.focus()}),[u]),t.useEffect((function(){if(g){var e=(0,Nf.Z)(V.current).getElementById(g);if(e){var t=function(){getSelection().isCollapsed&&V.current.focus()};return e.addEventListener("click",t),function(){e.removeEventListener("click",t)}}}}),[g]);var se,ce,de=function(e,t){e?C&&C(t):k&&k(t),ee||(ae(l?null:Q.clientWidth),H(e))},fe=t.Children.toArray(s),he=function(e){return function(t){var n;if(t.currentTarget.hasAttribute("tabindex")){if(x){n=Array.isArray(N)?N.slice():[];var r=N.indexOf(e.props.value);-1===r?n.push(e.props.value):n.splice(r,1)}else n=e.props.value;if(e.props.onClick&&e.props.onClick(t),N!==n&&(z(n),D)){var o=t.nativeEvent||t,i=new o.constructor(o.type,o);Object.defineProperty(i,"target",{writable:!0,value:{value:n,name:Z}}),D(i,e)}x||de(!1,t)}}},me=null!==Q&&$;delete B["aria-invalid"];var ve=[],ge=!1;(Md({value:N})||h)&&(A?se=A(N):ge=!0);var ye=fe.map((function(e,n,r){if(!t.isValidElement(e))return null;var o;if(x){if(!Array.isArray(N))throw new Error((0,gd.Z)(2));(o=N.some((function(t){return bh(t,e.props.value)})))&&ge&&ve.push(e.props.children)}else(o=bh(N,e.props.value))&&ge&&(ce=e.props.children);if(o&&!0,void 0===e.props.value)return t.cloneElement(e,{"aria-readonly":!0,role:"option"});return t.cloneElement(e,{"aria-selected":o?"true":"false",onClick:he(e),onKeyUp:function(t){" "===t.key&&t.preventDefault(),e.props.onKeyUp&&e.props.onKeyUp(t)},role:"option",selected:void 0===r[0].props.value||!0===r[0].props.disabled?function(){if(N)return o;var t=r.find((function(e){return void 0!==e.props.value&&!0!==e.props.disabled}));return e===t||o}():o,value:void 0,"data-value":e.props.value})}));ge&&(se=x?0===ve.length?null:ve.reduce((function(e,t,n){return e.push(t),n1||!p)}),[o,l,p]),w=(0,t.useMemo)((function(){if(y(0),!Z)return[];try{var e=new RegExp(String(o),"i");return c.filter((function(t){return e.test(t)&&t!==o})).sort((function(t,n){var r,o;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(o=n.match(e))||void 0===o?void 0:o.index)||0)}))}catch(t){return[]}}),[l,o,c]);return(0,t.useEffect)((function(){if(x.current){var e=x.current.childNodes[g];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}),[g]),(0,ie.BX)(oo,{ref:b,children:[(0,ie.tZ)(Lh,{defaultValue:o,fullWidth:!0,label:"Query ".concat(n+1),multiline:!0,error:!!s,onFocus:function(){return h(!0)},onBlur:function(e){var t,r=(null===(t=e.relatedTarget)||void 0===t?void 0:t.id)||"",o=w.indexOf(r.replace("$autocomplete$",""));-1!==o?(a(w[o],n),e.target.focus()):h(!1)},onKeyDown:function(e){var t=e.key,r=e.ctrlKey,o=e.metaKey,l=e.shiftKey,s=r||o,c="ArrowUp"===t,d="ArrowDown"===t,f="Enter"===t,p=Z&&w.length;((c||d)&&(p||s)||f&&(p||s||!l))&&e.preventDefault(),c&&p&&!s?y((function(e){return 0===e?0:e-1})):c&&s&&i(-1,n),d&&p&&!s?y((function(e){return e>=w.length-1?w.length-1:e+1})):d&&s&&i(1,n),f&&p&&!l&&!s?a(w[g],n):f&&!l&&u()},onChange:function(e){return a(e.target.value,n)}}),(0,ie.tZ)(ec,{open:Z,anchorEl:b.current,placement:"bottom-start",children:(0,ie.tZ)(ce,{elevation:3,sx:{maxHeight:300,overflow:"auto"},children:(0,ie.tZ)(ep,{ref:x,dense:!0,children:w.map((function(e,t){return(0,ie.tZ)(Xh,{id:"$autocomplete$".concat(e),sx:{bgcolor:"rgba(0, 0, 0, ".concat(t===g?.12:0,")")},children:e},e)}))})})})]})},Kh=n(3745),Qh=n(5551),Jh=n(3451);function em(e){return(0,ne.Z)("MuiTypography",e)}(0,re.Z)("MuiTypography",["root","h1","h2","h3","h4","h5","h6","subtitle1","subtitle2","body1","body2","inherit","button","caption","overline","alignLeft","alignRight","alignCenter","alignJustify","noWrap","gutterBottom","paragraph"]);var tm=["align","className","component","gutterBottom","noWrap","paragraph","variant","variantMapping"],nm=(0,J.ZP)("span",{name:"MuiTypography",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.variant&&t[n.variant],"inherit"!==n.align&&t["align".concat((0,te.Z)(n.align))],n.noWrap&&t.noWrap,n.gutterBottom&&t.gutterBottom,n.paragraph&&t.paragraph]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({margin:0},n.variant&&t.typography[n.variant],"inherit"!==n.align&&{textAlign:n.align},n.noWrap&&{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},n.gutterBottom&&{marginBottom:"0.35em"},n.paragraph&&{marginBottom:16})})),rm={h1:"h1",h2:"h2",h3:"h3",h4:"h4",h5:"h5",h6:"h6",subtitle1:"h6",subtitle2:"h6",body1:"p",body2:"p",inherit:"p"},om={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},im=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTypography"}),r=function(e){return om[e]||e}(n.color),i=eo((0,o.Z)({},n,{color:r})),a=i.align,u=void 0===a?"inherit":a,l=i.className,s=i.component,c=i.gutterBottom,d=void 0!==c&&c,f=i.noWrap,p=void 0!==f&&f,h=i.paragraph,m=void 0!==h&&h,v=i.variant,g=void 0===v?"body1":v,y=i.variantMapping,b=void 0===y?rm:y,x=(0,X.Z)(i,tm),Z=(0,o.Z)({},i,{align:u,color:r,className:l,component:s,gutterBottom:d,noWrap:p,paragraph:m,variant:g,variantMapping:b}),w=s||(m?"p":b[g]||rm[g])||"span",D=function(e){var t=e.align,n=e.gutterBottom,r=e.noWrap,o=e.paragraph,i=e.variant,a=e.classes,u={root:["root",i,"inherit"!==e.align&&"align".concat((0,te.Z)(t)),n&&"gutterBottom",r&&"noWrap",o&&"paragraph"]};return(0,K.Z)(u,em,a)}(Z);return(0,ie.tZ)(nm,(0,o.Z)({as:w,ref:t,ownerState:Z,className:(0,G.Z)(D.root,l)},x))})),am=im;function um(e){return(0,ne.Z)("MuiFormControlLabel",e)}var lm=(0,re.Z)("MuiFormControlLabel",["root","labelPlacementStart","labelPlacementTop","labelPlacementBottom","disabled","label","error"]),sm=["checked","className","componentsProps","control","disabled","disableTypography","inputRef","label","labelPlacement","name","onChange","value"],cm=(0,J.ZP)("label",{name:"MuiFormControlLabel",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(lm.label),t.label),t.root,t["labelPlacement".concat((0,te.Z)(n.labelPlacement))]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)((0,q.Z)({display:"inline-flex",alignItems:"center",cursor:"pointer",verticalAlign:"middle",WebkitTapHighlightColor:"transparent",marginLeft:-11,marginRight:16},"&.".concat(lm.disabled),{cursor:"default"}),"start"===n.labelPlacement&&{flexDirection:"row-reverse",marginLeft:16,marginRight:-11},"top"===n.labelPlacement&&{flexDirection:"column-reverse",marginLeft:16},"bottom"===n.labelPlacement&&{flexDirection:"column",marginLeft:16},(0,q.Z)({},"& .".concat(lm.label),(0,q.Z)({},"&.".concat(lm.disabled),{color:t.palette.text.disabled})))})),dm=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiFormControlLabel"}),i=r.className,a=r.componentsProps,u=void 0===a?{}:a,l=r.control,s=r.disabled,c=r.disableTypography,d=r.label,f=r.labelPlacement,p=void 0===f?"end":f,h=(0,X.Z)(r,sm),m=_d(),v=s;"undefined"===typeof v&&"undefined"!==typeof l.props.disabled&&(v=l.props.disabled),"undefined"===typeof v&&m&&(v=m.disabled);var g={disabled:v};["checked","name","onChange","value","inputRef"].forEach((function(e){"undefined"===typeof l.props[e]&&"undefined"!==typeof r[e]&&(g[e]=r[e])}));var y=Sd({props:r,muiFormControl:m,states:["error"]}),b=(0,o.Z)({},r,{disabled:v,labelPlacement:p,error:y.error}),x=function(e){var t=e.classes,n=e.disabled,r=e.labelPlacement,o=e.error,i={root:["root",n&&"disabled","labelPlacement".concat((0,te.Z)(r)),o&&"error"],label:["label",n&&"disabled"]};return(0,K.Z)(i,um,t)}(b),Z=d;return null==Z||Z.type===am||c||(Z=(0,ie.tZ)(am,(0,o.Z)({component:"span",className:x.label},u.typography,{children:Z}))),(0,ie.BX)(cm,(0,o.Z)({className:(0,G.Z)(x.root,i),ownerState:b,ref:n},h,{children:[t.cloneElement(l,g),Z]}))})),fm=dm;function pm(e){return(0,ne.Z)("PrivateSwitchBase",e)}(0,re.Z)("PrivateSwitchBase",["root","checked","disabled","input","edgeStart","edgeEnd"]);var hm=["autoFocus","checked","checkedIcon","className","defaultChecked","disabled","disableFocusRipple","edge","icon","id","inputProps","inputRef","name","onBlur","onChange","onFocus","readOnly","required","tabIndex","type","value"],mm=(0,J.ZP)(at)((function(e){var t=e.ownerState;return(0,o.Z)({padding:9,borderRadius:"50%"},"start"===t.edge&&{marginLeft:"small"===t.size?-3:-12},"end"===t.edge&&{marginRight:"small"===t.size?-3:-12})})),vm=(0,J.ZP)("input")({cursor:"inherit",position:"absolute",opacity:0,width:"100%",height:"100%",top:0,left:0,margin:0,padding:0,zIndex:1}),gm=t.forwardRef((function(e,t){var n=e.autoFocus,i=e.checked,a=e.checkedIcon,u=e.className,l=e.defaultChecked,s=e.disabled,c=e.disableFocusRipple,d=void 0!==c&&c,f=e.edge,p=void 0!==f&&f,h=e.icon,m=e.id,v=e.inputProps,g=e.inputRef,y=e.name,b=e.onBlur,x=e.onChange,Z=e.onFocus,w=e.readOnly,D=e.required,k=e.tabIndex,S=e.type,C=e.value,_=(0,X.Z)(e,hm),E=(0,nc.Z)({controlled:i,default:Boolean(l),name:"SwitchBase",state:"checked"}),A=(0,r.Z)(E,2),M=A[0],T=A[1],P=_d(),R=s;P&&"undefined"===typeof R&&(R=P.disabled);var F="checkbox"===S||"radio"===S,O=(0,o.Z)({},e,{checked:M,disabled:R,disableFocusRipple:d,edge:p}),B=function(e){var t=e.classes,n=e.checked,r=e.disabled,o=e.edge,i={root:["root",n&&"checked",r&&"disabled",o&&"edge".concat((0,te.Z)(o))],input:["input"]};return(0,K.Z)(i,pm,t)}(O);return(0,ie.BX)(mm,(0,o.Z)({component:"span",className:(0,G.Z)(B.root,u),centerRipple:!0,focusRipple:!d,disabled:R,tabIndex:null,role:void 0,onFocus:function(e){Z&&Z(e),P&&P.onFocus&&P.onFocus(e)},onBlur:function(e){b&&b(e),P&&P.onBlur&&P.onBlur(e)},ownerState:O,ref:t},_,{children:[(0,ie.tZ)(vm,(0,o.Z)({autoFocus:n,checked:i,defaultChecked:l,className:B.input,disabled:R,id:F&&m,name:y,onChange:function(e){if(!e.nativeEvent.defaultPrevented){var t=e.target.checked;T(t),x&&x(e,t)}},readOnly:w,ref:g,required:D,ownerState:O,tabIndex:k,type:S},"checkbox"===S&&void 0===C?{}:{value:C},v)),M?a:h]}))})),ym=gm;function bm(e){return(0,ne.Z)("MuiSwitch",e)}var xm=(0,re.Z)("MuiSwitch",["root","edgeStart","edgeEnd","switchBase","colorPrimary","colorSecondary","sizeSmall","sizeMedium","checked","disabled","input","thumb","track"]),Zm=["className","color","edge","size","sx"],wm=(0,J.ZP)("span",{name:"MuiSwitch",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.edge&&t["edge".concat((0,te.Z)(n.edge))],t["size".concat((0,te.Z)(n.size))]]}})((function(e){var t,n=e.ownerState;return(0,o.Z)({display:"inline-flex",width:58,height:38,overflow:"hidden",padding:12,boxSizing:"border-box",position:"relative",flexShrink:0,zIndex:0,verticalAlign:"middle","@media print":{colorAdjust:"exact"}},"start"===n.edge&&{marginLeft:-8},"end"===n.edge&&{marginRight:-8},"small"===n.size&&(t={width:40,height:24,padding:7},(0,q.Z)(t,"& .".concat(xm.thumb),{width:16,height:16}),(0,q.Z)(t,"& .".concat(xm.switchBase),(0,q.Z)({padding:4},"&.".concat(xm.checked),{transform:"translateX(16px)"})),t))})),Dm=(0,J.ZP)(ym,{name:"MuiSwitch",slot:"SwitchBase",overridesResolver:function(e,t){var n=e.ownerState;return[t.switchBase,(0,q.Z)({},"& .".concat(xm.input),t.input),"default"!==n.color&&t["color".concat((0,te.Z)(n.color))]]}})((function(e){var t,n=e.theme;return t={position:"absolute",top:0,left:0,zIndex:1,color:"light"===n.palette.mode?n.palette.common.white:n.palette.grey[300],transition:n.transitions.create(["left","transform"],{duration:n.transitions.duration.shortest})},(0,q.Z)(t,"&.".concat(xm.checked),{transform:"translateX(20px)"}),(0,q.Z)(t,"&.".concat(xm.disabled),{color:"light"===n.palette.mode?n.palette.grey[100]:n.palette.grey[600]}),(0,q.Z)(t,"&.".concat(xm.checked," + .").concat(xm.track),{opacity:.5}),(0,q.Z)(t,"&.".concat(xm.disabled," + .").concat(xm.track),{opacity:"light"===n.palette.mode?.12:.2}),(0,q.Z)(t,"& .".concat(xm.input),{left:"-100%",width:"300%"}),t}),(function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({"&:hover":{backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"default"!==r.color&&(t={},(0,q.Z)(t,"&.".concat(xm.checked),(0,q.Z)({color:n.palette[r.color].main,"&:hover":{backgroundColor:(0,Q.Fq)(n.palette[r.color].main,n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(xm.disabled),{color:"light"===n.palette.mode?(0,Q.$n)(n.palette[r.color].main,.62):(0,Q._j)(n.palette[r.color].main,.55)})),(0,q.Z)(t,"&.".concat(xm.checked," + .").concat(xm.track),{backgroundColor:n.palette[r.color].main}),t))})),km=(0,J.ZP)("span",{name:"MuiSwitch",slot:"Track",overridesResolver:function(e,t){return t.track}})((function(e){var t=e.theme;return{height:"100%",width:"100%",borderRadius:7,zIndex:-1,transition:t.transitions.create(["opacity","background-color"],{duration:t.transitions.duration.shortest}),backgroundColor:"light"===t.palette.mode?t.palette.common.black:t.palette.common.white,opacity:"light"===t.palette.mode?.38:.3}})),Sm=(0,J.ZP)("span",{name:"MuiSwitch",slot:"Thumb",overridesResolver:function(e,t){return t.thumb}})((function(e){return{boxShadow:e.theme.shadows[1],backgroundColor:"currentColor",width:20,height:20,borderRadius:"50%"}})),Cm=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiSwitch"}),r=n.className,i=n.color,a=void 0===i?"primary":i,u=n.edge,l=void 0!==u&&u,s=n.size,c=void 0===s?"medium":s,d=n.sx,f=(0,X.Z)(n,Zm),p=(0,o.Z)({},n,{color:a,edge:l,size:c}),h=function(e){var t=e.classes,n=e.edge,r=e.size,i=e.color,a=e.checked,u=e.disabled,l={root:["root",n&&"edge".concat((0,te.Z)(n)),"size".concat((0,te.Z)(r))],switchBase:["switchBase","color".concat((0,te.Z)(i)),a&&"checked",u&&"disabled"],thumb:["thumb"],track:["track"],input:["input"]},s=(0,K.Z)(l,bm,t);return(0,o.Z)({},t,s)}(p),m=(0,ie.tZ)(Sm,{className:h.thumb,ownerState:p});return(0,ie.BX)(wm,{className:(0,G.Z)(h.root,r),sx:d,ownerState:p,children:[(0,ie.tZ)(Dm,(0,o.Z)({type:"checkbox",icon:m,checkedIcon:m,ref:t,ownerState:p},f,{classes:(0,o.Z)({},h,{root:h.switchBase})})),(0,ie.tZ)(km,{className:h.track,ownerState:p})]})})),_m=Cm,Em=(0,J.ZP)(_m)((function(){return{padding:10,"& .MuiSwitch-track":{borderRadius:14,"&:before, &:after":{content:'""',position:"absolute",top:"50%",transform:"translateY(-50%)",width:14,height:14}},"& .MuiSwitch-thumb":{boxShadow:"none",width:12,height:12,margin:4}}})),Am=function(e){var n=e.defaultStep,o=e.customStepEnable,i=e.setStep,a=e.toggleEnableStep,u=(0,t.useState)(n),l=(0,r.Z)(u,2),s=l[0],c=l[1],d=(0,t.useState)(!1),f=(0,r.Z)(d,2),p=f[0],h=f[1];(0,t.useEffect)((function(){i(s||1)}),[s]);return(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"auto 120px",alignItems:"center",children:[(0,ie.tZ)(fm,{control:(0,ie.tZ)(Em,{checked:o,onChange:function(){h(!1),a()}}),label:"Override step value"}),(0,ie.tZ)(Lh,{label:"Step value",type:"number",size:"small",variant:"outlined",value:s,disabled:!o,error:p,helperText:p?"step is out of allowed range":" ",onChange:function(e){if(o){var t=+e.target.value;t>0?(c(t),h(!1)):h(!0)}}})]})},Mm=function(){var e=br().customStep,t=xr(),n=rr(),r=n.queryControls,o=r.autocomplete,i=r.nocache,a=n.time.period.step,u=or();return(0,ie.BX)(oo,{display:"flex",alignItems:"center",children:[(0,ie.tZ)(oo,{children:(0,ie.tZ)(fm,{label:"Enable autocomplete",control:(0,ie.tZ)(Em,{checked:o,onChange:function(){u({type:"TOGGLE_AUTOCOMPLETE"}),Yn("AUTOCOMPLETE",!o)}})})}),(0,ie.tZ)(oo,{ml:2,children:(0,ie.tZ)(fm,{label:"Enable cache",control:(0,ie.tZ)(Em,{checked:!i,onChange:function(){u({type:"NO_CACHE"}),Yn("NO_CACHE",!i)}})})}),(0,ie.tZ)(oo,{ml:2,children:(0,ie.tZ)(Am,{defaultStep:a,customStepEnable:e.enable,setStep:function(e){t({type:"SET_CUSTOM_STEP",payload:e})},toggleEnableStep:function(){t({type:"TOGGLE_CUSTOM_STEP"})}})})]})},Tm=function(e){var n=e.error,r=e.queryOptions,o=rr(),i=o.query,a=o.queryHistory,u=o.queryControls.autocomplete,l=or(),s=(0,t.useRef)(i);(0,t.useEffect)((function(){s.current=i}),[i]);var c=function(){l({type:"SET_QUERY_HISTORY",payload:i.map((function(e,t){var n=a[t]||{values:[]},r=e===n.values[n.values.length-1];return{index:n.values.length-Number(r),values:!r&&e?[].concat((0,ve.Z)(n.values),[e]):n.values}}))}),l({type:"SET_QUERY",payload:i}),l({type:"RUN_QUERY"})},d=function(){return l({type:"SET_QUERY",payload:[].concat((0,ve.Z)(s.current),[""])})},f=function(e,t){var n=(0,ve.Z)(s.current);n[t]=e,l({type:"SET_QUERY",payload:n})},p=function(e,t){var n=a[t],r=n.index,o=n.values,i=r+e;i<0||i>=o.length||(f(o[i]||"",t),l({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:o,index:i},queryNumber:t}}))};return(0,ie.BX)(oo,{boxShadow:"rgba(99, 99, 99, 0.2) 0px 2px 8px 0px;",p:4,pb:2,m:-4,mb:2,children:[(0,ie.tZ)(oo,{children:i.map((function(e,t){return(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"1fr auto auto",gap:"4px",width:"100%",mb:t===i.length-1?0:2.5,children:[(0,ie.tZ)(Gh,{query:i[t],index:t,autocomplete:u,queryOptions:r,error:n,setHistoryIndex:p,runQuery:c,setQuery:f}),0===t&&(0,ie.tZ)(pc,{title:"Execute Query",children:(0,ie.tZ)(pt,{onClick:c,sx:{height:"49px",width:"49px"},children:(0,ie.tZ)(Jh.Z,{})})}),i.length<2&&(0,ie.tZ)(pc,{title:"Add Query",children:(0,ie.tZ)(pt,{onClick:d,sx:{height:"49px",width:"49px"},children:(0,ie.tZ)(Qh.Z,{})})}),t>0&&(0,ie.tZ)(pc,{title:"Remove Query",children:(0,ie.tZ)(pt,{onClick:function(){return function(e){var t=(0,ve.Z)(s.current);t.splice(e,1),l({type:"SET_QUERY",payload:t})}(t)},sx:{height:"49px",width:"49px"},children:(0,ie.tZ)(Kh.Z,{})})})]},t)}))}),(0,ie.tZ)(oo,{mt:3,children:(0,ie.tZ)(Mm,{})})]})};function Pm(e){var t,n,r,o=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);o--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new Rm(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function Rm(e){function t(e){if(Object(e)!==e)return Promise.reject(new TypeError(e+" is not an object."));var t=e.done;return Promise.resolve(e.value).then((function(e){return{value:e,done:t}}))}return Rm=function(e){this.s=e,this.n=e.next},Rm.prototype={s:null,n:null,next:function(){return t(this.n.apply(this.s,arguments))},return:function(e){var n=this.s.return;return void 0===n?Promise.resolve({value:e,done:!0}):t(n.apply(this.s,arguments))},throw:function(e){var n=this.s.return;return void 0===n?Promise.reject(e):t(n.apply(this.s,arguments))}},new Rm(e)}var Fm,Om=function(e){return"".concat(e,"/api/v1/label/__name__/values")};!function(e){e.emptyServer="Please enter Server URL",e.validServer="Please provide a valid Server URL",e.validQuery="Please enter a valid Query and execute it"}(Fm||(Fm={}));var Bm=function(){var e,t=(null===(e=document.getElementById("root"))||void 0===e?void 0:e.dataset.params)||"{}";return JSON.parse(t)},Im=function(){return!!Object.keys(Bm()).length},Lm=Im(),Nm=Bm().serverURL,zm=function(e){var n=e.predefinedQuery,o=e.visible,i=e.display,a=e.customStep,u=rr(),l=u.query,s=u.displayType,c=u.serverUrl,d=u.time.period,f=u.queryControls.nocache,p=(0,t.useState)([]),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=(0,t.useState)(!1),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)(),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=(0,t.useState)(),C=(0,r.Z)(S,2),_=C[0],E=C[1],A=(0,t.useState)(),M=(0,r.Z)(A,2),T=M[0],P=M[1],R=(0,t.useState)([]),F=(0,r.Z)(R,2),O=F[0],B=F[1];(0,t.useEffect)((function(){T&&(k(void 0),E(void 0))}),[T]);var I=function(){var e=Zl(Dl().mark((function e(t,n,r){var o,i,a,u,l,s;return Dl().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==t&&void 0!==t&&t.length){e.next=2;break}return e.abrupt("return");case 2:return o=new AbortController,B([].concat((0,ve.Z)(n),[o])),x(!0),e.prev=5,e.delegateYield(Dl().mark((function e(){var n,c,d,f,p;return Dl().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(t.map((function(e){return fetch(e,{signal:o.signal})})));case 2:n=e.sent,c=[],d=1,i=!1,a=!1,e.prev=7,l=Pm(n);case 9:return e.next=11,l.next();case 11:if(!(i=!(s=e.sent).done)){e.next=20;break}return f=s.value,e.next=15,f.json();case 15:p=e.sent,f.ok?(P(void 0),c.push.apply(c,(0,ve.Z)(p.data.result.map((function(e){return e.group=d,e})))),d++):P("".concat(p.errorType,"\r\n").concat(null===p||void 0===p?void 0:p.error));case 17:i=!1,e.next=9;break;case 20:e.next=26;break;case 22:e.prev=22,e.t0=e.catch(7),a=!0,u=e.t0;case 26:if(e.prev=26,e.prev=27,!i||null==l.return){e.next=31;break}return e.next=31,l.return();case 31:if(e.prev=31,!a){e.next=34;break}throw u;case 34:return e.finish(31);case 35:return e.finish(26);case 36:"chart"===r?k(c):E(c);case 37:case"end":return e.stop()}}),e,null,[[7,22,26,36],[27,,31,35]])}))(),"t0",7);case 7:e.next=12;break;case 9:e.prev=9,e.t1=e.catch(5),e.t1 instanceof Error&&"AbortError"!==e.t1.name&&P("".concat(e.t1.name,": ").concat(e.t1.message));case 12:x(!1);case 13:case"end":return e.stop()}}),e,null,[[5,9]])})));return function(t,n,r){return e.apply(this,arguments)}}(),L=(0,t.useCallback)(gl()(I,1e3),[]),N=function(){var e=Zl(Dl().mark((function e(){var t,n,r,o;return Dl().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t=Lm?Nm:c){e.next=3;break}return e.abrupt("return");case 3:return n=Om(t),e.prev=4,e.next=7,fetch(n);case 7:return r=e.sent,e.next=10,r.json();case 10:o=e.sent,r.ok&&v(o.data),e.next=17;break;case 14:e.prev=14,e.t0=e.catch(4),e.t0 instanceof Error&&P("".concat(e.t0.name,": ").concat(e.t0.message));case 17:case"end":return e.stop()}}),e,null,[[4,14]])})));return function(){return e.apply(this,arguments)}}(),z=(0,t.useMemo)((function(){var e=Lm?Nm:c,t=null!==n&&void 0!==n?n:l,r="chart"===(i||s);if(d)if(e)if(t.every((function(e){return!e.trim()})))P(Fm.validQuery);else{if(function(e){var t;try{t=new URL(e)}catch(n){return!1}return"http:"===t.protocol||"https:"===t.protocol}(e)){var o=vn({},d);return a.enable&&(o.step=a.value),t.filter((function(e){return e.trim()})).map((function(t){return r?function(e,t,n,r){return"".concat(e,"/api/v1/query_range?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step).concat(r?"&nocache=1":"")}(e,t,o,f):function(e,t,n){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&start=").concat(n.start,"&end=").concat(n.end,"&step=").concat(n.step)}(e,t,o)}))}P(Fm.validServer)}else P(Fm.emptyServer)}),[c,d,s,a]);return(0,t.useEffect)((function(){N()}),[c]),(0,t.useEffect)((function(){o&&L(z,O,i||s)}),[z,o]),(0,t.useEffect)((function(){var e=O.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),B(O.filter((function(e){return!e.signal.aborted}))))}),[O]),{fetchUrl:z,isLoading:b,graphData:D,liveData:_,error:T,queryOptions:m}},jm=n(9023);function Wm(e){return(0,ne.Z)("MuiButton",e)}var $m=(0,re.Z)("MuiButton",["root","text","textInherit","textPrimary","textSecondary","outlined","outlinedInherit","outlinedPrimary","outlinedSecondary","contained","containedInherit","containedPrimary","containedSecondary","disableElevation","focusVisible","disabled","colorInherit","textSizeSmall","textSizeMedium","textSizeLarge","outlinedSizeSmall","outlinedSizeMedium","outlinedSizeLarge","containedSizeSmall","containedSizeMedium","containedSizeLarge","sizeMedium","sizeSmall","sizeLarge","fullWidth","startIcon","endIcon","iconSizeSmall","iconSizeMedium","iconSizeLarge"]);var Hm,Ym=t.createContext({}),Vm=["children","color","component","className","disabled","disableElevation","disableFocusRipple","endIcon","focusVisibleClassName","fullWidth","size","startIcon","type","variant"],Um=function(e){return(0,o.Z)({},"small"===e.size&&{"& > *:nth-of-type(1)":{fontSize:18}},"medium"===e.size&&{"& > *:nth-of-type(1)":{fontSize:20}},"large"===e.size&&{"& > *:nth-of-type(1)":{fontSize:22}})},qm=(0,J.ZP)(at,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["".concat(n.variant).concat((0,te.Z)(n.color))],t["size".concat((0,te.Z)(n.size))],t["".concat(n.variant,"Size").concat((0,te.Z)(n.size))],"inherit"===n.color&&t.colorInherit,n.disableElevation&&t.disableElevation,n.fullWidth&&t.fullWidth]}})((function(e){var t,n,r,i=e.theme,a=e.ownerState;return(0,o.Z)({},i.typography.button,(t={minWidth:64,padding:"6px 16px",borderRadius:(i.vars||i).shape.borderRadius,transition:i.transitions.create(["background-color","box-shadow","border-color","color"],{duration:i.transitions.duration.short}),"&:hover":(0,o.Z)({textDecoration:"none",backgroundColor:i.vars?"rgba(".concat(i.vars.palette.text.primaryChannel," / ").concat(i.vars.palette.action.hoverOpacity,")"):(0,Q.Fq)(i.palette.text.primary,i.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"text"===a.variant&&"inherit"!==a.color&&{backgroundColor:i.vars?"rgba(".concat(i.vars.palette[a.color].mainChannel," / ").concat(i.vars.palette.action.hoverOpacity,")"):(0,Q.Fq)(i.palette[a.color].main,i.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"outlined"===a.variant&&"inherit"!==a.color&&{border:"1px solid ".concat((i.vars||i).palette[a.color].main),backgroundColor:i.vars?"rgba(".concat(i.vars.palette[a.color].mainChannel," / ").concat(i.vars.palette.action.hoverOpacity,")"):(0,Q.Fq)(i.palette[a.color].main,i.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:"transparent"}},"contained"===a.variant&&{backgroundColor:(i.vars||i).palette.grey.A100,boxShadow:(i.vars||i).shadows[4],"@media (hover: none)":{boxShadow:(i.vars||i).shadows[2],backgroundColor:(i.vars||i).palette.grey[300]}},"contained"===a.variant&&"inherit"!==a.color&&{backgroundColor:(i.vars||i).palette[a.color].dark,"@media (hover: none)":{backgroundColor:(i.vars||i).palette[a.color].main}}),"&:active":(0,o.Z)({},"contained"===a.variant&&{boxShadow:(i.vars||i).shadows[8]})},(0,q.Z)(t,"&.".concat($m.focusVisible),(0,o.Z)({},"contained"===a.variant&&{boxShadow:(i.vars||i).shadows[6]})),(0,q.Z)(t,"&.".concat($m.disabled),(0,o.Z)({color:(i.vars||i).palette.action.disabled},"outlined"===a.variant&&{border:"1px solid ".concat((i.vars||i).palette.action.disabledBackground)},"outlined"===a.variant&&"secondary"===a.color&&{border:"1px solid ".concat((i.vars||i).palette.action.disabled)},"contained"===a.variant&&{color:(i.vars||i).palette.action.disabled,boxShadow:(i.vars||i).shadows[0],backgroundColor:(i.vars||i).palette.action.disabledBackground})),t),"text"===a.variant&&{padding:"6px 8px"},"text"===a.variant&&"inherit"!==a.color&&{color:(i.vars||i).palette[a.color].main},"outlined"===a.variant&&{padding:"5px 15px",border:"1px solid currentColor"},"outlined"===a.variant&&"inherit"!==a.color&&{color:(i.vars||i).palette[a.color].main,border:i.vars?"1px solid rgba(".concat(i.vars.palette[a.color].mainChannel," / 0.5)"):"1px solid ".concat((0,Q.Fq)(i.palette[a.color].main,.5))},"contained"===a.variant&&{color:i.vars?i.vars.palette.text.primary:null==(n=(r=i.palette).getContrastText)?void 0:n.call(r,i.palette.grey[300]),backgroundColor:(i.vars||i).palette.grey[300],boxShadow:(i.vars||i).shadows[2]},"contained"===a.variant&&"inherit"!==a.color&&{color:(i.vars||i).palette[a.color].contrastText,backgroundColor:(i.vars||i).palette[a.color].main},"inherit"===a.color&&{color:"inherit",borderColor:"currentColor"},"small"===a.size&&"text"===a.variant&&{padding:"4px 5px",fontSize:i.typography.pxToRem(13)},"large"===a.size&&"text"===a.variant&&{padding:"8px 11px",fontSize:i.typography.pxToRem(15)},"small"===a.size&&"outlined"===a.variant&&{padding:"3px 9px",fontSize:i.typography.pxToRem(13)},"large"===a.size&&"outlined"===a.variant&&{padding:"7px 21px",fontSize:i.typography.pxToRem(15)},"small"===a.size&&"contained"===a.variant&&{padding:"4px 10px",fontSize:i.typography.pxToRem(13)},"large"===a.size&&"contained"===a.variant&&{padding:"8px 22px",fontSize:i.typography.pxToRem(15)},a.fullWidth&&{width:"100%"})}),(function(e){var t;return e.ownerState.disableElevation&&(t={boxShadow:"none","&:hover":{boxShadow:"none"}},(0,q.Z)(t,"&.".concat($m.focusVisible),{boxShadow:"none"}),(0,q.Z)(t,"&:active",{boxShadow:"none"}),(0,q.Z)(t,"&.".concat($m.disabled),{boxShadow:"none"}),t)})),Xm=(0,J.ZP)("span",{name:"MuiButton",slot:"StartIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.startIcon,t["iconSize".concat((0,te.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:8,marginLeft:-4},"small"===t.size&&{marginLeft:-2},Um(t))})),Gm=(0,J.ZP)("span",{name:"MuiButton",slot:"EndIcon",overridesResolver:function(e,t){var n=e.ownerState;return[t.endIcon,t["iconSize".concat((0,te.Z)(n.size))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"inherit",marginRight:-4,marginLeft:8},"small"===t.size&&{marginRight:-2},Um(t))})),Km=t.forwardRef((function(e,n){var r=t.useContext(Ym),i=(0,jm.Z)(r,e),a=(0,ee.Z)({props:i,name:"MuiButton"}),u=a.children,l=a.color,s=void 0===l?"primary":l,c=a.component,d=void 0===c?"button":c,f=a.className,p=a.disabled,h=void 0!==p&&p,m=a.disableElevation,v=void 0!==m&&m,g=a.disableFocusRipple,y=void 0!==g&&g,b=a.endIcon,x=a.focusVisibleClassName,Z=a.fullWidth,w=void 0!==Z&&Z,D=a.size,k=void 0===D?"medium":D,S=a.startIcon,C=a.type,_=a.variant,E=void 0===_?"text":_,A=(0,X.Z)(a,Vm),M=(0,o.Z)({},a,{color:s,component:d,disabled:h,disableElevation:v,disableFocusRipple:y,fullWidth:w,size:k,type:C,variant:E}),T=function(e){var t=e.color,n=e.disableElevation,r=e.fullWidth,i=e.size,a=e.variant,u=e.classes,l={root:["root",a,"".concat(a).concat((0,te.Z)(t)),"size".concat((0,te.Z)(i)),"".concat(a,"Size").concat((0,te.Z)(i)),"inherit"===t&&"colorInherit",n&&"disableElevation",r&&"fullWidth"],label:["label"],startIcon:["startIcon","iconSize".concat((0,te.Z)(i))],endIcon:["endIcon","iconSize".concat((0,te.Z)(i))]},s=(0,K.Z)(l,Wm,u);return(0,o.Z)({},u,s)}(M),P=S&&(0,ie.tZ)(Xm,{className:T.startIcon,ownerState:M,children:S}),R=b&&(0,ie.tZ)(Gm,{className:T.endIcon,ownerState:M,children:b});return(0,ie.BX)(qm,(0,o.Z)({ownerState:M,className:(0,G.Z)(f,r.className),component:d,disabled:h,focusRipple:!y,focusVisibleClassName:(0,G.Z)(T.focusVisible,x),ref:n,type:C},A,{classes:T,children:[P,u,R]}))})),Qm=Km,Jm=function(e){var n=e.data,r=(0,t.useContext)(pn).showInfoMessage,o=(0,t.useMemo)((function(){return JSON.stringify(n,null,2)}),[n]);return(0,ie.BX)(oo,{position:"relative",children:[(0,ie.tZ)(oo,{style:{position:"sticky",top:"16px",display:"flex",justifyContent:"flex-end"},children:(0,ie.tZ)(Qm,{variant:"outlined",fullWidth:!1,onClick:function(e){navigator.clipboard.writeText(o),r("Formatted JSON has been copied"),e.preventDefault()},children:"Copy JSON"})}),(0,ie.tZ)("pre",{style:{margin:0},children:o})]})},ev=n(9344),tv=n(3657),nv=n(4839);function rv(){if(Hm)return Hm;var e=document.createElement("div"),t=document.createElement("div");return t.style.width="10px",t.style.height="1px",e.appendChild(t),e.dir="rtl",e.style.fontSize="14px",e.style.width="4px",e.style.height="1px",e.style.position="absolute",e.style.top="-1000px",e.style.overflow="scroll",document.body.appendChild(e),Hm="reverse",e.scrollLeft>0?Hm="default":(e.scrollLeft=1,0===e.scrollLeft&&(Hm="negative")),document.body.removeChild(e),Hm}function ov(e,t){var n=e.scrollLeft;if("rtl"!==t)return n;switch(rv()){case"negative":return e.scrollWidth-e.clientWidth+n;case"reverse":return e.scrollWidth-e.clientWidth-n;default:return n}}function iv(e){return(1+Math.sin(Math.PI*e-Math.PI/2))/2}function av(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:function(){},i=r.ease,a=void 0===i?iv:i,u=r.duration,l=void 0===u?300:u,s=null,c=t[e],d=!1,f=function(){d=!0},p=function r(i){if(d)o(new Error("Animation cancelled"));else{null===s&&(s=i);var u=Math.min(1,(i-s)/l);t[e]=a(u)*(n-c)+c,u>=1?requestAnimationFrame((function(){o(null)})):requestAnimationFrame(r)}};return c===n?(o(new Error("Element already at target position")),f):(requestAnimationFrame(p),f)}var uv=["onChange"],lv={width:99,height:99,position:"absolute",top:-9999,overflow:"scroll"};var sv=(0,ht.Z)((0,ie.tZ)("path",{d:"M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z"}),"KeyboardArrowLeft"),cv=(0,ht.Z)((0,ie.tZ)("path",{d:"M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z"}),"KeyboardArrowRight");function dv(e){return(0,ne.Z)("MuiTabScrollButton",e)}var fv,pv,hv=(0,re.Z)("MuiTabScrollButton",["root","vertical","horizontal","disabled"]),mv=["className","direction","orientation","disabled"],vv=(0,J.ZP)(at,{name:"MuiTabScrollButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.orientation&&t[n.orientation]]}})((function(e){var t=e.ownerState;return(0,o.Z)((0,q.Z)({width:40,flexShrink:0,opacity:.8},"&.".concat(hv.disabled),{opacity:0}),"vertical"===t.orientation&&{width:"100%",height:40,"& svg":{transform:"rotate(".concat(t.isRtl?-90:90,"deg)")}})})),gv=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiTabScrollButton"}),r=n.className,i=n.direction,a=(0,X.Z)(n,mv),u="rtl"===Ot().direction,l=(0,o.Z)({isRtl:u},n),s=function(e){var t=e.classes,n={root:["root",e.orientation,e.disabled&&"disabled"]};return(0,K.Z)(n,dv,t)}(l);return(0,ie.tZ)(vv,(0,o.Z)({component:"div",className:(0,G.Z)(s.root,r),ref:t,role:null,ownerState:l,tabIndex:null},a,{children:"left"===i?fv||(fv=(0,ie.tZ)(sv,{fontSize:"small"})):pv||(pv=(0,ie.tZ)(cv,{fontSize:"small"}))}))})),yv=gv;function bv(e){return(0,ne.Z)("MuiTabs",e)}var xv=(0,re.Z)("MuiTabs",["root","vertical","flexContainer","flexContainerVertical","centered","scroller","fixed","scrollableX","scrollableY","hideScrollbar","scrollButtons","scrollButtonsHideMobile","indicator"]),Zv=["aria-label","aria-labelledby","action","centered","children","className","component","allowScrollButtonsMobile","indicatorColor","onChange","orientation","ScrollButtonComponent","scrollButtons","selectionFollowsFocus","TabIndicatorProps","TabScrollButtonProps","textColor","value","variant","visibleScrollbar"],wv=function(e,t){return e===t?e.firstChild:t&&t.nextElementSibling?t.nextElementSibling:e.firstChild},Dv=function(e,t){return e===t?e.lastChild:t&&t.previousElementSibling?t.previousElementSibling:e.lastChild},kv=function(e,t,n){for(var r=!1,o=n(e,t);o;){if(o===e.firstChild){if(r)return;r=!0}var i=o.disabled||"true"===o.getAttribute("aria-disabled");if(o.hasAttribute("tabindex")&&!i)return void o.focus();o=n(e,o)}},Sv=(0,J.ZP)("div",{name:"MuiTabs",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(xv.scrollButtons),t.scrollButtons),(0,q.Z)({},"& .".concat(xv.scrollButtons),n.scrollButtonsHideMobile&&t.scrollButtonsHideMobile),t.root,n.vertical&&t.vertical]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({overflow:"hidden",minHeight:48,WebkitOverflowScrolling:"touch",display:"flex"},t.vertical&&{flexDirection:"column"},t.scrollButtonsHideMobile&&(0,q.Z)({},"& .".concat(xv.scrollButtons),(0,q.Z)({},n.breakpoints.down("sm"),{display:"none"})))})),Cv=(0,J.ZP)("div",{name:"MuiTabs",slot:"Scroller",overridesResolver:function(e,t){var n=e.ownerState;return[t.scroller,n.fixed&&t.fixed,n.hideScrollbar&&t.hideScrollbar,n.scrollableX&&t.scrollableX,n.scrollableY&&t.scrollableY]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"relative",display:"inline-block",flex:"1 1 auto",whiteSpace:"nowrap"},t.fixed&&{overflowX:"hidden",width:"100%"},t.hideScrollbar&&{scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}},t.scrollableX&&{overflowX:"auto",overflowY:"hidden"},t.scrollableY&&{overflowY:"auto",overflowX:"hidden"})})),_v=(0,J.ZP)("div",{name:"MuiTabs",slot:"FlexContainer",overridesResolver:function(e,t){var n=e.ownerState;return[t.flexContainer,n.vertical&&t.flexContainerVertical,n.centered&&t.centered]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex"},t.vertical&&{flexDirection:"column"},t.centered&&{justifyContent:"center"})})),Ev=(0,J.ZP)("span",{name:"MuiTabs",slot:"Indicator",overridesResolver:function(e,t){return t.indicator}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({position:"absolute",height:2,bottom:0,width:"100%",transition:n.transitions.create()},"primary"===t.indicatorColor&&{backgroundColor:n.palette.primary.main},"secondary"===t.indicatorColor&&{backgroundColor:n.palette.secondary.main},t.vertical&&{height:"100%",width:2,right:0})})),Av=(0,J.ZP)((function(e){var n=e.onChange,r=(0,X.Z)(e,uv),i=t.useRef(),a=t.useRef(null),u=function(){i.current=a.current.offsetHeight-a.current.clientHeight};return t.useEffect((function(){var e=(0,tp.Z)((function(){var e=i.current;u(),e!==i.current&&n(i.current)})),t=(0,np.Z)(a.current);return t.addEventListener("resize",e),function(){e.clear(),t.removeEventListener("resize",e)}}),[n]),t.useEffect((function(){u(),n(i.current)}),[n]),(0,ie.tZ)("div",(0,o.Z)({style:lv,ref:a},r))}),{name:"MuiTabs",slot:"ScrollbarSize"})({overflowX:"auto",overflowY:"hidden",scrollbarWidth:"none","&::-webkit-scrollbar":{display:"none"}}),Mv={},Tv=t.forwardRef((function(e,n){var i=(0,ee.Z)({props:e,name:"MuiTabs"}),a=Ot(),u="rtl"===a.direction,l=i["aria-label"],s=i["aria-labelledby"],c=i.action,d=i.centered,f=void 0!==d&&d,p=i.children,h=i.className,m=i.component,v=void 0===m?"div":m,g=i.allowScrollButtonsMobile,y=void 0!==g&&g,b=i.indicatorColor,x=void 0===b?"primary":b,Z=i.onChange,w=i.orientation,D=void 0===w?"horizontal":w,k=i.ScrollButtonComponent,S=void 0===k?yv:k,C=i.scrollButtons,_=void 0===C?"auto":C,E=i.selectionFollowsFocus,A=i.TabIndicatorProps,M=void 0===A?{}:A,T=i.TabScrollButtonProps,P=void 0===T?{}:T,R=i.textColor,F=void 0===R?"primary":R,O=i.value,B=i.variant,I=void 0===B?"standard":B,L=i.visibleScrollbar,N=void 0!==L&&L,z=(0,X.Z)(i,Zv),j="scrollable"===I,W="vertical"===D,$=W?"scrollTop":"scrollLeft",H=W?"top":"left",Y=W?"bottom":"right",V=W?"clientHeight":"clientWidth",U=W?"height":"width",Q=(0,o.Z)({},i,{component:v,allowScrollButtonsMobile:y,indicatorColor:x,orientation:D,vertical:W,scrollButtons:_,textColor:F,variant:I,visibleScrollbar:N,fixed:!j,hideScrollbar:j&&!N,scrollableX:j&&!W,scrollableY:j&&W,centered:f&&!j,scrollButtonsHideMobile:!y}),J=function(e){var t=e.vertical,n=e.fixed,r=e.hideScrollbar,o=e.scrollableX,i=e.scrollableY,a=e.centered,u=e.scrollButtonsHideMobile,l=e.classes,s={root:["root",t&&"vertical"],scroller:["scroller",n&&"fixed",r&&"hideScrollbar",o&&"scrollableX",i&&"scrollableY"],flexContainer:["flexContainer",t&&"flexContainerVertical",a&&"centered"],indicator:["indicator"],scrollButtons:["scrollButtons",u&&"scrollButtonsHideMobile"],scrollableX:[o&&"scrollableX"],hideScrollbar:[r&&"hideScrollbar"]};return(0,K.Z)(s,bv,l)}(Q);var te=t.useState(!1),ne=(0,r.Z)(te,2),re=ne[0],oe=ne[1],ae=t.useState(Mv),ue=(0,r.Z)(ae,2),le=ue[0],se=ue[1],ce=t.useState({start:!1,end:!1}),de=(0,r.Z)(ce,2),fe=de[0],pe=de[1],me=t.useState({overflow:"hidden",scrollbarWidth:0}),ve=(0,r.Z)(me,2),ge=ve[0],ye=ve[1],be=new Map,xe=t.useRef(null),Ze=t.useRef(null),we=function(){var e,t,n=xe.current;if(n){var r=n.getBoundingClientRect();e={clientWidth:n.clientWidth,scrollLeft:n.scrollLeft,scrollTop:n.scrollTop,scrollLeftNormalized:ov(n,a.direction),scrollWidth:n.scrollWidth,top:r.top,bottom:r.bottom,left:r.left,right:r.right}}if(n&&!1!==O){var o=Ze.current.children;if(o.length>0){var i=o[be.get(O)];0,t=i?i.getBoundingClientRect():null}}return{tabsMeta:e,tabMeta:t}},De=(0,he.Z)((function(){var e,t,n=we(),r=n.tabsMeta,o=n.tabMeta,i=0;if(W)t="top",o&&r&&(i=o.top-r.top+r.scrollTop);else if(t=u?"right":"left",o&&r){var a=u?r.scrollLeftNormalized+r.clientWidth-r.scrollWidth:r.scrollLeft;i=(u?-1:1)*(o[t]-r[t]+a)}var l=(e={},(0,q.Z)(e,t,i),(0,q.Z)(e,U,o?o[U]:0),e);if(isNaN(le[t])||isNaN(le[U]))se(l);else{var s=Math.abs(le[t]-l[t]),c=Math.abs(le[U]-l[U]);(s>=1||c>=1)&&se(l)}})),ke=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.animation,r=void 0===n||n;r?av($,xe.current,e,{duration:a.transitions.duration.standard}):xe.current[$]=e},Se=function(e){var t=xe.current[$];W?t+=e:(t+=e*(u?-1:1),t*=u&&"reverse"===rv()?-1:1),ke(t)},Ce=function(){for(var e=xe.current[V],t=0,n=Array.from(Ze.current.children),r=0;re)break;t+=o[V]}return t},_e=function(){Se(-1*Ce())},Ee=function(){Se(Ce())},Ae=t.useCallback((function(e){ye({overflow:null,scrollbarWidth:e})}),[]),Me=(0,he.Z)((function(e){var t=we(),n=t.tabsMeta,r=t.tabMeta;if(r&&n)if(r[H]n[Y]){var i=n[$]+(r[Y]-n[Y]);ke(i,{animation:e})}})),Te=(0,he.Z)((function(){if(j&&!1!==_){var e,t,n=xe.current,r=n.scrollTop,o=n.scrollHeight,i=n.clientHeight,l=n.scrollWidth,s=n.clientWidth;if(W)e=r>1,t=r1,t=u?c>1:c .".concat(Fv.iconWrapper),(0,o.Z)({},"top"===a.iconPosition&&{marginBottom:6},"bottom"===a.iconPosition&&{marginTop:6},"start"===a.iconPosition&&{marginRight:i.spacing(1)},"end"===a.iconPosition&&{marginLeft:i.spacing(1)})),"inherit"===a.textColor&&(t={color:"inherit",opacity:.6},(0,q.Z)(t,"&.".concat(Fv.selected),{opacity:1}),(0,q.Z)(t,"&.".concat(Fv.disabled),{opacity:i.palette.action.disabledOpacity}),t),"primary"===a.textColor&&(n={color:i.palette.text.secondary},(0,q.Z)(n,"&.".concat(Fv.selected),{color:i.palette.primary.main}),(0,q.Z)(n,"&.".concat(Fv.disabled),{color:i.palette.text.disabled}),n),"secondary"===a.textColor&&(r={color:i.palette.text.secondary},(0,q.Z)(r,"&.".concat(Fv.selected),{color:i.palette.secondary.main}),(0,q.Z)(r,"&.".concat(Fv.disabled),{color:i.palette.text.disabled}),r),a.fullWidth&&{flexShrink:1,flexGrow:1,flexBasis:0,maxWidth:"none"},a.wrapped&&{fontSize:i.typography.pxToRem(12)})})),Iv=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiTab"}),i=r.className,a=r.disabled,u=void 0!==a&&a,l=r.disableFocusRipple,s=void 0!==l&&l,c=r.fullWidth,d=r.icon,f=r.iconPosition,p=void 0===f?"top":f,h=r.indicator,m=r.label,v=r.onChange,g=r.onClick,y=r.onFocus,b=r.selected,x=r.selectionFollowsFocus,Z=r.textColor,w=void 0===Z?"inherit":Z,D=r.value,k=r.wrapped,S=void 0!==k&&k,C=(0,X.Z)(r,Ov),_=(0,o.Z)({},r,{disabled:u,disableFocusRipple:s,selected:b,icon:!!d,iconPosition:p,label:!!m,fullWidth:c,textColor:w,wrapped:S}),E=function(e){var t=e.classes,n=e.textColor,r=e.fullWidth,o=e.wrapped,i=e.icon,a=e.label,u=e.selected,l=e.disabled,s={root:["root",i&&a&&"labelIcon","textColor".concat((0,te.Z)(n)),r&&"fullWidth",o&&"wrapped",u&&"selected",l&&"disabled"],iconWrapper:["iconWrapper"]};return(0,K.Z)(s,Rv,t)}(_),A=d&&m&&t.isValidElement(d)?t.cloneElement(d,{className:(0,G.Z)(E.iconWrapper,d.props.className)}):d;return(0,ie.BX)(Bv,(0,o.Z)({focusRipple:!s,className:(0,G.Z)(E.root,i),ref:n,role:"tab","aria-selected":b,disabled:u,onClick:function(e){!b&&v&&v(e,D),g&&g(e)},onFocus:function(e){x&&!b&&v&&v(e,D),y&&y(e)},ownerState:_,tabIndex:b?0:-1},C,{children:["top"===p||"start"===p?(0,ie.BX)(t.Fragment,{children:[A,m]}):(0,ie.BX)(t.Fragment,{children:[m,A]}),h]}))})),Lv=Iv,Nv=[{value:"chart",icon:(0,ie.tZ)(tv.Z,{}),label:"Graph"},{value:"code",icon:(0,ie.tZ)(nv.Z,{}),label:"JSON"},{value:"table",icon:(0,ie.tZ)(ev.Z,{}),label:"Table"}],zv=function(){var e=rr().displayType,t=or();return(0,ie.tZ)(Pv,{value:e,onChange:function(n,r){t({type:"SET_DISPLAY_TYPE",payload:null!==r&&void 0!==r?r:e})},sx:{minHeight:"0",marginBottom:"-1px"},children:Nv.map((function(e){return(0,ie.tZ)(Lv,{icon:e.icon,iconPosition:"start",label:e.label,value:e.value,sx:{minHeight:"41px"}},e.value)}))})},jv=n(2495),Wv=n(936),$v=n.n(Wv),Hv=function(e){var n=e.yaxis,r=e.setYaxisLimits,o=e.toggleEnableLimits,i=(0,t.useMemo)((function(){return Object.keys(n.limits.range)}),[n.limits.range]),a=(0,t.useCallback)($v()((function(e,t,o){var i=n.limits.range;i[t][o]=+e.target.value,i[t][0]===i[t][1]||i[t][0]>i[t][1]||r(i)}),500),[n.limits.range]);return(0,ie.BX)(oo,{display:"grid",alignItems:"center",gap:2,children:[(0,ie.tZ)(fm,{control:(0,ie.tZ)(Em,{checked:n.limits.enable,onChange:o}),label:"Fix the limits for y-axis"}),(0,ie.tZ)(oo,{display:"grid",alignItems:"center",gap:2,children:i.map((function(e){return(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"120px 120px",gap:1,children:[(0,ie.tZ)(Lh,{label:"Min ".concat(e),type:"number",size:"small",variant:"outlined",disabled:!n.limits.enable,defaultValue:n.limits.range[e][0],onChange:function(t){return a(t,e,0)}}),(0,ie.tZ)(Lh,{label:"Max ".concat(e),type:"number",size:"small",variant:"outlined",disabled:!n.limits.enable,defaultValue:n.limits.range[e][1],onChange:function(t){return a(t,e,1)}})]},e)}))})]})},Yv=n(1198),Vv={popover:{display:"grid",gridGap:"16px",padding:"0 0 25px"},popoverHeader:{display:"flex",alignItems:"center",justifyContent:"space-between",background:"#3F51B5",padding:"6px 6px 6px 12px",borderRadius:"4px 4px 0 0",color:"#FFF"},popoverBody:{display:"grid",gridGap:"6px",padding:"0 14px"}},Uv="Axes Settings",qv=function(e){var n=e.yaxis,o=e.setYaxisLimits,i=e.toggleEnableLimits,a=(0,t.useState)(null),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=Boolean(l);return(0,ie.BX)(oo,{children:[(0,ie.tZ)(pc,{title:Uv,children:(0,ie.tZ)(pt,{onClick:function(e){return s(e.currentTarget)},children:(0,ie.tZ)(jv.Z,{})})}),(0,ie.tZ)(ec,{open:c,anchorEl:l,placement:"left-start",modifiers:[{name:"offset",options:{offset:[0,6]}}],children:(0,ie.tZ)(Pt,{onClickAway:function(){return s(null)},children:(0,ie.BX)(ce,{elevation:3,sx:Vv.popover,children:[(0,ie.BX)(oo,{id:"handle",sx:Vv.popoverHeader,children:[(0,ie.tZ)(am,{variant:"body1",children:(0,ie.tZ)("b",{children:Uv})}),(0,ie.tZ)(pt,{size:"small",onClick:function(){return s(null)},children:(0,ie.tZ)(Yv.Z,{style:{color:"white"}})})]}),(0,ie.tZ)(oo,{sx:Vv.popoverBody,children:(0,ie.tZ)(Hv,{yaxis:n,setYaxisLimits:o,toggleEnableLimits:i})})]})})})]})};function Xv(e){return(0,ne.Z)("MuiCircularProgress",e)}(0,re.Z)("MuiCircularProgress",["root","determinate","indeterminate","colorPrimary","colorSecondary","svg","circle","circleDeterminate","circleIndeterminate","circleDisableShrink"]);var Gv,Kv,Qv,Jv,eg,tg,ng,rg,og=["className","color","disableShrink","size","style","thickness","value","variant"],ig=44,ag=Oe(eg||(eg=Gv||(Gv=ge(["\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n"])))),ug=Oe(tg||(tg=Kv||(Kv=ge(["\n 0% {\n stroke-dasharray: 1px, 200px;\n stroke-dashoffset: 0;\n }\n\n 50% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -15px;\n }\n\n 100% {\n stroke-dasharray: 100px, 200px;\n stroke-dashoffset: -125px;\n }\n"])))),lg=(0,J.ZP)("span",{name:"MuiCircularProgress",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.variant],t["color".concat((0,te.Z)(n.color))]]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({display:"inline-block"},"determinate"===t.variant&&{transition:n.transitions.create("transform")},"inherit"!==t.color&&{color:(n.vars||n).palette[t.color].main})}),(function(e){return"indeterminate"===e.ownerState.variant&&Fe(ng||(ng=Qv||(Qv=ge(["\n animation: "," 1.4s linear infinite;\n "]))),ag)})),sg=(0,J.ZP)("svg",{name:"MuiCircularProgress",slot:"Svg",overridesResolver:function(e,t){return t.svg}})({display:"block"}),cg=(0,J.ZP)("circle",{name:"MuiCircularProgress",slot:"Circle",overridesResolver:function(e,t){var n=e.ownerState;return[t.circle,t["circle".concat((0,te.Z)(n.variant))],n.disableShrink&&t.circleDisableShrink]}})((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({stroke:"currentColor"},"determinate"===t.variant&&{transition:n.transitions.create("stroke-dashoffset")},"indeterminate"===t.variant&&{strokeDasharray:"80px, 200px",strokeDashoffset:0})}),(function(e){var t=e.ownerState;return"indeterminate"===t.variant&&!t.disableShrink&&Fe(rg||(rg=Jv||(Jv=ge(["\n animation: "," 1.4s ease-in-out infinite;\n "]))),ug)})),dg=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiCircularProgress"}),r=n.className,i=n.color,a=void 0===i?"primary":i,u=n.disableShrink,l=void 0!==u&&u,s=n.size,c=void 0===s?40:s,d=n.style,f=n.thickness,p=void 0===f?3.6:f,h=n.value,m=void 0===h?0:h,v=n.variant,g=void 0===v?"indeterminate":v,y=(0,X.Z)(n,og),b=(0,o.Z)({},n,{color:a,disableShrink:l,size:c,thickness:p,value:m,variant:g}),x=function(e){var t=e.classes,n=e.variant,r=e.color,o=e.disableShrink,i={root:["root",n,"color".concat((0,te.Z)(r))],svg:["svg"],circle:["circle","circle".concat((0,te.Z)(n)),o&&"circleDisableShrink"]};return(0,K.Z)(i,Xv,t)}(b),Z={},w={},D={};if("determinate"===g){var k=2*Math.PI*((ig-p)/2);Z.strokeDasharray=k.toFixed(3),D["aria-valuenow"]=Math.round(m),Z.strokeDashoffset="".concat(((100-m)/100*k).toFixed(3),"px"),w.transform="rotate(-90deg)"}return(0,ie.tZ)(lg,(0,o.Z)({className:(0,G.Z)(x.root,r),style:(0,o.Z)({width:c,height:c},w,d),ownerState:b,ref:t,role:"progressbar"},D,y,{children:(0,ie.tZ)(sg,{className:x.svg,ownerState:b,viewBox:"".concat(22," ").concat(22," ").concat(ig," ").concat(ig),children:(0,ie.tZ)(cg,{className:x.circle,style:Z,ownerState:b,cx:ig,cy:ig,r:(ig-p)/2,fill:"none",strokeWidth:p})})}))})),fg=dg,pg=function(e){var t=e.isLoading,n=e.height;return(0,ie.tZ)(Sp,{in:t,style:{transitionDelay:t?"300ms":"0ms"},children:(0,ie.tZ)(oo,{alignItems:"center",justifyContent:"center",flexDirection:"column",display:"flex",style:{width:"100%",maxWidth:"calc(100vw - 64px)",position:"absolute",height:null!==n&&void 0!==n?n:"50%",background:"rgba(255, 255, 255, 0.7)",pointerEvents:"none",zIndex:2},children:(0,ie.tZ)(fg,{})})})},hg=function(){var e=rr(),t=e.displayType,n=e.time.period,r=e.query,o=br(),i=o.customStep,a=o.yaxis,u=or(),l=xr(),s=function(e){l({type:"SET_YAXIS_LIMITS",payload:e})},c=zm({visible:!0,customStep:i}),d=c.isLoading,f=c.liveData,p=c.graphData,h=c.error,m=c.queryOptions;return(0,ie.BX)(oo,{p:4,display:"grid",gridTemplateRows:"auto 1fr",style:{minHeight:"calc(100vh - 64px)"},children:[(0,ie.tZ)(Tm,{error:h,queryOptions:m}),(0,ie.BX)(oo,{height:"100%",children:[d&&(0,ie.tZ)(pg,{isLoading:d,height:"500px"}),(0,ie.BX)(oo,{height:"100%",bgcolor:"#fff",children:[(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"1fr auto",alignItems:"center",mx:-4,px:4,mb:2,borderBottom:1,borderColor:"divider",children:[(0,ie.tZ)(zv,{}),"chart"===t&&(0,ie.tZ)(qv,{yaxis:a,setYaxisLimits:s,toggleEnableLimits:function(){l({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}})]}),h&&(0,ie.tZ)(_t,{color:"error",severity:"error",sx:{whiteSpace:"pre-wrap",mt:2},children:h}),p&&n&&"chart"===t&&(0,ie.tZ)(Zc,{data:p,period:n,customStep:i,query:r,yaxis:a,setYaxisLimits:s,setPeriod:function(e){var t=e.from,n=e.to;u({type:"SET_PERIOD",payload:{from:t,to:n}})}}),f&&"code"===t&&(0,ie.tZ)(Jm,{data:f}),f&&"table"===t&&(0,ie.tZ)(md,{data:f})]})]})]})};function mg(e){return(0,ne.Z)("MuiAppBar",e)}(0,re.Z)("MuiAppBar",["root","positionFixed","positionAbsolute","positionSticky","positionStatic","positionRelative","colorDefault","colorPrimary","colorSecondary","colorInherit","colorTransparent"]);var vg=["className","color","enableColorOnDark","position"],gg=(0,J.ZP)(ce,{name:"MuiAppBar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,te.Z)(n.position))],t["color".concat((0,te.Z)(n.color))]]}})((function(e){var t=e.theme,n=e.ownerState,r="light"===t.palette.mode?t.palette.grey[100]:t.palette.grey[900];return(0,o.Z)({display:"flex",flexDirection:"column",width:"100%",boxSizing:"border-box",flexShrink:0},"fixed"===n.position&&{position:"fixed",zIndex:t.zIndex.appBar,top:0,left:"auto",right:0,"@media print":{position:"absolute"}},"absolute"===n.position&&{position:"absolute",zIndex:t.zIndex.appBar,top:0,left:"auto",right:0},"sticky"===n.position&&{position:"sticky",zIndex:t.zIndex.appBar,top:0,left:"auto",right:0},"static"===n.position&&{position:"static"},"relative"===n.position&&{position:"relative"},"default"===n.color&&{backgroundColor:r,color:t.palette.getContrastText(r)},n.color&&"default"!==n.color&&"inherit"!==n.color&&"transparent"!==n.color&&{backgroundColor:t.palette[n.color].main,color:t.palette[n.color].contrastText},"inherit"===n.color&&{color:"inherit"},"dark"===t.palette.mode&&!n.enableColorOnDark&&{backgroundColor:null,color:null},"transparent"===n.color&&(0,o.Z)({backgroundColor:"transparent",color:"inherit"},"dark"===t.palette.mode&&{backgroundImage:"none"}))})),yg=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiAppBar"}),r=n.className,i=n.color,a=void 0===i?"primary":i,u=n.enableColorOnDark,l=void 0!==u&&u,s=n.position,c=void 0===s?"fixed":s,d=(0,X.Z)(n,vg),f=(0,o.Z)({},n,{color:a,position:c,enableColorOnDark:l}),p=function(e){var t=e.color,n=e.position,r=e.classes,o={root:["root","color".concat((0,te.Z)(t)),"position".concat((0,te.Z)(n))]};return(0,K.Z)(o,mg,r)}(f);return(0,ie.tZ)(gg,(0,o.Z)({square:!0,component:"header",ownerState:f,elevation:4,className:(0,G.Z)(p.root,r,"fixed"===c&&"mui-fixed"),ref:t},d))})),bg=yg,xg=n(6428);function Zg(e){return(0,ne.Z)("MuiLink",e)}var wg=(0,re.Z)("MuiLink",["root","underlineNone","underlineHover","underlineAlways","button","focusVisible"]),Dg=["className","color","component","onBlur","onFocus","TypographyClasses","underline","variant","sx"],kg={primary:"primary.main",textPrimary:"text.primary",secondary:"secondary.main",textSecondary:"text.secondary",error:"error.main"},Sg=(0,J.ZP)(am,{name:"MuiLink",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["underline".concat((0,te.Z)(n.underline))],"button"===n.component&&t.button]}})((function(e){var t=e.theme,n=e.ownerState,r=(0,xg.D)(t,"palette.".concat(function(e){return kg[e]||e}(n.color)))||n.color;return(0,o.Z)({},"none"===n.underline&&{textDecoration:"none"},"hover"===n.underline&&{textDecoration:"none","&:hover":{textDecoration:"underline"}},"always"===n.underline&&{textDecoration:"underline",textDecorationColor:"inherit"!==r?(0,Q.Fq)(r,.4):void 0,"&:hover":{textDecorationColor:"inherit"}},"button"===n.component&&(0,q.Z)({position:"relative",WebkitTapHighlightColor:"transparent",backgroundColor:"transparent",outline:0,border:0,margin:0,borderRadius:0,padding:0,cursor:"pointer",userSelect:"none",verticalAlign:"middle",MozAppearance:"none",WebkitAppearance:"none","&::-moz-focus-inner":{borderStyle:"none"}},"&.".concat(wg.focusVisible),{outline:"auto"}))})),Cg=t.forwardRef((function(e,n){var i=Ot(),a=(0,ee.Z)({props:e,name:"MuiLink"}),u=a.className,l=a.color,s=void 0===l?"primary":l,c=a.component,d=void 0===c?"a":c,f=a.onBlur,p=a.onFocus,h=a.TypographyClasses,m=a.underline,v=void 0===m?"always":m,g=a.variant,y=void 0===g?"inherit":g,b=a.sx,x=(0,X.Z)(a,Dg),Z="function"===typeof b?b(i).color:null==b?void 0:b.color,w=(0,me.Z)(),D=w.isFocusVisibleRef,k=w.onBlur,S=w.onFocus,C=w.ref,_=t.useState(!1),E=(0,r.Z)(_,2),A=E[0],M=E[1],T=(0,pe.Z)(n,C),P=(0,o.Z)({},a,{color:("function"===typeof Z?Z(i):Z)||s,component:d,focusVisible:A,underline:v,variant:y}),R=function(e){var t=e.classes,n=e.component,r=e.focusVisible,o=e.underline,i={root:["root","underline".concat((0,te.Z)(o)),"button"===n&&"button",r&&"focusVisible"]};return(0,K.Z)(i,Zg,t)}(P);return(0,ie.tZ)(Sg,(0,o.Z)({color:s,className:(0,G.Z)(R.root,u),classes:h,component:d,onBlur:function(e){k(e),!1===D.current&&M(!1),f&&f(e)},onFocus:function(e){S(e),!0===D.current&&M(!0),p&&p(e)},ref:T,ownerState:P,variant:y,sx:[].concat((0,ve.Z)(e.color?[{color:kg[s]||s}]:[]),(0,ve.Z)(Array.isArray(b)?b:[b]))},x))})),_g=Cg;function Eg(e){return(0,ne.Z)("MuiToolbar",e)}(0,re.Z)("MuiToolbar",["root","gutters","regular","dense"]);var Ag=["className","component","disableGutters","variant"],Mg=(0,J.ZP)("div",{name:"MuiToolbar",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disableGutters&&t.gutters,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({position:"relative",display:"flex",alignItems:"center"},!n.disableGutters&&(0,q.Z)({paddingLeft:t.spacing(2),paddingRight:t.spacing(2)},t.breakpoints.up("sm"),{paddingLeft:t.spacing(3),paddingRight:t.spacing(3)}),"dense"===n.variant&&{minHeight:48})}),(function(e){var t=e.theme;return"regular"===e.ownerState.variant&&t.mixins.toolbar})),Tg=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiToolbar"}),r=n.className,i=n.component,a=void 0===i?"div":i,u=n.disableGutters,l=void 0!==u&&u,s=n.variant,c=void 0===s?"regular":s,d=(0,X.Z)(n,Ag),f=(0,o.Z)({},n,{component:a,disableGutters:l,variant:c}),p=function(e){var t=e.classes,n={root:["root",!e.disableGutters&&"gutters",e.variant]};return(0,K.Z)(n,Eg,t)}(f);return(0,ie.tZ)(Mg,(0,o.Z)({as:a,className:(0,G.Z)(p.root,r),ref:t,ownerState:f},d))})),Pg=Tg,Rg=n(1385),Fg=n(9428);function Og(e){return(0,ne.Z)("MuiListItem",e)}var Bg=(0,re.Z)("MuiListItem",["root","container","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","padding","button","secondaryAction","selected"]);function Ig(e){return(0,ne.Z)("MuiListItemButton",e)}var Lg=(0,re.Z)("MuiListItemButton",["root","focusVisible","dense","alignItemsFlexStart","disabled","divider","gutters","selected"]);function Ng(e){return(0,ne.Z)("MuiListItemSecondaryAction",e)}(0,re.Z)("MuiListItemSecondaryAction",["root","disableGutters"]);var zg=["className"],jg=(0,J.ZP)("div",{name:"MuiListItemSecondaryAction",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.disableGutters&&t.disableGutters]}})((function(e){var t=e.ownerState;return(0,o.Z)({position:"absolute",right:16,top:"50%",transform:"translateY(-50%)"},t.disableGutters&&{right:0})})),Wg=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItemSecondaryAction"}),i=r.className,a=(0,X.Z)(r,zg),u=t.useContext(zf),l=(0,o.Z)({},r,{disableGutters:u.disableGutters}),s=function(e){var t=e.disableGutters,n=e.classes,r={root:["root",t&&"disableGutters"]};return(0,K.Z)(r,Ng,n)}(l);return(0,ie.tZ)(jg,(0,o.Z)({className:(0,G.Z)(s.root,i),ownerState:l,ref:n},a))}));Wg.muiName="ListItemSecondaryAction";var $g=Wg,Hg=["className"],Yg=["alignItems","autoFocus","button","children","className","component","components","componentsProps","ContainerComponent","ContainerProps","dense","disabled","disableGutters","disablePadding","divider","focusVisibleClassName","secondaryAction","selected"],Vg=(0,J.ZP)("div",{name:"MuiListItem",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,"flex-start"===n.alignItems&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters,!n.disablePadding&&t.padding,n.button&&t.button,n.hasSecondaryAction&&t.secondaryAction]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({display:"flex",justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",width:"100%",boxSizing:"border-box",textAlign:"left"},!r.disablePadding&&(0,o.Z)({paddingTop:8,paddingBottom:8},r.dense&&{paddingTop:4,paddingBottom:4},!r.disableGutters&&{paddingLeft:16,paddingRight:16},!!r.secondaryAction&&{paddingRight:48}),!!r.secondaryAction&&(0,q.Z)({},"& > .".concat(Lg.root),{paddingRight:48}),(t={},(0,q.Z)(t,"&.".concat(Bg.focusVisible),{backgroundColor:n.palette.action.focus}),(0,q.Z)(t,"&.".concat(Bg.selected),(0,q.Z)({backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Bg.focusVisible),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,q.Z)(t,"&.".concat(Bg.disabled),{opacity:n.palette.action.disabledOpacity}),t),"flex-start"===r.alignItems&&{alignItems:"flex-start"},r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},r.button&&(0,q.Z)({transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},"&.".concat(Bg.selected,":hover"),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),r.hasSecondaryAction&&{paddingRight:48})})),Ug=(0,J.ZP)("li",{name:"MuiListItem",slot:"Container",overridesResolver:function(e,t){return t.container}})({position:"relative"}),qg=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItem"}),i=r.alignItems,a=void 0===i?"center":i,u=r.autoFocus,l=void 0!==u&&u,s=r.button,c=void 0!==s&&s,d=r.children,f=r.className,p=r.component,h=r.components,m=void 0===h?{}:h,v=r.componentsProps,g=void 0===v?{}:v,y=r.ContainerComponent,b=void 0===y?"li":y,x=r.ContainerProps,Z=(x=void 0===x?{}:x).className,w=r.dense,D=void 0!==w&&w,k=r.disabled,S=void 0!==k&&k,C=r.disableGutters,_=void 0!==C&&C,E=r.disablePadding,A=void 0!==E&&E,M=r.divider,T=void 0!==M&&M,P=r.focusVisibleClassName,R=r.secondaryAction,F=r.selected,O=void 0!==F&&F,B=(0,X.Z)(r.ContainerProps,Hg),I=(0,X.Z)(r,Yg),L=t.useContext(zf),N={dense:D||L.dense||!1,alignItems:a,disableGutters:_},z=t.useRef(null);(0,Ed.Z)((function(){l&&z.current&&z.current.focus()}),[l]);var j=t.Children.toArray(d),W=j.length&&(0,Cf.Z)(j[j.length-1],["ListItemSecondaryAction"]),$=(0,o.Z)({},r,{alignItems:a,autoFocus:l,button:c,dense:N.dense,disabled:S,disableGutters:_,disablePadding:A,divider:T,hasSecondaryAction:W,selected:O}),H=function(e){var t=e.alignItems,n=e.button,r=e.classes,o=e.dense,i=e.disabled,a={root:["root",o&&"dense",!e.disableGutters&&"gutters",!e.disablePadding&&"padding",e.divider&&"divider",i&&"disabled",n&&"button","flex-start"===t&&"alignItemsFlexStart",e.hasSecondaryAction&&"secondaryAction",e.selected&&"selected"],container:["container"]};return(0,K.Z)(a,Og,r)}($),Y=(0,pe.Z)(z,n),V=m.Root||Vg,U=g.root||{},q=(0,o.Z)({className:(0,G.Z)(H.root,U.className,f),disabled:S},I),Q=p||"li";return c&&(q.component=p||"div",q.focusVisibleClassName=(0,G.Z)(Bg.focusVisible,P),Q=at),W?(Q=q.component||p?Q:"div","li"===b&&("li"===Q?Q="div":"li"===q.component&&(q.component="div")),(0,ie.tZ)(zf.Provider,{value:N,children:(0,ie.BX)(Ug,(0,o.Z)({as:b,className:(0,G.Z)(H.container,Z),ref:Y,ownerState:$},B,{children:[(0,ie.tZ)(V,(0,o.Z)({},U,!kl(V)&&{as:Q,ownerState:(0,o.Z)({},$,U.ownerState)},q,{children:j})),j.pop()]}))})):(0,ie.tZ)(zf.Provider,{value:N,children:(0,ie.BX)(V,(0,o.Z)({},U,{as:Q,ref:Y,ownerState:$},!kl(V)&&{ownerState:(0,o.Z)({},$,U.ownerState)},q,{children:[j,R&&(0,ie.tZ)($g,{children:R})]}))})})),Xg=qg,Gg=["children","className","disableTypography","inset","primary","primaryTypographyProps","secondary","secondaryTypographyProps"],Kg=(0,J.ZP)("div",{name:"MuiListItemText",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat($h.primary),t.primary),(0,q.Z)({},"& .".concat($h.secondary),t.secondary),t.root,n.inset&&t.inset,n.primary&&n.secondary&&t.multiline,n.dense&&t.dense]}})((function(e){var t=e.ownerState;return(0,o.Z)({flex:"1 1 auto",minWidth:0,marginTop:4,marginBottom:4},t.primary&&t.secondary&&{marginTop:6,marginBottom:6},t.inset&&{paddingLeft:56})})),Qg=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItemText"}),i=r.children,a=r.className,u=r.disableTypography,l=void 0!==u&&u,s=r.inset,c=void 0!==s&&s,d=r.primary,f=r.primaryTypographyProps,p=r.secondary,h=r.secondaryTypographyProps,m=(0,X.Z)(r,Gg),v=t.useContext(zf).dense,g=null!=d?d:i,y=p,b=(0,o.Z)({},r,{disableTypography:l,inset:c,primary:!!g,secondary:!!y,dense:v}),x=function(e){var t=e.classes,n=e.inset,r=e.primary,o=e.secondary,i={root:["root",n&&"inset",e.dense&&"dense",r&&o&&"multiline"],primary:["primary"],secondary:["secondary"]};return(0,K.Z)(i,Wh,t)}(b);return null==g||g.type===am||l||(g=(0,ie.tZ)(am,(0,o.Z)({variant:v?"body2":"body1",className:x.primary,component:"span",display:"block"},f,{children:g}))),null==y||y.type===am||l||(y=(0,ie.tZ)(am,(0,o.Z)({variant:"body2",className:x.secondary,color:"text.secondary",display:"block"},h,{children:y}))),(0,ie.BX)(Kg,(0,o.Z)({className:(0,G.Z)(x.root,a),ownerState:b,ref:n},m,{children:[g,y]}))})),Jg=Qg,ey=[{seconds:0,title:"Off"},{seconds:1,title:"1s"},{seconds:2,title:"2s"},{seconds:5,title:"5s"},{seconds:10,title:"10s"},{seconds:30,title:"30s"},{seconds:60,title:"1m"},{seconds:300,title:"5m"},{seconds:900,title:"15m"},{seconds:1800,title:"30m"},{seconds:3600,title:"1h"},{seconds:7200,title:"2h"}],ty=function(){var e=or(),n=rr().queryControls.autoRefresh,o=R();(0,t.useEffect)((function(){n&&e({type:"TOGGLE_AUTOREFRESH"})}),[o]);var i=(0,t.useState)(ey[0]),a=(0,r.Z)(i,2),u=a[0],l=a[1];(0,t.useEffect)((function(){var t,r=u.seconds;return n?t=setInterval((function(){e({type:"RUN_QUERY_TO_NOW"})}),1e3*r):l(ey[0]),function(){t&&clearInterval(t)}}),[u,n]);var s=(0,t.useState)(null),c=(0,r.Z)(s,2),d=c[0],f=c[1],p=Boolean(d);return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(pc,{title:"Auto-refresh control",children:(0,ie.tZ)(Qm,{variant:"contained",color:"primary",sx:{minWidth:"110px",color:"white",border:"1px solid rgba(0, 0, 0, 0.2)",justifyContent:"space-between",boxShadow:"none"},startIcon:(0,ie.tZ)(Rg.Z,{}),endIcon:(0,ie.tZ)(Fg.Z,{sx:{transform:p?"rotate(180deg)":"none"}}),onClick:function(e){return f(e.currentTarget)},children:u.title})}),(0,ie.tZ)(ec,{open:p,anchorEl:d,placement:"bottom-end",modifiers:[{name:"offset",options:{offset:[0,6]}}],children:(0,ie.tZ)(Pt,{onClickAway:function(){return f(null)},children:(0,ie.tZ)(ce,{elevation:3,children:(0,ie.tZ)(Yf,{style:{minWidth:"110px",maxHeight:"208px",overflow:"auto",padding:"20px 0"},children:ey.map((function(t){return(0,ie.tZ)(Xg,{button:!0,onClick:function(){return function(t){(n&&!t.seconds||!n&&t.seconds)&&e({type:"TOGGLE_AUTOREFRESH"}),l(t),f(null)}(t)},children:(0,ie.tZ)(Jg,{primary:t.title})},t.seconds)}))})})})})]})},ny=n(210),ry=function(e){var t=e.style;return(0,ie.BX)(ny.Z,{style:t,viewBox:"0 0 20 24",children:[(0,ie.tZ)("path",{d:"M8.27 10.58a2.8 2.8 0 0 0 1.7.59h.07c.65-.01 1.3-.26 1.69-.6 2.04-1.73 7.95-7.15 7.95-7.15C21.26 1.95 16.85.48 10.04.47h-.08C3.15.48-1.26 1.95.32 3.42c0 0 5.91 5.42 7.95 7.16"}),(0,ie.tZ)("path",{d:"M11.73 13.51a2.8 2.8 0 0 1-1.7.6h-.06a2.8 2.8 0 0 1-1.7-.6C6.87 12.31 1.87 7.8 0 6.08v2.61c0 .29.11.67.3.85 1.28 1.17 6.2 5.67 7.97 7.18a2.8 2.8 0 0 0 1.7.6h.06c.66-.02 1.3-.27 1.7-.6 1.77-1.5 6.69-6.01 7.96-7.18.2-.18.3-.56.3-.85V6.08a615.27 615.27 0 0 1-8.26 7.43"}),(0,ie.tZ)("path",{d:"M11.73 19.66a2.8 2.8 0 0 1-1.7.59h-.06a2.8 2.8 0 0 1-1.7-.6c-1.4-1.2-6.4-5.72-8.27-7.43v2.62c0 .28.11.66.3.84 1.28 1.17 6.2 5.68 7.97 7.19a2.8 2.8 0 0 0 1.7.59h.06c.66-.01 1.3-.26 1.7-.6 1.77-1.5 6.69-6 7.96-7.18.2-.18.3-.56.3-.84v-2.62a614.96 614.96 0 0 1-8.26 7.44"})]})},oy=["alignItems","autoFocus","component","children","dense","disableGutters","divider","focusVisibleClassName","selected"],iy=(0,J.ZP)(at,{shouldForwardProp:function(e){return(0,J.FO)(e)||"classes"===e},name:"MuiListItemButton",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dense&&t.dense,"flex-start"===n.alignItems&&t.alignItemsFlexStart,n.divider&&t.divider,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)((t={display:"flex",flexGrow:1,justifyContent:"flex-start",alignItems:"center",position:"relative",textDecoration:"none",minWidth:0,boxSizing:"border-box",textAlign:"left",paddingTop:8,paddingBottom:8,transition:n.transitions.create("background-color",{duration:n.transitions.duration.shortest}),"&:hover":{textDecoration:"none",backgroundColor:n.palette.action.hover,"@media (hover: none)":{backgroundColor:"transparent"}}},(0,q.Z)(t,"&.".concat(Lg.selected),(0,q.Z)({backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)},"&.".concat(Lg.focusVisible),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.focusOpacity)})),(0,q.Z)(t,"&.".concat(Lg.selected,":hover"),{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity+n.palette.action.hoverOpacity),"@media (hover: none)":{backgroundColor:(0,Q.Fq)(n.palette.primary.main,n.palette.action.selectedOpacity)}}),(0,q.Z)(t,"&.".concat(Lg.focusVisible),{backgroundColor:n.palette.action.focus}),(0,q.Z)(t,"&.".concat(Lg.disabled),{opacity:n.palette.action.disabledOpacity}),t),r.divider&&{borderBottom:"1px solid ".concat(n.palette.divider),backgroundClip:"padding-box"},"flex-start"===r.alignItems&&{alignItems:"flex-start"},!r.disableGutters&&{paddingLeft:16,paddingRight:16},r.dense&&{paddingTop:4,paddingBottom:4})})),ay=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiListItemButton"}),i=r.alignItems,a=void 0===i?"center":i,u=r.autoFocus,l=void 0!==u&&u,s=r.component,c=void 0===s?"div":s,d=r.children,f=r.dense,p=void 0!==f&&f,h=r.disableGutters,m=void 0!==h&&h,v=r.divider,g=void 0!==v&&v,y=r.focusVisibleClassName,b=r.selected,x=void 0!==b&&b,Z=(0,X.Z)(r,oy),w=t.useContext(zf),D={dense:p||w.dense||!1,alignItems:a,disableGutters:m},k=t.useRef(null);(0,Ed.Z)((function(){l&&k.current&&k.current.focus()}),[l]);var S=(0,o.Z)({},r,{alignItems:a,dense:D.dense,disableGutters:m,divider:g,selected:x}),C=function(e){var t=e.alignItems,n=e.classes,r=e.dense,i=e.disabled,a={root:["root",r&&"dense",!e.disableGutters&&"gutters",e.divider&&"divider",i&&"disabled","flex-start"===t&&"alignItemsFlexStart",e.selected&&"selected"]},u=(0,K.Z)(a,Ig,n);return(0,o.Z)({},n,u)}(S),_=(0,pe.Z)(k,n);return(0,ie.tZ)(zf.Provider,{value:D,children:(0,ie.tZ)(iy,(0,o.Z)({ref:_,component:c,focusVisibleClassName:(0,G.Z)(C.focusVisible,y),ownerState:S},Z,{classes:C,children:d}))})})),uy=ay,ly=function(e){var t=e.setDuration;return(0,ie.tZ)(Yf,{style:{maxHeight:"168px",overflow:"auto",paddingRight:"15px"},children:$n.map((function(e){var n=e.id,r=e.duration,o=e.until,i=e.title;return(0,ie.tZ)(uy,{onClick:function(){return t({duration:r,until:o(),id:n})},children:(0,ie.tZ)(Jg,{primary:i||r})},n)}))})},sy=n(1782),cy=n(4290);function dy(e,n,o,i,a){var u="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,l=t.useState((function(){return a&&u?o(e).matches:i?i(e).matches:n})),s=(0,r.Z)(l,2),c=s[0],d=s[1];return(0,Ed.Z)((function(){var t=!0;if(u){var n=o(e),r=function(){t&&d(n.matches)};return r(),n.addListener(r),function(){t=!1,n.removeListener(r)}}}),[e,o,u]),c}var fy=t.useSyncExternalStore;function py(e,n,o,i){var a=t.useCallback((function(){return n}),[n]),u=t.useMemo((function(){if(null!==i){var t=i(e).matches;return function(){return t}}return a}),[a,e,i]),l=t.useMemo((function(){if(null===o)return[a,function(){return function(){}}];var t=o(e);return[function(){return t.matches},function(e){return t.addListener(e),function(){t.removeListener(e)}}]}),[a,o,e]),s=(0,r.Z)(l,2),c=s[0],d=s[1];return fy(d,c,u)}var hy=function(){var e=t.useContext(Ir);if(null===e)throw new Error("MUI: Can not find utils in context. It looks like you forgot to wrap your component in LocalizationProvider, or pass dateAdapter prop directly.");return e},my=function(){return hy().utils},vy=function(){return hy().defaultDates},gy=function(){var e=my();return t.useRef(e.date()).current};function yy(e,t){return e&&t.isValid(t.date(e))?"Choose date, selected date is ".concat(t.format(t.date(e),"fullDate")):"Choose date"}var by=function(e,t,n){var r=e.date(t);return null===t?"":e.isValid(r)?e.formatByString(r,n):""};function xy(e,t,n){return e||("undefined"===typeof t?n.localized:t?n["12h"]:n["24h"])}var Zy=["ampm","inputFormat","maxDate","maxDateTime","maxTime","minDate","minDateTime","minTime","openTo","orientation","views"];function wy(e,t){var n=e.ampm,r=e.inputFormat,i=e.maxDate,a=e.maxDateTime,u=e.maxTime,l=e.minDate,s=e.minDateTime,c=e.minTime,d=e.openTo,f=void 0===d?"day":d,p=e.orientation,h=void 0===p?"portrait":p,m=e.views,v=void 0===m?["year","day","hours","minutes"]:m,g=(0,X.Z)(e,Zy),y=my(),b=vy(),x=null!=l?l:b.minDate,Z=null!=i?i:b.maxDate,w=null!=n?n:y.is12HourCycleInCurrentLocale();if("portrait"!==h)throw new Error("We are not supporting custom orientation for DateTimePicker yet :(");return(0,ee.Z)({props:(0,o.Z)({openTo:f,views:v,ampm:w,ampmInClock:!0,orientation:h,showToolbar:!0,allowSameDateSelection:!0,minDate:null!=s?s:x,minTime:null!=s?s:c,maxDate:null!=a?a:Z,maxTime:null!=a?a:u,disableIgnoringDatePartForTimeValidation:Boolean(s||a),acceptRegex:w?/[\dap]/gi:/\d/gi,mask:"__/__/____ __:__",disableMaskedInput:w,inputFormat:xy(r,w,{localized:y.formats.keyboardDateTime,"12h":y.formats.keyboardDateTime12h,"24h":y.formats.keyboardDateTime24h})},g),name:t})}var Dy=["className","selected","value"],ky=(0,re.Z)("PrivatePickersToolbarText",["selected"]),Sy=(0,J.ZP)(am)((function(e){var t=e.theme;return(0,q.Z)({transition:t.transitions.create("color"),color:t.palette.text.secondary},"&.".concat(ky.selected),{color:t.palette.text.primary})})),Cy=t.forwardRef((function(e,t){var n=e.className,r=e.selected,i=e.value,a=(0,X.Z)(e,Dy);return(0,ie.tZ)(Sy,(0,o.Z)({ref:t,className:(0,G.Z)(n,r&&ky.selected),component:"span"},a,{children:i}))})),_y=n(4929);var Ey=t.createContext();function Ay(e){return(0,ne.Z)("MuiGrid",e)}var My=["auto",!0,1,2,3,4,5,6,7,8,9,10,11,12],Ty=(0,re.Z)("MuiGrid",["root","container","item","zeroMinWidth"].concat((0,ve.Z)([0,1,2,3,4,5,6,7,8,9,10].map((function(e){return"spacing-xs-".concat(e)}))),(0,ve.Z)(["column-reverse","column","row-reverse","row"].map((function(e){return"direction-xs-".concat(e)}))),(0,ve.Z)(["nowrap","wrap-reverse","wrap"].map((function(e){return"wrap-xs-".concat(e)}))),(0,ve.Z)(My.map((function(e){return"grid-xs-".concat(e)}))),(0,ve.Z)(My.map((function(e){return"grid-sm-".concat(e)}))),(0,ve.Z)(My.map((function(e){return"grid-md-".concat(e)}))),(0,ve.Z)(My.map((function(e){return"grid-lg-".concat(e)}))),(0,ve.Z)(My.map((function(e){return"grid-xl-".concat(e)}))))),Py=["className","columns","columnSpacing","component","container","direction","item","lg","md","rowSpacing","sm","spacing","wrap","xl","xs","zeroMinWidth"];function Ry(e){var t=parseFloat(e);return"".concat(t).concat(String(e).replace(String(t),"")||"px")}function Fy(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};if(!t||!e||e<=0)return[];if("string"===typeof e&&!Number.isNaN(Number(e))||"number"===typeof e)return[n["spacing-xs-".concat(String(e))]||"spacing-xs-".concat(String(e))];var r=e.xs,o=e.sm,i=e.md,a=e.lg,u=e.xl;return[Number(r)>0&&(n["spacing-xs-".concat(String(r))]||"spacing-xs-".concat(String(r))),Number(o)>0&&(n["spacing-sm-".concat(String(o))]||"spacing-sm-".concat(String(o))),Number(i)>0&&(n["spacing-md-".concat(String(i))]||"spacing-md-".concat(String(i))),Number(a)>0&&(n["spacing-lg-".concat(String(a))]||"spacing-lg-".concat(String(a))),Number(u)>0&&(n["spacing-xl-".concat(String(u))]||"spacing-xl-".concat(String(u)))]}var Oy=(0,J.ZP)("div",{name:"MuiGrid",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState,r=n.container,o=n.direction,i=n.item,a=n.lg,u=n.md,l=n.sm,s=n.spacing,c=n.wrap,d=n.xl,f=n.xs,p=n.zeroMinWidth;return[t.root,r&&t.container,i&&t.item,p&&t.zeroMinWidth].concat((0,ve.Z)(Fy(s,r,t)),["row"!==o&&t["direction-xs-".concat(String(o))],"wrap"!==c&&t["wrap-xs-".concat(String(c))],!1!==f&&t["grid-xs-".concat(String(f))],!1!==l&&t["grid-sm-".concat(String(l))],!1!==u&&t["grid-md-".concat(String(u))],!1!==a&&t["grid-lg-".concat(String(a))],!1!==d&&t["grid-xl-".concat(String(d))]])}})((function(e){var t=e.ownerState;return(0,o.Z)({boxSizing:"border-box"},t.container&&{display:"flex",flexWrap:"wrap",width:"100%"},t.item&&{margin:0},t.zeroMinWidth&&{minWidth:0},"wrap"!==t.wrap&&{flexWrap:t.wrap})}),(function(e){var t=e.theme,n=e.ownerState,r=(0,_y.P$)({values:n.direction,breakpoints:t.breakpoints.values});return(0,_y.k9)({theme:t},r,(function(e){var t={flexDirection:e};return 0===e.indexOf("column")&&(t["& > .".concat(Ty.item)]={maxWidth:"none"}),t}))}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.rowSpacing,i={};if(r&&0!==o){var a=(0,_y.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,_y.k9)({theme:t},a,(function(e){var n=t.spacing(e);return"0px"!==n?(0,q.Z)({marginTop:"-".concat(Ry(n))},"& > .".concat(Ty.item),{paddingTop:Ry(n)}):{}}))}return i}),(function(e){var t=e.theme,n=e.ownerState,r=n.container,o=n.columnSpacing,i={};if(r&&0!==o){var a=(0,_y.P$)({values:o,breakpoints:t.breakpoints.values});i=(0,_y.k9)({theme:t},a,(function(e){var n=t.spacing(e);return"0px"!==n?(0,q.Z)({width:"calc(100% + ".concat(Ry(n),")"),marginLeft:"-".concat(Ry(n))},"& > .".concat(Ty.item),{paddingLeft:Ry(n)}):{}}))}return i}),(function(e){var t,n=e.theme,r=e.ownerState;return n.breakpoints.keys.reduce((function(e,i){var a={};if(r[i]&&(t=r[i]),!t)return e;if(!0===t)a={flexBasis:0,flexGrow:1,maxWidth:"100%"};else if("auto"===t)a={flexBasis:"auto",flexGrow:0,flexShrink:0,maxWidth:"none",width:"auto"};else{var u=(0,_y.P$)({values:r.columns,breakpoints:n.breakpoints.values}),l="object"===typeof u?u[i]:u;if(void 0===l||null===l)return e;var s="".concat(Math.round(t/l*1e8)/1e6,"%"),c={};if(r.container&&r.item&&0!==r.columnSpacing){var d=n.spacing(r.columnSpacing);if("0px"!==d){var f="calc(".concat(s," + ").concat(Ry(d),")");c={flexBasis:f,maxWidth:f}}}a=(0,o.Z)({flexBasis:s,flexGrow:0,maxWidth:s},c)}return 0===n.breakpoints.values[i]?Object.assign(e,a):e[n.breakpoints.up(i)]=a,e}),{})})),By=t.forwardRef((function(e,n){var r=eo((0,ee.Z)({props:e,name:"MuiGrid"})),i=r.className,a=r.columns,u=r.columnSpacing,l=r.component,s=void 0===l?"div":l,c=r.container,d=void 0!==c&&c,f=r.direction,p=void 0===f?"row":f,h=r.item,m=void 0!==h&&h,v=r.lg,g=void 0!==v&&v,y=r.md,b=void 0!==y&&y,x=r.rowSpacing,Z=r.sm,w=void 0!==Z&&Z,D=r.spacing,k=void 0===D?0:D,S=r.wrap,C=void 0===S?"wrap":S,_=r.xl,E=void 0!==_&&_,A=r.xs,M=void 0!==A&&A,T=r.zeroMinWidth,P=void 0!==T&&T,R=(0,X.Z)(r,Py),F=x||k,O=u||k,B=t.useContext(Ey),I=d?a||12:B,L=(0,o.Z)({},r,{columns:I,container:d,direction:p,item:m,lg:g,md:b,sm:w,rowSpacing:F,columnSpacing:O,wrap:C,xl:E,xs:M,zeroMinWidth:P}),N=function(e){var t=e.classes,n=e.container,r=e.direction,o=e.item,i=e.lg,a=e.md,u=e.sm,l=e.spacing,s=e.wrap,c=e.xl,d=e.xs,f={root:["root",n&&"container",o&&"item",e.zeroMinWidth&&"zeroMinWidth"].concat((0,ve.Z)(Fy(l,n)),["row"!==r&&"direction-xs-".concat(String(r)),"wrap"!==s&&"wrap-xs-".concat(String(s)),!1!==d&&"grid-xs-".concat(String(d)),!1!==u&&"grid-sm-".concat(String(u)),!1!==a&&"grid-md-".concat(String(a)),!1!==i&&"grid-lg-".concat(String(i)),!1!==c&&"grid-xl-".concat(String(c))])};return(0,K.Z)(f,Ay,t)}(L);return(0,ie.tZ)(Ey.Provider,{value:I,children:(0,ie.tZ)(Oy,(0,o.Z)({ownerState:L,className:(0,G.Z)(N.root,i),as:s,ref:n},R))})})),Iy=By,Ly=(0,ht.Z)((0,ie.tZ)("path",{d:"M7 10l5 5 5-5z"}),"ArrowDropDown"),Ny=(0,ht.Z)((0,ie.tZ)("path",{d:"M15.41 16.59L10.83 12l4.58-4.59L14 6l-6 6 6 6 1.41-1.41z"}),"ArrowLeft"),zy=(0,ht.Z)((0,ie.tZ)("path",{d:"M8.59 16.59L13.17 12 8.59 7.41 10 6l6 6-6 6-1.41-1.41z"}),"ArrowRight"),jy=(0,ht.Z)((0,ie.tZ)("path",{d:"M17 12h-5v5h5v-5zM16 1v2H8V1H6v2H5c-1.11 0-1.99.9-1.99 2L3 19c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2h-1V1h-2zm3 18H5V8h14v11z"}),"Calendar"),Wy=(0,ht.Z)((0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),(0,ie.tZ)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Clock"),$y=(0,ht.Z)((0,ie.tZ)("path",{d:"M9 11H7v2h2v-2zm4 0h-2v2h2v-2zm4 0h-2v2h2v-2zm2-7h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V9h14v11z"}),"DateRange"),Hy=(0,ht.Z)((0,ie.tZ)("path",{d:"M3 17.25V21h3.75L17.81 9.94l-3.75-3.75L3 17.25zM20.71 7.04c.39-.39.39-1.02 0-1.41l-2.34-2.34a.9959.9959 0 00-1.41 0l-1.83 1.83 3.75 3.75 1.83-1.83z"}),"Pen"),Yy=(0,ht.Z)((0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"}),(0,ie.tZ)("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]}),"Time"),Vy=(0,re.Z)("PrivatePickersToolbar",["root","dateTitleContainer"]),Uy=(0,J.ZP)("div")((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",flexDirection:"column",alignItems:"flex-start",justifyContent:"space-between",padding:t.spacing(2,3)},n.isLandscape&&{height:"auto",maxWidth:160,padding:16,justifyContent:"flex-start",flexWrap:"wrap"})})),qy=(0,J.ZP)(Iy)({flex:1}),Xy=function(e){return"clock"===e?(0,ie.tZ)(Wy,{color:"inherit"}):(0,ie.tZ)(jy,{color:"inherit"})};function Gy(e,t){return e?"text input view is open, go to ".concat(t," view"):"".concat(t," view is open, go to text input view")}var Ky=t.forwardRef((function(e,t){var n=e.children,r=e.className,o=e.getMobileKeyboardInputViewButtonText,i=void 0===o?Gy:o,a=e.isLandscape,u=e.isMobileKeyboardViewOpen,l=e.landscapeDirection,s=void 0===l?"column":l,c=e.penIconClassName,d=e.toggleMobileKeyboardView,f=e.toolbarTitle,p=e.viewType,h=void 0===p?"calendar":p,m=e;return(0,ie.BX)(Uy,{ref:t,className:(0,G.Z)(Vy.root,r),ownerState:m,children:[(0,ie.tZ)(am,{color:"text.secondary",variant:"overline",children:f}),(0,ie.BX)(qy,{container:!0,justifyContent:"space-between",className:Vy.dateTitleContainer,direction:a?s:"row",alignItems:a?"flex-start":"flex-end",children:[n,(0,ie.tZ)(pt,{onClick:d,className:c,color:"inherit","aria-label":i(u,h),children:u?Xy(h):(0,ie.tZ)(Hy,{color:"inherit"})})]})]})})),Qy=["align","className","selected","typographyClassName","value","variant"],Jy=(0,J.ZP)(Qm)({padding:0,minWidth:16,textTransform:"none"}),eb=t.forwardRef((function(e,t){var n=e.align,r=e.className,i=e.selected,a=e.typographyClassName,u=e.value,l=e.variant,s=(0,X.Z)(e,Qy);return(0,ie.tZ)(Jy,(0,o.Z)({variant:"text",ref:t,className:r},s,{children:(0,ie.tZ)(Cy,{align:n,className:a,variant:l,value:u,selected:i})}))})),tb=t.createContext(null),nb=(0,J.ZP)(Pv)((function(e){var t=e.ownerState,n=e.theme;return(0,o.Z)({boxShadow:"0 -1px 0 0 inset ".concat(n.palette.divider)},"desktop"===t.wrapperVariant&&(0,q.Z)({order:1,boxShadow:"0 1px 0 0 inset ".concat(n.palette.divider)},"& .".concat(xv.indicator),{bottom:"auto",top:0}))})),rb=function(e){var n,r=e.dateRangeIcon,i=void 0===r?(0,ie.tZ)($y,{}):r,a=e.onChange,u=e.timeIcon,l=void 0===u?(0,ie.tZ)(Yy,{}):u,s=e.view,c=t.useContext(tb),d=(0,o.Z)({},e,{wrapperVariant:c});return(0,ie.BX)(nb,{ownerState:d,variant:"fullWidth",value:(n=s,["day","month","year"].includes(n)?"date":"time"),onChange:function(e,t){a("date"===t?"day":"hours")},children:[(0,ie.tZ)(Lv,{value:"date","aria-label":"pick date",icon:(0,ie.tZ)(t.Fragment,{children:i})}),(0,ie.tZ)(Lv,{value:"time","aria-label":"pick time",icon:(0,ie.tZ)(t.Fragment,{children:l})})]})},ob=["ampm","date","dateRangeIcon","hideTabs","isMobileKeyboardViewOpen","onChange","openView","setOpenView","timeIcon","toggleMobileKeyboardView","toolbarFormat","toolbarPlaceholder","toolbarTitle","views"],ib=(0,re.Z)("PrivateDateTimePickerToolbar",["penIcon"]),ab=(0,J.ZP)(Ky)((0,q.Z)({paddingLeft:16,paddingRight:16,justifyContent:"space-around"},"& .".concat(ib.penIcon),{position:"absolute",top:8,right:8})),ub=(0,J.ZP)("div")({display:"flex",flexDirection:"column",alignItems:"flex-start"}),lb=(0,J.ZP)("div")({display:"flex"}),sb=(0,J.ZP)(Cy)({margin:"0 4px 0 2px",cursor:"default"}),cb=function(e){var n,r=e.ampm,i=e.date,a=e.dateRangeIcon,u=e.hideTabs,l=e.isMobileKeyboardViewOpen,s=e.openView,c=e.setOpenView,d=e.timeIcon,f=e.toggleMobileKeyboardView,p=e.toolbarFormat,h=e.toolbarPlaceholder,m=void 0===h?"\u2013\u2013":h,v=e.toolbarTitle,g=void 0===v?"Select date & time":v,y=e.views,b=(0,X.Z)(e,ob),x=my(),Z=t.useContext(tb),w="desktop"===Z||!u&&"undefined"!==typeof window&&window.innerHeight>667,D=t.useMemo((function(){return i?p?x.formatByString(i,p):x.format(i,"shortDate"):m}),[i,p,m,x]);return(0,ie.BX)(t.Fragment,{children:["desktop"!==Z&&(0,ie.BX)(ab,(0,o.Z)({toolbarTitle:g,penIconClassName:ib.penIcon,isMobileKeyboardViewOpen:l,toggleMobileKeyboardView:f},b,{isLandscape:!1,children:[(0,ie.BX)(ub,{children:[y.includes("year")&&(0,ie.tZ)(eb,{tabIndex:-1,variant:"subtitle1",onClick:function(){return c("year")},selected:"year"===s,value:i?x.format(i,"year"):"\u2013"}),y.includes("day")&&(0,ie.tZ)(eb,{tabIndex:-1,variant:"h4",onClick:function(){return c("day")},selected:"day"===s,value:D})]}),(0,ie.BX)(lb,{children:[y.includes("hours")&&(0,ie.tZ)(eb,{variant:"h3",onClick:function(){return c("hours")},selected:"hours"===s,value:i?(n=i,r?x.format(n,"hours12h"):x.format(n,"hours24h")):"--"}),y.includes("minutes")&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(sb,{variant:"h3",value:":"}),(0,ie.tZ)(eb,{variant:"h3",onClick:function(){return c("minutes")},selected:"minutes"===s,value:i?x.format(i,"minutes"):"--"})]}),y.includes("seconds")&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(sb,{variant:"h3",value:":"}),(0,ie.tZ)(eb,{variant:"h3",onClick:function(){return c("seconds")},selected:"seconds"===s,value:i?x.format(i,"seconds"):"--"})]})]})]})),w&&(0,ie.tZ)(rb,{dateRangeIcon:a,timeIcon:d,view:s,onChange:c})]})};function db(e){return(0,ne.Z)("MuiDialogActions",e)}(0,re.Z)("MuiDialogActions",["root","spacing"]);var fb=["className","disableSpacing"],pb=(0,J.ZP)("div",{name:"MuiDialogActions",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,!n.disableSpacing&&t.spacing]}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",alignItems:"center",padding:8,justifyContent:"flex-end",flex:"0 0 auto"},!t.disableSpacing&&{"& > :not(:first-of-type)":{marginLeft:8}})})),hb=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDialogActions"}),r=n.className,i=n.disableSpacing,a=void 0!==i&&i,u=(0,X.Z)(n,fb),l=(0,o.Z)({},n,{disableSpacing:a}),s=function(e){var t=e.classes,n={root:["root",!e.disableSpacing&&"spacing"]};return(0,K.Z)(n,db,t)}(l);return(0,ie.tZ)(pb,(0,o.Z)({className:(0,G.Z)(s.root,r),ownerState:l,ref:t},u))})),mb=hb,vb=["onClick","onTouchStart"],gb=(0,J.ZP)(ec)((function(e){return{zIndex:e.theme.zIndex.modal}})),yb=(0,J.ZP)(ce)((function(e){var t=e.ownerState;return(0,o.Z)({transformOrigin:"top center",outline:0},"top"===t.placement&&{transformOrigin:"bottom center"})})),bb=(0,J.ZP)(mb)((function(e){var t=e.ownerState;return(0,o.Z)({},t.clearable?{justifyContent:"flex-start","& > *:first-of-type":{marginRight:"auto"}}:{padding:0})}));var xb=function(e){var n=e.anchorEl,i=e.children,a=e.containerRef,u=void 0===a?null:a,l=e.onClose,s=e.onClear,c=e.clearable,d=void 0!==c&&c,f=e.clearText,p=void 0===f?"Clear":f,h=e.open,m=e.PopperProps,v=e.role,g=e.TransitionComponent,y=void 0===g?Qt:g,b=e.TrapFocusProps,x=e.PaperProps,Z=void 0===x?{}:x;t.useEffect((function(){function e(e){"Escape"!==e.key&&"Esc"!==e.key||l()}return document.addEventListener("keydown",e),function(){document.removeEventListener("keydown",e)}}),[l]);var w=t.useRef(null);t.useEffect((function(){"tooltip"!==v&&(h?w.current=document.activeElement:w.current&&w.current instanceof HTMLElement&&w.current.focus())}),[h,v]);var D=function(e,n){var r=t.useRef(!1),o=t.useRef(!1),i=t.useRef(null),a=t.useRef(!1);t.useEffect((function(){if(e)return document.addEventListener("mousedown",t,!0),document.addEventListener("touchstart",t,!0),function(){document.removeEventListener("mousedown",t,!0),document.removeEventListener("touchstart",t,!0),a.current=!1};function t(){a.current=!0}}),[e]);var u=(0,he.Z)((function(e){if(a.current){var t=o.current;o.current=!1;var u=(0,Nf.Z)(i.current);!i.current||"clientX"in e&&function(e,t){return t.documentElement.clientWidth-1:!u.documentElement.contains(e.target)||i.current.contains(e.target))||t||n(e))}})),l=function(){o.current=!0};return t.useEffect((function(){if(e){var t=(0,Nf.Z)(i.current),n=function(){r.current=!0};return t.addEventListener("touchstart",u),t.addEventListener("touchmove",n),function(){t.removeEventListener("touchstart",u),t.removeEventListener("touchmove",n)}}}),[e,u]),t.useEffect((function(){if(e){var t=(0,Nf.Z)(i.current);return t.addEventListener("click",u),function(){t.removeEventListener("click",u),o.current=!1}}}),[e,u]),[i,l,l]}(h,l),k=(0,r.Z)(D,3),S=k[0],C=k[1],_=k[2],E=t.useRef(null),A=(0,pe.Z)(E,u),M=(0,pe.Z)(A,S),T=e,P=Z.onClick,R=Z.onTouchStart,F=(0,X.Z)(Z,vb);return(0,ie.tZ)(gb,(0,o.Z)({transition:!0,role:v,open:h,anchorEl:n,ownerState:T},m,{children:function(e){var t=e.TransitionProps,n=e.placement;return(0,ie.tZ)(vp,(0,o.Z)({open:h,disableAutoFocus:!0,disableEnforceFocus:"tooltip"===v,isEnabled:function(){return!0}},b,{children:(0,ie.tZ)(y,(0,o.Z)({},t,{children:(0,ie.BX)(yb,(0,o.Z)({tabIndex:-1,elevation:8,ref:M,onClick:function(e){C(e),P&&P(e)},onTouchStart:function(e){_(e),R&&R(e)},ownerState:(0,o.Z)({},T,{placement:n})},F,{children:[i,(0,ie.tZ)(bb,{ownerState:T,children:d&&(0,ie.tZ)(Qm,{onClick:s,children:p})})]}))}))}))}}))};function Zb(e){var n=e.children,r=e.DateInputProps,i=e.KeyboardDateInputComponent,a=e.onDismiss,u=e.open,l=e.PopperProps,s=e.PaperProps,c=e.TransitionComponent,d=e.onClear,f=e.clearText,p=e.clearable,h=t.useRef(null),m=(0,pe.Z)(r.inputRef,h);return(0,ie.BX)(tb.Provider,{value:"desktop",children:[(0,ie.tZ)(i,(0,o.Z)({},r,{inputRef:m})),(0,ie.tZ)(xb,{role:"dialog",open:u,anchorEl:h.current,TransitionComponent:c,PopperProps:l,PaperProps:s,onClose:a,onClear:d,clearText:f,clearable:p,children:n})]})}function wb(e,t){return Array.isArray(t)?t.every((function(t){return-1!==e.indexOf(t)})):-1!==e.indexOf(t)}var Db=function(e,t){return function(n){"Enter"!==n.key&&" "!==n.key||(e(),n.preventDefault(),n.stopPropagation()),t&&t(n)}},kb=function(){for(var e=arguments.length,t=new Array(e),n=0;n12&&(e-=360),{height:Math.round((n?.26:.4)*Tb),transform:"rotateZ(".concat(e,"deg)")}}(),className:t,ownerState:u},a,{children:(0,ie.tZ)(Nb,{ownerState:u})}))}}]),n}(t.Component);zb.getDerivedStateFromProps=function(e,t){return e.type!==t.previousType?{toAnimateTransform:!0,previousType:e.type}:{toAnimateTransform:!1,previousType:e.type}};var jb=(0,J.ZP)("div")((function(e){return{display:"flex",justifyContent:"center",alignItems:"center",margin:e.theme.spacing(2)}})),Wb=(0,J.ZP)("div")({backgroundColor:"rgba(0,0,0,.07)",borderRadius:"50%",height:220,width:220,flexShrink:0,position:"relative",pointerEvents:"none"}),$b=(0,J.ZP)("div")({width:"100%",height:"100%",position:"absolute",pointerEvents:"auto",outline:0,touchAction:"none",userSelect:"none","@media (pointer: fine)":{cursor:"pointer",borderRadius:"50%"},"&:active":{cursor:"move"}}),Hb=(0,J.ZP)("div")((function(e){return{width:6,height:6,borderRadius:"50%",backgroundColor:e.theme.palette.primary.main,position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)"}})),Yb=(0,J.ZP)(pt)((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({zIndex:1,position:"absolute",bottom:n.ampmInClock?64:8,left:8},"am"===n.meridiemMode&&{backgroundColor:t.palette.primary.main,color:t.palette.primary.contrastText,"&:hover":{backgroundColor:t.palette.primary.light}})})),Vb=(0,J.ZP)(pt)((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({zIndex:1,position:"absolute",bottom:n.ampmInClock?64:8,right:8},"pm"===n.meridiemMode&&{backgroundColor:t.palette.primary.main,color:t.palette.primary.contrastText,"&:hover":{backgroundColor:t.palette.primary.light}})}));function Ub(e){var n=e.ampm,r=e.ampmInClock,o=e.autoFocus,i=e.children,a=e.date,u=e.getClockLabelText,l=e.handleMeridiemChange,s=e.isTimeDisabled,c=e.meridiemMode,d=e.minutesStep,f=void 0===d?1:d,p=e.onChange,h=e.selectedId,m=e.type,v=e.value,g=e,y=my(),b=t.useContext(tb),x=t.useRef(!1),Z=s(v,m),w=!n&&"hours"===m&&(v<1||v>12),D=function(e,t){s(e,m)||p(e,t)},k=function(e,t){var r=e.offsetX,o=e.offsetY;if(void 0===r){var i=e.target.getBoundingClientRect();r=e.changedTouches[0].clientX-i.left,o=e.changedTouches[0].clientY-i.top}var a="seconds"===m||"minutes"===m?function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,r=Bb(6*n,e,t).value;return r*n%60}(r,o,f):function(e,t,n){var r=Bb(30,e,t),o=r.value,i=r.distance,a=o||12;return n?a%=12:i<74&&(a+=12,a%=24),a}(r,o,Boolean(n));D(a,t)},S=t.useMemo((function(){return"hours"===m||v%5===0}),[m,v]),C="minutes"===m?f:1,_=t.useRef(null);(0,Cl.Z)((function(){o&&_.current.focus()}),[o]);return(0,ie.BX)(jb,{children:[(0,ie.BX)(Wb,{children:[(0,ie.tZ)($b,{onTouchMove:function(e){x.current=!0,k(e,"shallow")},onTouchEnd:function(e){x.current&&(k(e,"finish"),x.current=!1)},onMouseUp:function(e){x.current&&(x.current=!1),k(e.nativeEvent,"finish")},onMouseMove:function(e){e.buttons>0&&k(e.nativeEvent,"shallow")}}),!Z&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(Hb,{}),a&&(0,ie.tZ)(zb,{type:m,value:v,isInner:w,hasSelected:S})]}),(0,ie.tZ)("div",{"aria-activedescendant":h,"aria-label":u(m,a,y),ref:_,role:"listbox",onKeyDown:function(e){if(!x.current)switch(e.key){case"Home":D(0,"partial"),e.preventDefault();break;case"End":D("minutes"===m?59:23,"partial"),e.preventDefault();break;case"ArrowUp":D(v+C,"partial"),e.preventDefault();break;case"ArrowDown":D(v-C,"partial"),e.preventDefault()}},tabIndex:0,children:i})]}),n&&("desktop"===b||r)&&(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(Yb,{onClick:function(){return l("am")},disabled:null===c,ownerState:g,children:(0,ie.tZ)(am,{variant:"caption",children:"AM"})}),(0,ie.tZ)(Vb,{disabled:null===c,onClick:function(){return l("pm")},ownerState:g,children:(0,ie.tZ)(am,{variant:"caption",children:"PM"})})]})]})}var qb=["className","disabled","index","inner","label","selected"],Xb=(0,re.Z)("PrivateClockNumber",["selected","disabled"]),Gb=(0,J.ZP)("span")((function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)((t={height:Pb,width:Pb,position:"absolute",left:"calc((100% - ".concat(Pb,"px) / 2)"),display:"inline-flex",justifyContent:"center",alignItems:"center",borderRadius:"50%",color:n.palette.text.primary,fontFamily:n.typography.fontFamily,"&:focused":{backgroundColor:n.palette.background.paper}},(0,q.Z)(t,"&.".concat(Xb.selected),{color:n.palette.primary.contrastText}),(0,q.Z)(t,"&.".concat(Xb.disabled),{pointerEvents:"none",color:n.palette.text.disabled}),t),r.inner&&(0,o.Z)({},n.typography.body2,{color:n.palette.text.secondary}))}));function Kb(e){var t=e.className,n=e.disabled,r=e.index,i=e.inner,a=e.label,u=e.selected,l=(0,X.Z)(e,qb),s=e,c=r%12/12*Math.PI*2-Math.PI/2,d=91*(i?.65:1),f=Math.round(Math.cos(c)*d),p=Math.round(Math.sin(c)*d);return(0,ie.tZ)(Gb,(0,o.Z)({className:(0,G.Z)(t,u&&Xb.selected,n&&Xb.disabled),"aria-disabled":!!n||void 0,"aria-selected":!!u||void 0,role:"option",style:{transform:"translate(".concat(f,"px, ").concat(p+92,"px")},ownerState:s},l,{children:a}))}var Qb=function(e){for(var t=e.ampm,n=e.date,r=e.getClockNumberText,o=e.isDisabled,i=e.selectedId,a=e.utils,u=n?a.getHours(n):null,l=[],s=t?12:23,c=function(e){return null!==u&&(t?12===e?12===u||0===u:u===e||u-12===e:u===e)},d=t?1:0;d<=s;d+=1){var f=d.toString();0===d&&(f="00");var p=!t&&(0===d||d>12);f=a.formatNumber(f);var h=c(d);l.push((0,ie.tZ)(Kb,{id:h?i:void 0,index:d,inner:p,selected:h,disabled:o(d),label:f,"aria-label":r(f)},d))}return l},Jb=function(e){var t=e.utils,n=e.value,o=e.isDisabled,i=e.getClockNumberText,a=e.selectedId,u=t.formatNumber;return[[5,u("05")],[10,u("10")],[15,u("15")],[20,u("20")],[25,u("25")],[30,u("30")],[35,u("35")],[40,u("40")],[45,u("45")],[50,u("50")],[55,u("55")],[0,u("00")]].map((function(e,t){var u=(0,r.Z)(e,2),l=u[0],s=u[1],c=l===n;return(0,ie.tZ)(Kb,{label:s,id:c?a:void 0,index:t+1,inner:!1,disabled:o(l),selected:c,"aria-label":i(s)},l)}))},ex=["children","className","components","componentsProps","isLeftDisabled","isLeftHidden","isRightDisabled","isRightHidden","leftArrowButtonText","onLeftClick","onRightClick","rightArrowButtonText"],tx=(0,J.ZP)("div")({display:"flex"}),nx=(0,J.ZP)("div")((function(e){return{width:e.theme.spacing(3)}})),rx=(0,J.ZP)(pt)((function(e){var t=e.ownerState;return(0,o.Z)({},t.hidden&&{visibility:"hidden"})})),ox=t.forwardRef((function(e,t){var n=e.children,r=e.className,i=e.components,a=void 0===i?{}:i,u=e.componentsProps,l=void 0===u?{}:u,s=e.isLeftDisabled,c=e.isLeftHidden,d=e.isRightDisabled,f=e.isRightHidden,p=e.leftArrowButtonText,h=e.onLeftClick,m=e.onRightClick,v=e.rightArrowButtonText,g=(0,X.Z)(e,ex),y="rtl"===Ot().direction,b=l.leftArrowButton||{},x=a.LeftArrowIcon||Ny,Z=l.rightArrowButton||{},w=a.RightArrowIcon||zy,D=e;return(0,ie.BX)(tx,(0,o.Z)({ref:t,className:r,ownerState:D},g,{children:[(0,ie.tZ)(rx,(0,o.Z)({as:a.LeftArrowButton,size:"small","aria-label":p,title:p,disabled:s,edge:"end",onClick:h},b,{className:b.className,ownerState:(0,o.Z)({},D,b,{hidden:c}),children:y?(0,ie.tZ)(w,{}):(0,ie.tZ)(x,{})})),n?(0,ie.tZ)(am,{variant:"subtitle1",component:"span",children:n}):(0,ie.tZ)(nx,{ownerState:D}),(0,ie.tZ)(rx,(0,o.Z)({as:a.RightArrowButton,size:"small","aria-label":v,title:v,edge:"start",disabled:d,onClick:m},Z,{className:Z.className,ownerState:(0,o.Z)({},D,Z,{hidden:f}),children:y?(0,ie.tZ)(x,{}):(0,ie.tZ)(w,{})}))]}))})),ix=function(e,t,n){if(n&&(e>=12?"pm":"am")!==t)return"am"===t?e-12:e+12;return e},ax=function(e,t){return 3600*t.getHours(e)+60*t.getMinutes(e)+t.getSeconds(e)},ux=function(e,t){return function(n,r){return e?t.isAfter(n,r):ax(n,t)>ax(r,t)}};function lx(e,n,r){var o=my(),i=function(e,t){return e?t.getHours(e)>=12?"pm":"am":null}(e,o),a=t.useCallback((function(t){var i=function(e,t,n,r){var o=ix(r.getHours(e),t,n);return r.setHours(e,o)}(e,t,Boolean(n),o);r(i,"partial")}),[n,e,r,o]);return{meridiemMode:i,handleMeridiemChange:a}}function sx(e){return(0,ne.Z)("MuiClockPicker",e)}(0,re.Z)("MuiClockPicker",["root","arrowSwitcher"]);var cx=(0,J.ZP)("div")({overflowX:"hidden",width:320,maxHeight:358,display:"flex",flexDirection:"column",margin:"0 auto"}),dx=(0,J.ZP)(cx,{name:"MuiClockPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"flex",flexDirection:"column"}),fx=(0,J.ZP)(ox,{name:"MuiClockPicker",slot:"ArrowSwitcher",overridesResolver:function(e,t){return t.arrowSwitcher}})({position:"absolute",right:12,top:15}),px=function(e,t,n){return"Select ".concat(e,". ").concat(null===t?"No time selected":"Selected time is ".concat(n.format(t,"fullTime")))},hx=function(e){return"".concat(e," minutes")},mx=function(e){return"".concat(e," hours")},vx=function(e){return"".concat(e," seconds")},gx=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiClockPicker"}),i=r.ampm,a=void 0!==i&&i,u=r.ampmInClock,l=void 0!==u&&u,s=r.autoFocus,c=r.components,d=r.componentsProps,f=r.date,p=r.disableIgnoringDatePartForTimeValidation,h=void 0!==p&&p,m=r.getClockLabelText,v=void 0===m?px:m,g=r.getHoursClockNumberText,y=void 0===g?mx:g,b=r.getMinutesClockNumberText,x=void 0===b?hx:b,Z=r.getSecondsClockNumberText,w=void 0===Z?vx:Z,D=r.leftArrowButtonText,k=void 0===D?"open previous view":D,S=r.maxTime,C=r.minTime,_=r.minutesStep,E=void 0===_?1:_,A=r.rightArrowButtonText,M=void 0===A?"open next view":A,T=r.shouldDisableTime,P=r.showViewSwitcher,R=r.onChange,F=r.view,O=r.views,B=void 0===O?["hours","minutes"]:O,I=r.openTo,L=r.onViewChange,N=r.className,z=Cb({view:F,views:B,openTo:I,onViewChange:L,onChange:R}),j=z.openView,W=z.setOpenView,$=z.nextView,H=z.previousView,Y=z.handleChangeAndOpenNext,V=gy(),U=my(),q=U.setSeconds(U.setMinutes(U.setHours(V,0),0),0),X=f||q,Q=lx(X,a,Y),J=Q.meridiemMode,te=Q.handleMeridiemChange,ne=t.useCallback((function(e,t){if(null===f)return!1;var n=function(n){var r=ux(h,U);return Boolean(C&&r(C,n("end"))||S&&r(n("start"),S)||T&&T(e,t))};switch(t){case"hours":var r=ix(e,J,a);return n((function(e){return kb((function(e){return U.setHours(e,r)}),(function(t){return U.setMinutes(t,"start"===e?0:59)}),(function(t){return U.setSeconds(t,"start"===e?0:59)}))(f)}));case"minutes":return n((function(t){return kb((function(t){return U.setMinutes(t,e)}),(function(e){return U.setSeconds(e,"start"===t?0:59)}))(f)}));case"seconds":return n((function(){return U.setSeconds(f,e)}));default:throw new Error("not supported")}}),[a,f,h,S,J,C,T,U]),re=(0,vd.Z)(),oe=t.useMemo((function(){switch(j){case"hours":var e=function(e,t){var n=ix(e,J,a);Y(U.setHours(X,n),t)};return{onChange:e,value:U.getHours(X),children:Qb({date:f,utils:U,ampm:a,onChange:e,getClockNumberText:y,isDisabled:function(e){return ne(e,"hours")},selectedId:re})};case"minutes":var t=U.getMinutes(X),n=function(e,t){Y(U.setMinutes(X,e),t)};return{value:t,onChange:n,children:Jb({utils:U,value:t,onChange:n,getClockNumberText:x,isDisabled:function(e){return ne(e,"minutes")},selectedId:re})};case"seconds":var r=U.getSeconds(X),o=function(e,t){Y(U.setSeconds(X,e),t)};return{value:r,onChange:o,children:Jb({utils:U,value:r,onChange:o,getClockNumberText:w,isDisabled:function(e){return ne(e,"seconds")},selectedId:re})};default:throw new Error("You must provide the type for ClockView")}}),[j,U,f,a,y,x,w,J,Y,X,ne,re]),ae=r,ue=function(e){var t=e.classes;return(0,K.Z)({root:["root"],arrowSwitcher:["arrowSwitcher"]},sx,t)}(ae);return(0,ie.BX)(dx,{ref:n,className:(0,G.Z)(ue.root,N),ownerState:ae,children:[P&&(0,ie.tZ)(fx,{className:ue.arrowSwitcher,leftArrowButtonText:k,rightArrowButtonText:M,components:c,componentsProps:d,onLeftClick:function(){return W(H)},onRightClick:function(){return W($)},isLeftDisabled:!H,isRightDisabled:!$,ownerState:ae}),(0,ie.tZ)(Ub,(0,o.Z)({autoFocus:s,date:f,ampmInClock:l,type:j,ampm:a,getClockLabelText:v,minutesStep:E,isTimeDisabled:ne,meridiemMode:J,handleMeridiemChange:te,selectedId:re},oe))]})})),yx=["disabled","onSelect","selected","value"],bx=(0,re.Z)("PrivatePickersMonth",["root","selected"]),xx=(0,J.ZP)(am)((function(e){var t=e.theme;return(0,o.Z)({flex:"1 0 33.33%",display:"flex",alignItems:"center",justifyContent:"center",color:"unset",backgroundColor:"transparent",border:0,outline:0},t.typography.subtitle1,(0,q.Z)({margin:"8px 0",height:36,borderRadius:18,cursor:"pointer","&:focus, &:hover":{backgroundColor:(0,Q.Fq)(t.palette.action.active,t.palette.action.hoverOpacity)},"&:disabled":{pointerEvents:"none",color:t.palette.text.secondary}},"&.".concat(bx.selected),{color:t.palette.primary.contrastText,backgroundColor:t.palette.primary.main,"&:focus, &:hover":{backgroundColor:t.palette.primary.dark}}))})),Zx=function(e){var t=e.disabled,n=e.onSelect,r=e.selected,i=e.value,a=(0,X.Z)(e,yx),u=function(){n(i)};return(0,ie.tZ)(xx,(0,o.Z)({component:"button",className:(0,G.Z)(bx.root,r&&bx.selected),tabIndex:t?-1:0,onClick:u,onKeyDown:Db(u),color:r?"primary":void 0,variant:r?"h5":"subtitle1",disabled:t},a))};function wx(e){return(0,ne.Z)("MuiMonthPicker",e)}(0,re.Z)("MuiMonthPicker",["root"]);var Dx=["className","date","disabled","disableFuture","disablePast","maxDate","minDate","onChange","onMonthChange","readOnly"],kx=(0,J.ZP)("div",{name:"MuiMonthPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({width:310,display:"flex",flexWrap:"wrap",alignContent:"stretch",margin:"0 4px"}),Sx=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiMonthPicker"}),r=n.className,i=n.date,a=n.disabled,u=n.disableFuture,l=n.disablePast,s=n.maxDate,c=n.minDate,d=n.onChange,f=n.onMonthChange,p=n.readOnly,h=(0,X.Z)(n,Dx),m=n,v=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},wx,t)}(m),g=my(),y=gy(),b=g.getMonth(i||y),x=function(e){var t=g.startOfMonth(l&&g.isAfter(y,c)?y:c),n=g.startOfMonth(u&&g.isBefore(y,s)?y:s),r=g.isBefore(e,t),o=g.isAfter(e,n);return r||o},Z=function(e){if(!p){var t=g.setMonth(i||y,e);d(t,"finish"),f&&f(t)}};return(0,ie.tZ)(kx,(0,o.Z)({ref:t,className:(0,G.Z)(v.root,r),ownerState:m},h,{children:g.getMonthArray(i||y).map((function(e){var t=g.getMonth(e),n=g.format(e,"monthShort");return(0,ie.tZ)(Zx,{value:t,selected:t===b,onSelect:Z,disabled:a||x(e),children:n},n)}))}))})),Cx=function(e,t,n){var r=n.disablePast,o=n.disableFuture,i=n.minDate,a=n.maxDate,u=n.shouldDisableDate,l=e.date(),s=e.date(t);if(null===s)return null;switch(!0){case!e.isValid(t):return"invalidDate";case Boolean(u&&u(s)):return"shouldDisableDate";case Boolean(o&&e.isAfterDay(s,l)):return"disableFuture";case Boolean(r&&e.isBeforeDay(s,l)):return"disablePast";case Boolean(i&&e.isBeforeDay(s,i)):return"minDate";case Boolean(a&&e.isAfterDay(s,a)):return"maxDate";default:return null}},_x=function(e){var n,i=e.date,a=e.defaultCalendarMonth,u=e.disableFuture,l=e.disablePast,s=e.disableSwitchToMonthOnDayFocus,c=void 0!==s&&s,d=e.maxDate,f=e.minDate,p=e.onMonthChange,h=e.reduceAnimations,m=e.shouldDisableDate,v=gy(),g=my(),y=t.useRef(function(e,t,n){return function(r,i){switch(i.type){case"changeMonth":return(0,o.Z)({},r,{slideDirection:i.direction,currentMonth:i.newMonth,isMonthSwitchingAnimating:!e});case"finishMonthSwitchingAnimation":return(0,o.Z)({},r,{isMonthSwitchingAnimating:!1});case"changeFocusedDay":if(null!==r.focusedDay&&n.isSameDay(i.focusedDay,r.focusedDay))return r;var a=Boolean(i.focusedDay)&&!t&&!n.isSameMonth(r.currentMonth,i.focusedDay);return(0,o.Z)({},r,{focusedDay:i.focusedDay,isMonthSwitchingAnimating:a&&!e,currentMonth:a?n.startOfMonth(i.focusedDay):r.currentMonth,slideDirection:n.isAfterDay(i.focusedDay,r.currentMonth)?"left":"right"});default:throw new Error("missing support")}}}(Boolean(h),c,g)).current,b=t.useReducer(y,{isMonthSwitchingAnimating:!1,focusedDay:i||v,currentMonth:g.startOfMonth(null!=(n=null!=i?i:a)?n:v),slideDirection:"left"}),x=(0,r.Z)(b,2),Z=x[0],w=x[1],D=t.useCallback((function(e){w((0,o.Z)({type:"changeMonth"},e)),p&&p(e.newMonth)}),[p]),k=t.useCallback((function(e){var t=null!=e?e:v;g.isSameMonth(t,Z.currentMonth)||D({newMonth:g.startOfMonth(t),direction:g.isAfterDay(t,Z.currentMonth)?"left":"right"})}),[Z.currentMonth,D,v,g]),S=t.useCallback((function(e){return null!==Cx(g,e,{disablePast:l,disableFuture:u,minDate:f,maxDate:d,shouldDisableDate:m})}),[u,l,d,f,m,g]),C=t.useCallback((function(){w({type:"finishMonthSwitchingAnimation"})}),[]),_=t.useCallback((function(e){S(e)||w({type:"changeFocusedDay",focusedDay:e})}),[S]);return{calendarState:Z,changeMonth:k,changeFocusedDay:_,isDateDisabled:S,onMonthSwitchingAnimationEnd:C,handleChangeMonth:D}},Ex=(0,re.Z)("PrivatePickersFadeTransitionGroup",["root"]),Ax=(0,J.ZP)(_e)({display:"block",position:"relative"}),Mx=function(e){var t=e.children,n=e.className,r=e.reduceAnimations,o=e.transKey;return r?t:(0,ie.tZ)(Ax,{className:(0,G.Z)(Ex.root,n),children:(0,ie.tZ)(Sp,{appear:!1,mountOnEnter:!0,unmountOnExit:!0,timeout:{appear:500,enter:250,exit:0},children:t},o)})};function Tx(e){return(0,ne.Z)("MuiPickersDay",e)}var Px=(0,re.Z)("MuiPickersDay",["root","dayWithMargin","dayOutsideMonth","hiddenDaySpacingFiller","today","selected","disabled"]),Rx=["allowSameDateSelection","autoFocus","className","day","disabled","disableHighlightToday","disableMargin","hidden","isAnimating","onClick","onDayFocus","onDaySelect","onFocus","onKeyDown","outsideCurrentMonth","selected","showDaysOutsideCurrentMonth","children","today"],Fx=function(e){var t,n=e.theme,r=e.ownerState;return(0,o.Z)({},n.typography.caption,(t={width:36,height:36,borderRadius:"50%",padding:0,backgroundColor:n.palette.background.paper,color:n.palette.text.primary,"&:hover":{backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity)},"&:focus":(0,q.Z)({backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity)},"&.".concat(Px.selected),{willChange:"background-color",backgroundColor:n.palette.primary.dark})},(0,q.Z)(t,"&.".concat(Px.selected),{color:n.palette.primary.contrastText,backgroundColor:n.palette.primary.main,fontWeight:n.typography.fontWeightMedium,transition:n.transitions.create("background-color",{duration:n.transitions.duration.short}),"&:hover":{willChange:"background-color",backgroundColor:n.palette.primary.dark}}),(0,q.Z)(t,"&.".concat(Px.disabled),{color:n.palette.text.disabled}),t),!r.disableMargin&&{margin:"0 ".concat(2,"px")},r.outsideCurrentMonth&&r.showDaysOutsideCurrentMonth&&{color:n.palette.text.secondary},!r.disableHighlightToday&&r.today&&(0,q.Z)({},"&:not(.".concat(Px.selected,")"),{border:"1px solid ".concat(n.palette.text.secondary)}))},Ox=function(e,t){var n=e.ownerState;return[t.root,!n.disableMargin&&t.dayWithMargin,!n.disableHighlightToday&&n.today&&t.today,!n.outsideCurrentMonth&&n.showDaysOutsideCurrentMonth&&t.dayOutsideMonth,n.outsideCurrentMonth&&!n.showDaysOutsideCurrentMonth&&t.hiddenDaySpacingFiller]},Bx=(0,J.ZP)(at,{name:"MuiPickersDay",slot:"Root",overridesResolver:Ox})(Fx),Ix=(0,J.ZP)("div",{name:"MuiPickersDay",slot:"Root",overridesResolver:Ox})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},Fx({theme:t,ownerState:n}),{visibility:"hidden"})})),Lx=function(){},Nx=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiPickersDay"}),i=r.allowSameDateSelection,a=void 0!==i&&i,u=r.autoFocus,l=void 0!==u&&u,s=r.className,c=r.day,d=r.disabled,f=void 0!==d&&d,p=r.disableHighlightToday,h=void 0!==p&&p,m=r.disableMargin,v=void 0!==m&&m,g=r.isAnimating,y=r.onClick,b=r.onDayFocus,x=void 0===b?Lx:b,Z=r.onDaySelect,w=r.onFocus,D=r.onKeyDown,k=r.outsideCurrentMonth,S=r.selected,C=void 0!==S&&S,_=r.showDaysOutsideCurrentMonth,E=void 0!==_&&_,A=r.children,M=r.today,T=void 0!==M&&M,P=(0,X.Z)(r,Rx),R=(0,o.Z)({},r,{allowSameDateSelection:a,autoFocus:l,disabled:f,disableHighlightToday:h,disableMargin:v,selected:C,showDaysOutsideCurrentMonth:E,today:T}),F=function(e){var t=e.selected,n=e.disableMargin,r=e.disableHighlightToday,o=e.today,i=e.outsideCurrentMonth,a=e.showDaysOutsideCurrentMonth,u=e.classes,l={root:["root",t&&"selected",!n&&"dayWithMargin",!r&&o&&"today",i&&a&&"dayOutsideMonth"],hiddenDaySpacingFiller:["hiddenDaySpacingFiller"]};return(0,K.Z)(l,Tx,u)}(R),O=my(),B=t.useRef(null),I=(0,pe.Z)(B,n);(0,Cl.Z)((function(){!l||f||g||k||B.current.focus()}),[l,f,g,k]);var L=Ot();return k&&!E?(0,ie.tZ)(Ix,{className:(0,G.Z)(F.root,F.hiddenDaySpacingFiller,s),ownerState:R}):(0,ie.tZ)(Bx,(0,o.Z)({className:(0,G.Z)(F.root,s),ownerState:R,ref:I,centerRipple:!0,disabled:f,"aria-label":A?void 0:O.format(c,"fullDate"),tabIndex:C?0:-1,onFocus:function(e){x&&x(c),w&&w(e)},onKeyDown:function(e){switch(void 0!==D&&D(e),e.key){case"ArrowUp":x(O.addDays(c,-7)),e.preventDefault();break;case"ArrowDown":x(O.addDays(c,7)),e.preventDefault();break;case"ArrowLeft":x(O.addDays(c,"ltr"===L.direction?-1:1)),e.preventDefault();break;case"ArrowRight":x(O.addDays(c,"ltr"===L.direction?1:-1)),e.preventDefault();break;case"Home":x(O.startOfWeek(c)),e.preventDefault();break;case"End":x(O.endOfWeek(c)),e.preventDefault();break;case"PageUp":x(O.getNextMonth(c)),e.preventDefault();break;case"PageDown":x(O.getPreviousMonth(c)),e.preventDefault()}},onClick:function(e){!a&&C||(f||Z(c,"finish"),y&&y(e))}},P,{children:A||O.format(c,"dayOfMonth")}))})),zx=function(e,t){return e.autoFocus===t.autoFocus&&e.isAnimating===t.isAnimating&&e.today===t.today&&e.disabled===t.disabled&&e.selected===t.selected&&e.disableMargin===t.disableMargin&&e.showDaysOutsideCurrentMonth===t.showDaysOutsideCurrentMonth&&e.disableHighlightToday===t.disableHighlightToday&&e.className===t.className&&e.outsideCurrentMonth===t.outsideCurrentMonth&&e.onDayFocus===t.onDayFocus&&e.onDaySelect===t.onDaySelect},jx=t.memo(Nx,zx);function Wx(e,t){return e.replace(new RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}var $x=function(e,t){return e&&t&&t.split(" ").forEach((function(t){return r=t,void((n=e).classList?n.classList.remove(r):"string"===typeof n.className?n.className=Wx(n.className,r):n.setAttribute("class",Wx(n.className&&n.className.baseVal||"",r)));var n,r}))},Hx=function(e){function n(){for(var t,n=arguments.length,r=new Array(n),o=0;o *":{position:"absolute",top:0,right:0,left:0}},(0,q.Z)(t,"& .".concat(Ux["slideEnter-left"]),{willChange:"transform",transform:"translate(100%)",zIndex:1}),(0,q.Z)(t,"& .".concat(Ux["slideEnter-right"]),{willChange:"transform",transform:"translate(-100%)",zIndex:1}),(0,q.Z)(t,"& .".concat(Ux.slideEnterActive),{transform:"translate(0%)",transition:n}),(0,q.Z)(t,"& .".concat(Ux.slideExit),{transform:"translate(0%)"}),(0,q.Z)(t,"& .".concat(Ux["slideExitActiveLeft-left"]),{willChange:"transform",transform:"translate(-100%)",transition:n,zIndex:0}),(0,q.Z)(t,"& .".concat(Ux["slideExitActiveLeft-right"]),{willChange:"transform",transform:"translate(100%)",transition:n,zIndex:0}),t})),Xx=(0,J.ZP)("div")({display:"flex",justifyContent:"center",alignItems:"center"}),Gx=(0,J.ZP)(am)((function(e){return{width:36,height:40,margin:"0 2px",textAlign:"center",display:"flex",justifyContent:"center",alignItems:"center",color:e.theme.palette.text.secondary}})),Kx=(0,J.ZP)("div")({display:"flex",justifyContent:"center",alignItems:"center",minHeight:264}),Qx=(0,J.ZP)((function(e){var n=e.children,r=e.className,i=e.reduceAnimations,a=e.slideDirection,u=e.transKey,l=(0,X.Z)(e,Vx);if(i)return(0,ie.tZ)("div",{className:(0,G.Z)(Ux.root,r),children:n});var s={exit:Ux.slideExit,enterActive:Ux.slideEnterActive,enter:Ux["slideEnter-".concat(a)],exitActive:Ux["slideExitActiveLeft-".concat(a)]};return(0,ie.tZ)(qx,{className:(0,G.Z)(Ux.root,r),childFactory:function(e){return t.cloneElement(e,{classNames:s})},children:(0,ie.tZ)(Yx,(0,o.Z)({mountOnEnter:!0,unmountOnExit:!0,timeout:350,classNames:s},l,{children:n}),u)})}))({minHeight:264}),Jx=(0,J.ZP)("div")({overflow:"hidden"}),eZ=(0,J.ZP)("div")({margin:"".concat(2,"px 0"),display:"flex",justifyContent:"center"});function tZ(e){var n=e.allowSameDateSelection,r=e.autoFocus,i=e.onFocusedDayChange,a=e.className,u=e.currentMonth,l=e.date,s=e.disabled,c=e.disableHighlightToday,d=e.focusedDay,f=e.isDateDisabled,p=e.isMonthSwitchingAnimating,h=e.loading,m=e.onChange,v=e.onMonthSwitchingAnimationEnd,g=e.readOnly,y=e.reduceAnimations,b=e.renderDay,x=e.renderLoading,Z=void 0===x?function(){return(0,ie.tZ)("span",{children:"..."})}:x,w=e.showDaysOutsideCurrentMonth,D=e.slideDirection,k=e.TransitionProps,S=gy(),C=my(),_=t.useCallback((function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"finish";if(!g){var n=Array.isArray(l)?e:C.mergeDateAndTime(e,l||S);m(n,t)}}),[l,S,m,g,C]),E=C.getMonth(u),A=(Array.isArray(l)?l:[l]).filter(Boolean).map((function(e){return e&&C.startOfDay(e)})),M=E,T=t.useMemo((function(){return t.createRef()}),[M]);return(0,ie.BX)(t.Fragment,{children:[(0,ie.tZ)(Xx,{children:C.getWeekdays().map((function(e,t){return(0,ie.tZ)(Gx,{"aria-hidden":!0,variant:"caption",children:e.charAt(0).toUpperCase()},e+t.toString())}))}),h?(0,ie.tZ)(Kx,{children:Z()}):(0,ie.tZ)(Qx,(0,o.Z)({transKey:M,onExited:v,reduceAnimations:y,slideDirection:D,className:a},k,{nodeRef:T,children:(0,ie.tZ)(Jx,{ref:T,role:"grid",children:C.getWeekArray(u).map((function(e){return(0,ie.tZ)(eZ,{role:"row",children:e.map((function(e){var t={key:null==e?void 0:e.toString(),day:e,isAnimating:p,disabled:s||f(e),allowSameDateSelection:n,autoFocus:r&&null!==d&&C.isSameDay(e,d),today:C.isSameDay(e,S),outsideCurrentMonth:C.getMonth(e)!==E,selected:A.some((function(t){return t&&C.isSameDay(t,e)})),disableHighlightToday:c,showDaysOutsideCurrentMonth:w,onDayFocus:i,onDaySelect:_};return b?b(e,A,t):(0,ie.tZ)("div",{role:"cell",children:(0,ie.tZ)(jx,(0,o.Z)({},t))},t.key)}))},"week-".concat(e[0]))}))})}))]})}var nZ=(0,J.ZP)("div")({display:"flex",alignItems:"center",marginTop:16,marginBottom:8,paddingLeft:24,paddingRight:12,maxHeight:30,minHeight:30}),rZ=(0,J.ZP)("div")((function(e){var t=e.theme;return(0,o.Z)({display:"flex",maxHeight:30,overflow:"hidden",alignItems:"center",cursor:"pointer",marginRight:"auto"},t.typography.body1,{fontWeight:t.typography.fontWeightMedium})})),oZ=(0,J.ZP)("div")({marginRight:6}),iZ=(0,J.ZP)(pt)({marginRight:"auto"}),aZ=(0,J.ZP)(Ly)((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({willChange:"transform",transition:t.transitions.create("transform"),transform:"rotate(0deg)"},"year"===n.openView&&{transform:"rotate(180deg)"})}));function uZ(e){return"year"===e?"year view is open, switch to calendar view":"calendar view is open, switch to year view"}function lZ(e){var n=e.components,r=void 0===n?{}:n,i=e.componentsProps,a=void 0===i?{}:i,u=e.currentMonth,l=e.disabled,s=e.disableFuture,c=e.disablePast,d=e.getViewSwitchingButtonText,f=void 0===d?uZ:d,p=e.leftArrowButtonText,h=void 0===p?"Previous month":p,m=e.maxDate,v=e.minDate,g=e.onMonthChange,y=e.onViewChange,b=e.openView,x=e.reduceAnimations,Z=e.rightArrowButtonText,w=void 0===Z?"Next month":Z,D=e.views,k=my(),S=a.switchViewButton||{},C=function(e,n){var r=n.disableFuture,o=n.maxDate,i=my();return t.useMemo((function(){var t=i.date(),n=i.startOfMonth(r&&i.isBefore(t,o)?t:o);return!i.isAfter(n,e)}),[r,o,e,i])}(u,{disableFuture:s||l,maxDate:m}),_=function(e,n){var r=n.disablePast,o=n.minDate,i=my();return t.useMemo((function(){var t=i.date(),n=i.startOfMonth(r&&i.isAfter(t,o)?t:o);return!i.isBefore(n,e)}),[r,o,e,i])}(u,{disablePast:c||l,minDate:v});if(1===D.length&&"year"===D[0])return null;var E=e;return(0,ie.BX)(nZ,{ownerState:E,children:[(0,ie.BX)(rZ,{role:"presentation",onClick:function(){if(1!==D.length&&y&&!l)if(2===D.length)y(D.find((function(e){return e!==b}))||D[0]);else{var e=0!==D.indexOf(b)?0:1;y(D[e])}},ownerState:E,children:[(0,ie.tZ)(Mx,{reduceAnimations:x,transKey:k.format(u,"month"),children:(0,ie.tZ)(oZ,{"aria-live":"polite",ownerState:E,children:k.format(u,"month")})}),(0,ie.tZ)(Mx,{reduceAnimations:x,transKey:k.format(u,"year"),children:(0,ie.tZ)(oZ,{"aria-live":"polite",ownerState:E,children:k.format(u,"year")})}),D.length>1&&!l&&(0,ie.tZ)(iZ,(0,o.Z)({size:"small",as:r.SwitchViewButton,"aria-label":f(b)},S,{children:(0,ie.tZ)(aZ,{as:r.SwitchViewIcon,ownerState:E})}))]}),(0,ie.tZ)(Sp,{in:"day"===b,children:(0,ie.tZ)(ox,{leftArrowButtonText:h,rightArrowButtonText:w,components:r,componentsProps:a,onLeftClick:function(){return g(k.getPreviousMonth(u),"right")},onRightClick:function(){return g(k.getNextMonth(u),"left")},isLeftDisabled:_,isRightDisabled:C})})]})}function sZ(e){return(0,ne.Z)("PrivatePickersYear",e)}var cZ=(0,re.Z)("PrivatePickersYear",["root","modeMobile","modeDesktop","yearButton","disabled","selected"]),dZ=(0,J.ZP)("div")((function(e){var t=e.ownerState;return(0,o.Z)({flexBasis:"33.3%",display:"flex",alignItems:"center",justifyContent:"center"},"desktop"===(null==t?void 0:t.wrapperVariant)&&{flexBasis:"25%"})})),fZ=(0,J.ZP)("button")((function(e){var t,n=e.theme;return(0,o.Z)({color:"unset",backgroundColor:"transparent",border:0,outline:0},n.typography.subtitle1,(t={margin:"8px 0",height:36,width:72,borderRadius:18,cursor:"pointer","&:focus, &:hover":{backgroundColor:(0,Q.Fq)(n.palette.action.active,n.palette.action.hoverOpacity)}},(0,q.Z)(t,"&.".concat(cZ.disabled),{color:n.palette.text.secondary}),(0,q.Z)(t,"&.".concat(cZ.selected),{color:n.palette.primary.contrastText,backgroundColor:n.palette.primary.main,"&:focus, &:hover":{backgroundColor:n.palette.primary.dark}}),t))})),pZ=t.forwardRef((function(e,n){var r=e.autoFocus,i=e.className,a=e.children,u=e.disabled,l=e.onClick,s=e.onKeyDown,c=e.selected,d=e.value,f=t.useRef(null),p=(0,pe.Z)(f,n),h=t.useContext(tb),m=(0,o.Z)({},e,{wrapperVariant:h}),v=function(e){var t=e.wrapperVariant,n=e.disabled,r=e.selected,o=e.classes,i={root:["root",t&&"mode".concat((0,te.Z)(t))],yearButton:["yearButton",n&&"disabled",r&&"selected"]};return(0,K.Z)(i,sZ,o)}(m);return t.useEffect((function(){r&&f.current.focus()}),[r]),(0,ie.tZ)(dZ,{className:(0,G.Z)(v.root,i),ownerState:m,children:(0,ie.tZ)(fZ,{ref:p,disabled:u,type:"button",tabIndex:c?0:-1,onClick:function(e){return l(e,d)},onKeyDown:function(e){return s(e,d)},className:v.yearButton,ownerState:m,children:a})})})),hZ=function(e){var t=e.date,n=e.disableFuture,r=e.disablePast,o=e.maxDate,i=e.minDate,a=e.shouldDisableDate,u=e.utils,l=u.startOfDay(u.date());r&&u.isBefore(i,l)&&(i=l),n&&u.isAfter(o,l)&&(o=l);var s=t,c=t;for(u.isBefore(t,i)&&(s=u.date(i),c=null),u.isAfter(t,o)&&(c&&(c=u.date(o)),s=null);s||c;){if(s&&u.isAfter(s,o)&&(s=null),c&&u.isBefore(c,i)&&(c=null),s){if(!a(s))return s;s=u.addDays(s,1)}if(c){if(!a(c))return c;c=u.addDays(c,-1)}}return l},mZ=function(e,t){var n=e.date(t);return e.isValid(n)?n:null};function vZ(e){return(0,ne.Z)("MuiYearPicker",e)}(0,re.Z)("MuiYearPicker",["root"]);var gZ=(0,J.ZP)("div",{name:"MuiYearPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"flex",flexDirection:"row",flexWrap:"wrap",overflowY:"auto",height:"100%",margin:"0 4px"}),yZ=t.forwardRef((function(e,n){var o=(0,ee.Z)({props:e,name:"MuiYearPicker"}),i=o.autoFocus,a=o.className,u=o.date,l=o.disabled,s=o.disableFuture,c=o.disablePast,d=o.isDateDisabled,f=o.maxDate,p=o.minDate,h=o.onChange,m=o.onFocusedDayChange,v=o.onYearChange,g=o.readOnly,y=o.shouldDisableYear,b=o,x=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},vZ,t)}(b),Z=gy(),w=Ot(),D=my(),k=u||Z,S=D.getYear(k),C=t.useContext(tb),_=t.useRef(null),E=t.useState(S),A=(0,r.Z)(E,2),M=A[0],T=A[1],P=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"finish";if(!g){var r=function(e){h(e,n),m&&m(e||Z),v&&v(e)},o=D.setYear(k,t);if(d(o)){var i=hZ({utils:D,date:o,minDate:p,maxDate:f,disablePast:Boolean(c),disableFuture:Boolean(s),shouldDisableDate:d});r(i||Z)}else r(o)}},R=t.useCallback((function(e){d(D.setYear(k,e))||T(e)}),[k,d,D]),F="desktop"===C?4:3,O=function(e,t){switch(e.key){case"ArrowUp":R(t-F),e.preventDefault();break;case"ArrowDown":R(t+F),e.preventDefault();break;case"ArrowLeft":R(t+("ltr"===w.direction?-1:1)),e.preventDefault();break;case"ArrowRight":R(t+("ltr"===w.direction?1:-1)),e.preventDefault()}};return(0,ie.tZ)(gZ,{ref:n,className:(0,G.Z)(x.root,a),ownerState:b,children:D.getYearRange(p,f).map((function(e){var t=D.getYear(e),n=t===S;return(0,ie.tZ)(pZ,{selected:n,value:t,onClick:P,onKeyDown:O,autoFocus:i&&t===M,ref:n?_:void 0,disabled:l||c&&D.isBeforeYear(e,Z)||s&&D.isAfterYear(e,Z)||y&&y(e),children:D.format(e,"year")},D.format(e,"year"))}))})})),bZ="undefined"!==typeof navigator&&/(android)/i.test(navigator.userAgent),xZ=function(e){return(0,ne.Z)("MuiCalendarPicker",e)},ZZ=((0,re.Z)("MuiCalendarPicker",["root","viewTransitionContainer"]),["autoFocus","onViewChange","date","disableFuture","disablePast","defaultCalendarMonth","loading","maxDate","minDate","onChange","onMonthChange","reduceAnimations","renderLoading","shouldDisableDate","shouldDisableYear","view","views","openTo","className"]),wZ=(0,J.ZP)(cx,{name:"MuiCalendarPicker",slot:"Root",overridesResolver:function(e,t){return t.root}})({display:"flex",flexDirection:"column"}),DZ=(0,J.ZP)(Mx,{name:"MuiCalendarPicker",slot:"ViewTransitionContainer",overridesResolver:function(e,t){return t.viewTransitionContainer}})({overflowY:"auto"}),kZ=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiCalendarPicker"}),i=r.autoFocus,a=r.onViewChange,u=r.date,l=r.disableFuture,s=void 0!==l&&l,c=r.disablePast,d=void 0!==c&&c,f=r.defaultCalendarMonth,p=r.loading,h=void 0!==p&&p,m=r.maxDate,v=r.minDate,g=r.onChange,y=r.onMonthChange,b=r.reduceAnimations,x=void 0===b?bZ:b,Z=r.renderLoading,w=void 0===Z?function(){return(0,ie.tZ)("span",{children:"..."})}:Z,D=r.shouldDisableDate,k=r.shouldDisableYear,S=r.view,C=r.views,_=void 0===C?["year","day"]:C,E=r.openTo,A=void 0===E?"day":E,M=r.className,T=(0,X.Z)(r,ZZ),P=my(),R=vy(),F=null!=v?v:R.minDate,O=null!=m?m:R.maxDate,B=Cb({view:S,views:_,openTo:A,onChange:g,onViewChange:a}),I=B.openView,L=B.setOpenView,N=_x({date:u,defaultCalendarMonth:f,reduceAnimations:x,onMonthChange:y,minDate:F,maxDate:O,shouldDisableDate:D,disablePast:d,disableFuture:s}),z=N.calendarState,j=N.changeFocusedDay,W=N.changeMonth,$=N.isDateDisabled,H=N.handleChangeMonth,Y=N.onMonthSwitchingAnimationEnd;t.useEffect((function(){if(u&&$(u)){var e=hZ({utils:P,date:u,minDate:F,maxDate:O,disablePast:d,disableFuture:s,shouldDisableDate:$});g(e,"partial")}}),[]),t.useEffect((function(){u&&W(u)}),[u]);var V=r,U=function(e){var t=e.classes;return(0,K.Z)({root:["root"],viewTransitionContainer:["viewTransitionContainer"]},xZ,t)}(V),q={className:M,date:u,disabled:T.disabled,disablePast:d,disableFuture:s,onChange:g,minDate:F,maxDate:O,onMonthChange:y,readOnly:T.readOnly};return(0,ie.BX)(wZ,{ref:n,className:(0,G.Z)(U.root,M),ownerState:V,children:[(0,ie.tZ)(lZ,(0,o.Z)({},T,{views:_,openView:I,currentMonth:z.currentMonth,onViewChange:L,onMonthChange:function(e,t){return H({newMonth:e,direction:t})},minDate:F,maxDate:O,disablePast:d,disableFuture:s,reduceAnimations:x})),(0,ie.tZ)(DZ,{reduceAnimations:x,className:U.viewTransitionContainer,transKey:I,ownerState:V,children:(0,ie.BX)("div",{children:["year"===I&&(0,ie.tZ)(yZ,(0,o.Z)({},T,{autoFocus:i,date:u,onChange:g,minDate:F,maxDate:O,disableFuture:s,disablePast:d,isDateDisabled:$,shouldDisableYear:k,onFocusedDayChange:j})),"month"===I&&(0,ie.tZ)(Sx,(0,o.Z)({},q)),"day"===I&&(0,ie.tZ)(tZ,(0,o.Z)({},T,z,{autoFocus:i,onMonthSwitchingAnimationEnd:Y,onFocusedDayChange:j,reduceAnimations:x,date:u,onChange:g,isDateDisabled:$,loading:h,renderLoading:w}))]})})]})}));function SZ(e){return(0,ne.Z)("MuiInputAdornment",e)}var CZ,_Z=(0,re.Z)("MuiInputAdornment",["root","filled","standard","outlined","positionStart","positionEnd","disablePointerEvents","hiddenLabel","sizeSmall"]),EZ=["children","className","component","disablePointerEvents","disableTypography","position","variant"],AZ=(0,J.ZP)("div",{name:"MuiInputAdornment",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t["position".concat((0,te.Z)(n.position))],!0===n.disablePointerEvents&&t.disablePointerEvents,t[n.variant]]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",height:"0.01em",maxHeight:"2em",alignItems:"center",whiteSpace:"nowrap",color:t.palette.action.active},"filled"===n.variant&&(0,q.Z)({},"&.".concat(_Z.positionStart,"&:not(.").concat(_Z.hiddenLabel,")"),{marginTop:16}),"start"===n.position&&{marginRight:8},"end"===n.position&&{marginLeft:8},!0===n.disablePointerEvents&&{pointerEvents:"none"})})),MZ=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiInputAdornment"}),i=r.children,a=r.className,u=r.component,l=void 0===u?"div":u,s=r.disablePointerEvents,c=void 0!==s&&s,d=r.disableTypography,f=void 0!==d&&d,p=r.position,h=r.variant,m=(0,X.Z)(r,EZ),v=_d()||{},g=h;h&&v.variant,v&&!g&&(g=v.variant);var y=(0,o.Z)({},r,{hiddenLabel:v.hiddenLabel,size:v.size,disablePointerEvents:c,position:p,variant:g}),b=function(e){var t=e.classes,n=e.disablePointerEvents,r=e.hiddenLabel,o=e.position,i=e.size,a=e.variant,u={root:["root",n&&"disablePointerEvents",o&&"position".concat((0,te.Z)(o)),a,r&&"hiddenLabel",i&&"size".concat((0,te.Z)(i))]};return(0,K.Z)(u,SZ,t)}(y);return(0,ie.tZ)(Cd.Provider,{value:null,children:(0,ie.tZ)(AZ,(0,o.Z)({as:l,ownerState:y,className:(0,G.Z)(b.root,a),ref:n},m,{children:"string"!==typeof i||f?(0,ie.BX)(t.Fragment,{children:["start"===p?CZ||(CZ=(0,ie.tZ)("span",{className:"notranslate",children:"\u200b"})):null,i]}):(0,ie.tZ)(am,{color:"text.secondary",children:i})}))})})),TZ=MZ,PZ=function(e){var n=(0,t.useReducer)((function(e){return e+1}),0),o=(0,r.Z)(n,2)[1],i=(0,t.useRef)(null),a=e.replace,u=e.append,l=a?a(e.format(e.value)):e.format(e.value),s=(0,t.useRef)(!1);return(0,t.useLayoutEffect)((function(){if(null!=i.current){var t=(0,r.Z)(i.current,5),n=t[0],s=t[1],c=t[2],d=t[3],f=t[4];i.current=null;var p=d&&f,h=n.slice(s.selectionStart).search(e.accept||/\d/g),m=-1!==h?h:0,v=function(t){return(t.match(e.accept||/\d/g)||[]).join("")},g=v(n.substr(0,s.selectionStart)),y=function(e){for(var t=0,n=0,r=0;r!==g.length;++r){var o=e.indexOf(g[r],t)+1,i=v(e).indexOf(g[r],n)+1;i-n>1&&(o=t,i=n),n=Math.max(i,n),t=Math.max(t,o)}return t};if(!0===e.mask&&c&&!f){var b=y(n),x=v(n.substr(b))[0];b=n.indexOf(x,b),n="".concat(n.substr(0,b)).concat(n.substr(b+1))}var Z=e.format(n);null==u||s.selectionStart!==n.length||f||(c?Z=u(Z):""===v(Z.slice(-1))&&(Z=Z.slice(0,-1)));var w=a?a(Z):Z;return l===w?o():e.onChange(w),function(){var t=y(Z);if(null!=e.mask&&(c||d&&!p))for(;Z[t]&&""===v(Z[t]);)t+=1;s.selectionStart=s.selectionEnd=t+(p?1+m:0)}}})),(0,t.useEffect)((function(){var e=function(e){"Delete"===e.code&&(s.current=!0)},t=function(e){"Delete"===e.code&&(s.current=!1)};return document.addEventListener("keydown",e),document.addEventListener("keyup",t),function(){document.removeEventListener("keydown",e),document.removeEventListener("keyup",t)}}),[]),{value:null!=i.current?i.current[0]:l,onChange:function(t){var n=t.target.value;i.current=[n,t.target,n.length>l.length,s.current,l===e.format(n)],o()}}},RZ=["components","disableOpenPicker","getOpenDialogAriaText","InputAdornmentProps","InputProps","inputRef","openPicker","OpenPickerButtonProps","renderInput"],FZ=t.forwardRef((function(e,n){var i=e.components,a=void 0===i?{}:i,u=e.disableOpenPicker,l=e.getOpenDialogAriaText,s=void 0===l?yy:l,c=e.InputAdornmentProps,d=e.InputProps,f=e.inputRef,p=e.openPicker,h=e.OpenPickerButtonProps,m=e.renderInput,v=(0,X.Z)(e,RZ),g=my(),y=function(e){var n=e.acceptRegex,i=void 0===n?/[\d]/gi:n,a=e.disabled,u=e.disableMaskedInput,l=e.ignoreInvalidInputs,s=e.inputFormat,c=e.inputProps,d=e.label,f=e.mask,p=e.onChange,h=e.rawValue,m=e.readOnly,v=e.rifmFormatter,g=e.TextFieldProps,y=e.validationError,b=my(),x=t.useState(!1),Z=(0,r.Z)(x,2),w=Z[0],D=Z[1],k=b.getFormatHelperText(s),S=t.useMemo((function(){return!(!f||u)&&function(e,t,n,r){var o=r.formatByString(r.date("2019-01-01T09:00:00.000"),t).replace(n,"_"),i=r.formatByString(r.date("2019-11-21T22:30:00.000"),t).replace(n,"_")===e&&o===e;return!i&&r.lib,i}(f,s,i,b)}),[i,u,s,f,b]),C=t.useMemo((function(){return S&&f?function(e,t){return function(n){return n.split("").map((function(r,o){if(t.lastIndex=0,o>e.length-1)return"";var i=e[o],a=e[o+1],u=t.test(r)?r:"",l="_"===i?u:i+u;return o===n.length-1&&a&&"_"!==a?l?l+a:"":l})).join("")}}(f,i):function(e){return e}}),[i,f,S]),_=by(b,h,s),E=t.useState(_),A=(0,r.Z)(E,2),M=A[0],T=A[1],P=t.useRef(_);t.useEffect((function(){P.current=_}),[_]);var R=!w,F=P.current!==_;R&&F&&(null===h||b.isValid(h))&&_!==M&&T(_);var O=function(e){var t=""===e||e===f?"":e;T(t);var n=null===t?null:b.parse(t,s);l&&!b.isValid(n)||p(n,t||void 0)},B=PZ({value:M,onChange:O,format:v||C}),I=S?B:{value:M,onChange:function(e){O(e.currentTarget.value)}};return(0,o.Z)({label:d,disabled:a,error:y,inputProps:(0,o.Z)({},I,{disabled:a,placeholder:k,readOnly:m,type:S?"tel":"text"},c,{onFocus:Sb((function(){D(!0)}),null==c?void 0:c.onFocus),onBlur:Sb((function(){D(!1)}),null==c?void 0:c.onBlur)})},g)}(v),b=(null==c?void 0:c.position)||"end",x=a.OpenPickerIcon||jy;return m((0,o.Z)({ref:n,inputRef:f},y,{InputProps:(0,o.Z)({},d,(0,q.Z)({},"".concat(b,"Adornment"),u?void 0:(0,ie.tZ)(TZ,(0,o.Z)({position:b},c,{children:(0,ie.tZ)(pt,(0,o.Z)({edge:b,disabled:v.disabled||v.readOnly,"aria-label":s(v.rawValue,g)},h,{onClick:p,children:(0,ie.tZ)(x,{})}))}))))}))}));function OZ(){return"undefined"===typeof window?"portrait":window.screen&&window.screen.orientation&&window.screen.orientation.angle?90===Math.abs(window.screen.orientation.angle)?"landscape":"portrait":window.orientation&&90===Math.abs(Number(window.orientation))?"landscape":"portrait"}var BZ=["autoFocus","className","date","DateInputProps","isMobileKeyboardViewOpen","onDateChange","onViewChange","openTo","orientation","showToolbar","toggleMobileKeyboardView","ToolbarComponent","toolbarFormat","toolbarPlaceholder","toolbarTitle","views"],IZ=(0,J.ZP)("div")({padding:"16px 24px"}),LZ=(0,J.ZP)("div")((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",flexDirection:"column"},t.isLandscape&&{flexDirection:"row"})})),NZ={fullWidth:!0},zZ=function(e){return"year"===e||"month"===e||"day"===e},jZ=function(e){return"hours"===e||"minutes"===e||"seconds"===e};function WZ(e){var n=e.autoFocus,i=e.date,a=e.DateInputProps,u=e.isMobileKeyboardViewOpen,l=e.onDateChange,s=e.onViewChange,c=e.openTo,d=e.orientation,f=e.showToolbar,p=e.toggleMobileKeyboardView,h=e.ToolbarComponent,m=void 0===h?function(){return null}:h,v=e.toolbarFormat,g=e.toolbarPlaceholder,y=e.toolbarTitle,b=e.views,x=(0,X.Z)(e,BZ),Z=function(e,n){var o=t.useState(OZ),i=(0,r.Z)(o,2),a=i[0],u=i[1];return(0,Cl.Z)((function(){var e=function(){u(OZ())};return window.addEventListener("orientationchange",e),function(){window.removeEventListener("orientationchange",e)}}),[]),!wb(e,["hours","minutes","seconds"])&&"landscape"===(n||a)}(b,d),w=t.useContext(tb),D="undefined"===typeof f?"desktop"!==w:f,k=t.useCallback((function(e,t){l(e,w,t)}),[l,w]),S=Cb({view:void 0,views:b,openTo:c,onChange:k,onViewChange:t.useCallback((function(e){u&&p(),s&&s(e)}),[u,s,p])}),C=S.openView,_=S.setOpenView,E=S.handleChangeAndOpenNext;return(0,ie.BX)(LZ,{ownerState:{isLandscape:Z},children:[D&&(0,ie.tZ)(m,(0,o.Z)({},x,{views:b,isLandscape:Z,date:i,onChange:k,setOpenView:_,openView:C,toolbarTitle:y,toolbarFormat:v,toolbarPlaceholder:g,isMobileKeyboardViewOpen:u,toggleMobileKeyboardView:p})),(0,ie.tZ)(cx,{children:u?(0,ie.tZ)(IZ,{children:(0,ie.tZ)(FZ,(0,o.Z)({},a,{ignoreInvalidInputs:!0,disableOpenPicker:!0,TextFieldProps:NZ}))}):(0,ie.BX)(t.Fragment,{children:[zZ(C)&&(0,ie.tZ)(kZ,(0,o.Z)({autoFocus:n,date:i,onViewChange:_,onChange:E,view:C,views:b.filter(zZ)},x)),jZ(C)&&(0,ie.tZ)(gx,(0,o.Z)({},x,{autoFocus:n,date:i,view:C,views:b.filter(jZ),onChange:E,onViewChange:_,showViewSwitcher:"desktop"===w}))]})})]})}var $Z=function(e,t,n){var r=n.minTime,o=n.maxTime,i=n.shouldDisableTime,a=n.disableIgnoringDatePartForTimeValidation,u=e.date(t),l=ux(Boolean(a),e);if(null===t)return null;switch(!0){case!e.isValid(t):return"invalidDate";case Boolean(r&&l(r,u)):return"minTime";case Boolean(o&&l(u,o)):return"maxTime";case Boolean(i&&i(e.getHours(u),"hours")):return"shouldDisableTime-hours";case Boolean(i&&i(e.getMinutes(u),"minutes")):return"shouldDisableTime-minutes";case Boolean(i&&i(e.getSeconds(u),"seconds")):return"shouldDisableTime-seconds";default:return null}},HZ=["minDate","maxDate","disableFuture","shouldDisableDate","disablePast"],YZ=function(e,t,n){var r=n.minDate,o=n.maxDate,i=n.disableFuture,a=n.shouldDisableDate,u=n.disablePast,l=(0,X.Z)(n,HZ),s=Cx(e,t,{minDate:r,maxDate:o,disableFuture:i,shouldDisableDate:a,disablePast:u});return null!==s?s:$Z(e,t,l)},VZ=function(e,t){return e===t};function UZ(e){return function(e,n,r){var o=e.value,i=e.onError,a=my(),u=t.useRef(null),l=n(a,o,e);return t.useEffect((function(){i&&!r(l,u.current)&&i(l,o),u.current=l}),[r,i,u,l,o]),l}(e,YZ,VZ)}var qZ=function(e,n){var i=e.disableCloseOnSelect,a=e.onAccept,u=e.onChange,l=e.value,s=my(),c=function(e){var n=e.open,o=e.onOpen,i=e.onClose,a=t.useRef("boolean"===typeof n).current,u=t.useState(!1),l=(0,r.Z)(u,2),s=l[0],c=l[1];return t.useEffect((function(){if(a){if("boolean"!==typeof n)throw new Error("You must not mix controlling and uncontrolled mode for `open` prop");c(n)}}),[a,n]),{isOpen:s,setIsOpen:t.useCallback((function(e){a||c(e),e&&o&&o(),!e&&i&&i()}),[a,o,i])}}(e),d=c.isOpen,f=c.setIsOpen;function p(e){return{committed:e,draft:e}}var h=n.parseInput(s,l),m=t.useReducer((function(e,t){switch(t.type){case"reset":return p(t.payload);case"update":return(0,o.Z)({},e,{draft:t.payload});default:return e}}),h,p),v=(0,r.Z)(m,2),g=v[0],y=v[1];n.areValuesEqual(s,g.committed,h)||y({type:"reset",payload:h});var b=t.useState(g.committed),x=(0,r.Z)(b,2),Z=x[0],w=x[1],D=t.useState(!1),k=(0,r.Z)(D,2),S=k[0],C=k[1],_=t.useCallback((function(e,t){u(e),t&&(f(!1),w(e),a&&a(e))}),[a,u,f]),E=t.useMemo((function(){return{open:d,onClear:function(){return _(n.emptyValue,!0)},onAccept:function(){return _(g.draft,!0)},onDismiss:function(){return _(Z,!0)},onSetToday:function(){var e=s.date();y({type:"update",payload:e}),_(e,!i)}}}),[_,i,d,s,g.draft,n.emptyValue,Z]),A=t.useMemo((function(){return{date:g.draft,isMobileKeyboardViewOpen:S,toggleMobileKeyboardView:function(){return C(!S)},onDateChange:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"partial";if(y({type:"update",payload:e}),"partial"===n&&_(e,!1),"finish"===n){var r=!(null!=i?i:"mobile"===t);_(e,r)}}}}),[_,i,S,g.draft]),M={pickerProps:A,inputProps:t.useMemo((function(){return{onChange:u,open:d,rawValue:l,openPicker:function(){return f(!0)}}}),[u,d,l,f]),wrapperProps:E};return t.useDebugValue(M,(function(){return{MuiPickerState:{pickerDraft:g,other:M}}})),M},XZ=["onChange","PopperProps","ToolbarComponent","TransitionComponent","value"],GZ={emptyValue:null,parseInput:mZ,areValuesEqual:function(e,t,n){return e.isEqual(t,n)}},KZ=t.forwardRef((function(e,t){var n=wy(e,"MuiDesktopDateTimePicker"),r=null!==UZ(n),i=qZ(n,GZ),a=i.pickerProps,u=i.inputProps,l=i.wrapperProps,s=n.PopperProps,c=n.ToolbarComponent,d=void 0===c?cb:c,f=n.TransitionComponent,p=(0,X.Z)(n,XZ),h=(0,o.Z)({},u,p,{ref:t,validationError:r});return(0,ie.tZ)(Zb,(0,o.Z)({},l,{DateInputProps:h,KeyboardDateInputComponent:FZ,PopperProps:s,TransitionComponent:f,children:(0,ie.tZ)(WZ,(0,o.Z)({},a,{autoFocus:!0,toolbarTitle:n.label||n.toolbarTitle,ToolbarComponent:d,DateInputProps:h},p))}))}));function QZ(e){return(0,ne.Z)("MuiDialogContent",e)}(0,re.Z)("MuiDialogContent",["root","dividers"]);var JZ=(0,re.Z)("MuiDialogTitle",["root"]),ew=["className","dividers"],tw=(0,J.ZP)("div",{name:"MuiDialogContent",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.dividers&&t.dividers]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({flex:"1 1 auto",WebkitOverflowScrolling:"touch",overflowY:"auto",padding:"20px 24px"},n.dividers?{padding:"16px 24px",borderTop:"1px solid ".concat(t.palette.divider),borderBottom:"1px solid ".concat(t.palette.divider)}:(0,q.Z)({},".".concat(JZ.root," + &"),{paddingTop:0}))})),nw=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDialogContent"}),r=n.className,i=n.dividers,a=void 0!==i&&i,u=(0,X.Z)(n,ew),l=(0,o.Z)({},n,{dividers:a}),s=function(e){var t=e.classes,n={root:["root",e.dividers&&"dividers"]};return(0,K.Z)(n,QZ,t)}(l);return(0,ie.tZ)(tw,(0,o.Z)({className:(0,G.Z)(s.root,r),ownerState:l,ref:t},u))})),rw=nw;function ow(e){return(0,ne.Z)("MuiDialog",e)}var iw=(0,re.Z)("MuiDialog",["root","scrollPaper","scrollBody","container","paper","paperScrollPaper","paperScrollBody","paperWidthFalse","paperWidthXs","paperWidthSm","paperWidthMd","paperWidthLg","paperWidthXl","paperFullWidth","paperFullScreen"]);var aw,uw=(0,t.createContext)({}),lw=["aria-describedby","aria-labelledby","BackdropComponent","BackdropProps","children","className","disableEscapeKeyDown","fullScreen","fullWidth","maxWidth","onBackdropClick","onClose","open","PaperComponent","PaperProps","scroll","TransitionComponent","transitionDuration","TransitionProps"],sw=(0,J.ZP)(Mp,{name:"MuiDialog",slot:"Backdrop",overrides:function(e,t){return t.backdrop}})({zIndex:-1}),cw=(0,J.ZP)(Op,{name:"MuiDialog",slot:"Root",overridesResolver:function(e,t){return t.root}})({"@media print":{position:"absolute !important"}}),dw=(0,J.ZP)("div",{name:"MuiDialog",slot:"Container",overridesResolver:function(e,t){var n=e.ownerState;return[t.container,t["scroll".concat((0,te.Z)(n.scroll))]]}})((function(e){var t=e.ownerState;return(0,o.Z)({height:"100%","@media print":{height:"auto"},outline:0},"paper"===t.scroll&&{display:"flex",justifyContent:"center",alignItems:"center"},"body"===t.scroll&&{overflowY:"auto",overflowX:"hidden",textAlign:"center","&:after":{content:'""',display:"inline-block",verticalAlign:"middle",height:"100%",width:"0"}})})),fw=(0,J.ZP)(ce,{name:"MuiDialog",slot:"Paper",overridesResolver:function(e,t){var n=e.ownerState;return[t.paper,t["scrollPaper".concat((0,te.Z)(n.scroll))],t["paperWidth".concat((0,te.Z)(String(n.maxWidth)))],n.fullWidth&&t.paperFullWidth,n.fullScreen&&t.paperFullScreen]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({margin:32,position:"relative",overflowY:"auto","@media print":{overflowY:"visible",boxShadow:"none"}},"paper"===n.scroll&&{display:"flex",flexDirection:"column",maxHeight:"calc(100% - 64px)"},"body"===n.scroll&&{display:"inline-block",verticalAlign:"middle",textAlign:"left"},!n.maxWidth&&{maxWidth:"calc(100% - 64px)"},"xs"===n.maxWidth&&(0,q.Z)({maxWidth:"px"===t.breakpoints.unit?Math.max(t.breakpoints.values.xs,444):"".concat(t.breakpoints.values.xs).concat(t.breakpoints.unit)},"&.".concat(iw.paperScrollBody),(0,q.Z)({},t.breakpoints.down(Math.max(t.breakpoints.values.xs,444)+64),{maxWidth:"calc(100% - 64px)"})),"xs"!==n.maxWidth&&(0,q.Z)({maxWidth:"".concat(t.breakpoints.values[n.maxWidth]).concat(t.breakpoints.unit)},"&.".concat(iw.paperScrollBody),(0,q.Z)({},t.breakpoints.down(t.breakpoints.values[n.maxWidth]+64),{maxWidth:"calc(100% - 64px)"})),n.fullWidth&&{width:"calc(100% - 64px)"},n.fullScreen&&(0,q.Z)({margin:0,width:"100%",maxWidth:"100%",height:"100%",maxHeight:"none",borderRadius:0},"&.".concat(iw.paperScrollBody),{margin:0,maxWidth:"100%"}))})),pw=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiDialog"}),i=Ot(),a={enter:i.transitions.duration.enteringScreen,exit:i.transitions.duration.leavingScreen},u=r["aria-describedby"],l=r["aria-labelledby"],s=r.BackdropComponent,c=r.BackdropProps,d=r.children,f=r.className,p=r.disableEscapeKeyDown,h=void 0!==p&&p,m=r.fullScreen,v=void 0!==m&&m,g=r.fullWidth,y=void 0!==g&&g,b=r.maxWidth,x=void 0===b?"sm":b,Z=r.onBackdropClick,w=r.onClose,D=r.open,k=r.PaperComponent,S=void 0===k?ce:k,C=r.PaperProps,_=void 0===C?{}:C,E=r.scroll,A=void 0===E?"paper":E,M=r.TransitionComponent,T=void 0===M?Sp:M,P=r.transitionDuration,R=void 0===P?a:P,F=r.TransitionProps,O=(0,X.Z)(r,lw),B=(0,o.Z)({},r,{disableEscapeKeyDown:h,fullScreen:v,fullWidth:y,maxWidth:x,scroll:A}),I=function(e){var t=e.classes,n=e.scroll,r=e.maxWidth,o=e.fullWidth,i=e.fullScreen,a={root:["root"],container:["container","scroll".concat((0,te.Z)(n))],paper:["paper","paperScroll".concat((0,te.Z)(n)),"paperWidth".concat((0,te.Z)(String(r))),o&&"paperFullWidth",i&&"paperFullScreen"]};return(0,K.Z)(a,ow,t)}(B),L=t.useRef(),N=(0,vd.Z)(l),z=t.useMemo((function(){return{titleId:N}}),[N]);return(0,ie.tZ)(cw,(0,o.Z)({className:(0,G.Z)(I.root,f),BackdropProps:(0,o.Z)({transitionDuration:R,as:s},c),closeAfterTransition:!0,BackdropComponent:sw,disableEscapeKeyDown:h,onClose:w,open:D,ref:n,onClick:function(e){L.current&&(L.current=null,Z&&Z(e),w&&w(e,"backdropClick"))},ownerState:B},O,{children:(0,ie.tZ)(T,(0,o.Z)({appear:!0,in:D,timeout:R,role:"presentation"},F,{children:(0,ie.tZ)(dw,{className:(0,G.Z)(I.container),onMouseDown:function(e){L.current=e.target===e.currentTarget},ownerState:B,children:(0,ie.tZ)(fw,(0,o.Z)({as:S,elevation:24,role:"dialog","aria-describedby":u,"aria-labelledby":N},_,{className:(0,G.Z)(I.paper,_.className),ownerState:B,children:(0,ie.tZ)(uw.Provider,{value:z,children:d})}))})}))}))})),hw=pw,mw=(0,J.ZP)(hw)((aw={},(0,q.Z)(aw,"& .".concat(iw.container),{outline:0}),(0,q.Z)(aw,"& .".concat(iw.paper),{outline:0,minWidth:320}),aw)),vw=(0,J.ZP)(rw)({"&:first-of-type":{padding:0}}),gw=(0,J.ZP)(mb)((function(e){var t=e.ownerState;return(0,o.Z)({},(t.clearable||t.showTodayButton)&&{justifyContent:"flex-start","& > *:first-of-type":{marginRight:"auto"}})})),yw=function(e){var t=e.cancelText,n=void 0===t?"Cancel":t,r=e.children,i=e.clearable,a=void 0!==i&&i,u=e.clearText,l=void 0===u?"Clear":u,s=e.DialogProps,c=void 0===s?{}:s,d=e.okText,f=void 0===d?"OK":d,p=e.onAccept,h=e.onClear,m=e.onDismiss,v=e.onSetToday,g=e.open,y=e.showTodayButton,b=void 0!==y&&y,x=e.todayText,Z=void 0===x?"Today":x,w=e;return(0,ie.BX)(mw,(0,o.Z)({open:g,onClose:m},c,{children:[(0,ie.tZ)(vw,{children:r}),(0,ie.BX)(gw,{ownerState:w,children:[a&&(0,ie.tZ)(Qm,{onClick:h,children:l}),b&&(0,ie.tZ)(Qm,{onClick:v,children:Z}),n&&(0,ie.tZ)(Qm,{onClick:m,children:n}),f&&(0,ie.tZ)(Qm,{onClick:p,children:f})]})]}))},bw=["cancelText","children","clearable","clearText","DateInputProps","DialogProps","okText","onAccept","onClear","onDismiss","onSetToday","open","PureDateInputComponent","showTodayButton","todayText"];function xw(e){var t=e.cancelText,n=e.children,r=e.clearable,i=e.clearText,a=e.DateInputProps,u=e.DialogProps,l=e.okText,s=e.onAccept,c=e.onClear,d=e.onDismiss,f=e.onSetToday,p=e.open,h=e.PureDateInputComponent,m=e.showTodayButton,v=e.todayText,g=(0,X.Z)(e,bw);return(0,ie.BX)(tb.Provider,{value:"mobile",children:[(0,ie.tZ)(h,(0,o.Z)({},g,a)),(0,ie.tZ)(yw,{cancelText:t,clearable:r,clearText:i,DialogProps:u,okText:l,onAccept:s,onClear:c,onDismiss:d,onSetToday:f,open:p,showTodayButton:m,todayText:v,children:n})]})}var Zw=n(5192),ww=n.n(Zw),Dw=t.forwardRef((function(e,n){var r=e.disabled,i=e.getOpenDialogAriaText,a=void 0===i?yy:i,u=e.inputFormat,l=e.InputProps,s=e.inputRef,c=e.label,d=e.openPicker,f=e.rawValue,p=e.renderInput,h=e.TextFieldProps,m=void 0===h?{}:h,v=e.validationError,g=my(),y=t.useMemo((function(){return(0,o.Z)({},l,{readOnly:!0})}),[l]),b=by(g,f,u);return p((0,o.Z)({label:c,disabled:r,ref:n,inputRef:s,error:v,InputProps:y,inputProps:(0,o.Z)({disabled:r,readOnly:!0,"aria-readonly":!0,"aria-label":a(f,g),value:b},!e.readOnly&&{onClick:d},{onKeyDown:Db(d)})},m))}));Dw.propTypes={getOpenDialogAriaText:ww().func,renderInput:ww().func.isRequired};var kw=["ToolbarComponent","value","onChange"],Sw={emptyValue:null,parseInput:mZ,areValuesEqual:function(e,t,n){return e.isEqual(t,n)}},Cw=t.forwardRef((function(e,t){var n=wy(e,"MuiMobileDateTimePicker"),r=null!==UZ(n),i=qZ(n,Sw),a=i.pickerProps,u=i.inputProps,l=i.wrapperProps,s=n.ToolbarComponent,c=void 0===s?cb:s,d=(0,X.Z)(n,kw),f=(0,o.Z)({},u,d,{ref:t,validationError:r});return(0,ie.tZ)(xw,(0,o.Z)({},d,l,{DateInputProps:f,PureDateInputComponent:Dw,children:(0,ie.tZ)(WZ,(0,o.Z)({},a,{autoFocus:!0,toolbarTitle:n.label||n.toolbarTitle,ToolbarComponent:c,DateInputProps:f},d))}))})),_w=["cancelText","clearable","clearText","desktopModeMediaQuery","DialogProps","okText","PopperProps","showTodayButton","todayText","TransitionComponent"],Ew=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDateTimePicker"}),r=n.cancelText,i=n.clearable,a=n.clearText,u=n.desktopModeMediaQuery,l=void 0===u?"@media (pointer: fine)":u,s=n.DialogProps,c=n.okText,d=n.PopperProps,f=n.showTodayButton,p=n.todayText,h=n.TransitionComponent,m=(0,X.Z)(n,_w),v=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=(0,Ks.Z)(),r="undefined"!==typeof window&&"undefined"!==typeof window.matchMedia,o=(0,cy.Z)({name:"MuiUseMediaQuery",props:t,theme:n}),i=o.defaultMatches,a=void 0!==i&&i,u=o.matchMedia,l=void 0===u?r?window.matchMedia:null:u,s=o.ssrMatchMedia,c=void 0===s?null:s,d=o.noSsr,f="function"===typeof e?e(n):e;return f=f.replace(/^@media( ?)/m,""),(void 0!==fy?py:dy)(f,a,l,c,d)}(l);return v?(0,ie.tZ)(KZ,(0,o.Z)({ref:t,PopperProps:d,TransitionComponent:h},m)):(0,ie.tZ)(Cw,(0,o.Z)({ref:t,cancelText:r,clearable:i,clearText:a,DialogProps:s,okText:c,showTodayButton:f,todayText:p},m))})),Aw=["absolute","children","className","component","flexItem","light","orientation","role","textAlign","variant"],Mw=(0,J.ZP)("div",{name:"MuiDivider",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,n.absolute&&t.absolute,t[n.variant],n.light&&t.light,"vertical"===n.orientation&&t.vertical,n.flexItem&&t.flexItem,n.children&&t.withChildren,n.children&&"vertical"===n.orientation&&t.withChildrenVertical,"right"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignRight,"left"===n.textAlign&&"vertical"!==n.orientation&&t.textAlignLeft]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({margin:0,flexShrink:0,borderWidth:0,borderStyle:"solid",borderColor:t.palette.divider,borderBottomWidth:"thin"},n.absolute&&{position:"absolute",bottom:0,left:0,width:"100%"},n.light&&{borderColor:(0,Q.Fq)(t.palette.divider,.08)},"inset"===n.variant&&{marginLeft:72},"middle"===n.variant&&"horizontal"===n.orientation&&{marginLeft:t.spacing(2),marginRight:t.spacing(2)},"middle"===n.variant&&"vertical"===n.orientation&&{marginTop:t.spacing(1),marginBottom:t.spacing(1)},"vertical"===n.orientation&&{height:"100%",borderBottomWidth:0,borderRightWidth:"thin"},n.flexItem&&{alignSelf:"stretch",height:"auto"})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},n.children&&{display:"flex",whiteSpace:"nowrap",textAlign:"center",border:0,"&::before, &::after":{position:"relative",width:"100%",borderTop:"thin solid ".concat(t.palette.divider),top:"50%",content:'""',transform:"translateY(50%)"}})}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},n.children&&"vertical"===n.orientation&&{flexDirection:"column","&::before, &::after":{height:"100%",top:"0%",left:"50%",borderTop:0,borderLeft:"thin solid ".concat(t.palette.divider),transform:"translateX(0%)"}})}),(function(e){var t=e.ownerState;return(0,o.Z)({},"right"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"90%"},"&::after":{width:"10%"}},"left"===t.textAlign&&"vertical"!==t.orientation&&{"&::before":{width:"10%"},"&::after":{width:"90%"}})})),Tw=(0,J.ZP)("span",{name:"MuiDivider",slot:"Wrapper",overridesResolver:function(e,t){var n=e.ownerState;return[t.wrapper,"vertical"===n.orientation&&t.wrapperVertical]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"inline-block",paddingLeft:"calc(".concat(t.spacing(1)," * 1.2)"),paddingRight:"calc(".concat(t.spacing(1)," * 1.2)")},"vertical"===n.orientation&&{paddingTop:"calc(".concat(t.spacing(1)," * 1.2)"),paddingBottom:"calc(".concat(t.spacing(1)," * 1.2)")})})),Pw=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiDivider"}),r=n.absolute,i=void 0!==r&&r,a=n.children,u=n.className,l=n.component,s=void 0===l?a?"div":"hr":l,c=n.flexItem,d=void 0!==c&&c,f=n.light,p=void 0!==f&&f,h=n.orientation,m=void 0===h?"horizontal":h,v=n.role,g=void 0===v?"hr"!==s?"separator":void 0:v,y=n.textAlign,b=void 0===y?"center":y,x=n.variant,Z=void 0===x?"fullWidth":x,w=(0,X.Z)(n,Aw),D=(0,o.Z)({},n,{absolute:i,component:s,flexItem:d,light:p,orientation:m,role:g,textAlign:b,variant:Z}),k=function(e){var t=e.absolute,n=e.children,r=e.classes,o=e.flexItem,i=e.light,a=e.orientation,u=e.textAlign,l={root:["root",t&&"absolute",e.variant,i&&"light","vertical"===a&&"vertical",o&&"flexItem",n&&"withChildren",n&&"vertical"===a&&"withChildrenVertical","right"===u&&"vertical"!==a&&"textAlignRight","left"===u&&"vertical"!==a&&"textAlignLeft"],wrapper:["wrapper","vertical"===a&&"wrapperVertical"]};return(0,K.Z)(l,Nh,r)}(D);return(0,ie.tZ)(Mw,(0,o.Z)({as:s,className:(0,G.Z)(k.root,u),role:g,ref:t,ownerState:D},w,{children:a?(0,ie.tZ)(Tw,{className:k.wrapper,ownerState:D,children:a}):null}))})),Rw=Pw,Fw="YYYY-MM-DD HH:mm:ss",Ow={container:{display:"grid",gridTemplateColumns:"200px auto 200px",gridGap:"10px",padding:"20px"},timeControls:{display:"grid",gridTemplateRows:"auto 1fr auto",gridGap:"16px 0"},datePickerItem:{minWidth:"200px"}},Bw=function(){var e=(0,t.useState)(),n=(0,r.Z)(e,2),o=n[0],i=n[1],a=(0,t.useState)(),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=rr().time,d=c.period,f=d.end,p=d.start,h=c.relativeTime,m=or();(0,t.useEffect)((function(){i(zn(Wn(f)))}),[f]),(0,t.useEffect)((function(){s(zn(Wn(p)))}),[p]);var v=(0,t.useMemo)((function(){return{start:yn()(Wn(p)).format(Fw),end:yn()(Wn(f)).format(Fw)}}),[p,f]),g=(0,t.useState)(null),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=Boolean(b);return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(pc,{title:"Time range controls",children:(0,ie.tZ)(Qm,{variant:"contained",color:"primary",sx:{color:"white",border:"1px solid rgba(0, 0, 0, 0.2)",boxShadow:"none"},startIcon:(0,ie.tZ)(sy.Z,{}),onClick:function(e){return x(e.currentTarget)},children:h?h.replace(/_/g," "):"".concat(v.start," - ").concat(v.end)})}),(0,ie.tZ)(ec,{open:Z,anchorEl:b,placement:"bottom-end",modifiers:[{name:"offset",options:{offset:[0,6]}}],children:(0,ie.tZ)(Pt,{onClickAway:function(){return x(null)},children:(0,ie.tZ)(ce,{elevation:3,children:(0,ie.BX)(oo,{sx:Ow.container,children:[(0,ie.BX)(oo,{sx:Ow.timeControls,children:[(0,ie.tZ)(oo,{sx:Ow.datePickerItem,children:(0,ie.tZ)(Ew,{label:"From",ampm:!1,value:l,onChange:function(e){return e&&m({type:"SET_FROM",payload:e})},onError:console.log,inputFormat:Fw,mask:"____-__-__ __:__:__",renderInput:function(e){return(0,ie.tZ)(Lh,vn(vn({},e),{},{variant:"standard"}))},maxDate:yn()(o),PopperProps:{disablePortal:!0}})}),(0,ie.tZ)(oo,{sx:Ow.datePickerItem,children:(0,ie.tZ)(Ew,{label:"To",ampm:!1,value:o,onChange:function(e){return e&&m({type:"SET_UNTIL",payload:e})},onError:console.log,inputFormat:Fw,mask:"____-__-__ __:__:__",renderInput:function(e){return(0,ie.tZ)(Lh,vn(vn({},e),{},{variant:"standard"}))},PopperProps:{disablePortal:!0}})}),(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"auto 1fr",gap:1,children:[(0,ie.tZ)(Qm,{variant:"outlined",onClick:function(){return x(null)},children:"Cancel"}),(0,ie.tZ)(Qm,{variant:"contained",onClick:function(){return m({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"})]})]}),(0,ie.tZ)(Rw,{orientation:"vertical",flexItem:!0}),(0,ie.tZ)(oo,{children:(0,ie.tZ)(ly,{setDuration:function(e){var t=e.duration,n=e.until,r=e.id;m({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),x(null)}})})]})})})})]})},Iw=function(e){var n=e.error,o=e.setServer,i=Im(),a=Bm().serverURL,u=rr().serverUrl,l=or(),s=(0,t.useState)(u),c=(0,r.Z)(s,2),d=c[0],f=c[1];(0,t.useEffect)((function(){i&&(l({type:"SET_SERVER",payload:a}),f(a))}),[a]);return(0,ie.tZ)(Lh,{variant:"outlined",fullWidth:!0,label:"Server URL",value:d||"",disabled:i,error:n===Fm.validServer||n===Fm.emptyServer,inputProps:{style:{fontFamily:"Monospace"}},onChange:function(e){var t=e.target.value||"";f(t),o(t)}})},Lw={position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",bgcolor:"background.paper",p:3,borderRadius:"4px",width:"80%",maxWidth:"800px"},Nw="Setting Server URL",zw=function(){var e=Im(),n=rr().serverUrl,o=or(),i=(0,t.useState)(n),a=(0,r.Z)(i,2),u=a[0],l=a[1],s=(0,t.useState)(!1),c=(0,r.Z)(s,2),d=c[0],f=c[1],p=function(){return f(!1)};return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(pc,{title:Nw,children:(0,ie.tZ)(Qm,{variant:"contained",color:"primary",sx:{color:"white",border:"1px solid rgba(0, 0, 0, 0.2)",minWidth:"34px",padding:"6px 8px",boxShadow:"none"},startIcon:(0,ie.tZ)(jv.Z,{style:{marginRight:"-8px",marginLeft:"4px"}}),onClick:function(){return f(!0)}})}),(0,ie.tZ)(Op,{open:d,onClose:p,children:(0,ie.BX)(oo,{sx:Lw,children:[(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"1fr auto",alignItems:"center",mb:4,children:[(0,ie.tZ)(am,{id:"modal-modal-title",variant:"h6",component:"h2",children:Nw}),(0,ie.tZ)(pt,{size:"small",onClick:p,children:(0,ie.tZ)(Yv.Z,{})})]}),(0,ie.tZ)(Iw,{setServer:l}),(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"auto auto",gap:1,justifyContent:"end",mt:4,children:[(0,ie.tZ)(Qm,{variant:"outlined",onClick:p,children:"Cancel"}),(0,ie.tZ)(Qm,{variant:"contained",onClick:function(){e||o({type:"SET_SERVER",payload:u}),p()},children:"apply"})]})]})})]})},jw={logo:{position:"relative",display:"flex",alignItems:"center",color:"#fff",cursor:"pointer","&:hover":{textDecoration:"underline"}},issueLink:{textAlign:"center",fontSize:"10px",opacity:".4",color:"inherit",textDecoration:"underline",transition:".2s opacity","&:hover":{opacity:".8"}},menuLink:{display:"block",padding:"16px 8px",color:"white",fontSize:"11px",textDecoration:"none",cursor:"pointer",textTransform:"uppercase",borderRadius:"4px",transition:".2s background","&:hover":{boxShadow:"rgba(0, 0, 0, 0.15) 0px 2px 8px"}}},Ww=function(){var e=R(),n=e.search,o=e.pathname,i=F(),a=(0,t.useState)(o),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=function(e){i({pathname:e,search:n})};return(0,ie.tZ)(bg,{position:"static",sx:{px:1,boxShadow:"none"},children:(0,ie.BX)(Pg,{children:[(0,ie.BX)(oo,{display:"grid",alignItems:"center",justifyContent:"center",children:[(0,ie.BX)(oo,{onClick:function(){c(Ur),En(""),window.location.reload()},sx:jw.logo,children:[(0,ie.tZ)(ry,{style:{color:"inherit",marginRight:"6px"}}),(0,ie.BX)(am,{variant:"h5",children:[(0,ie.tZ)("span",{style:{fontWeight:"bolder"},children:"VM"}),(0,ie.tZ)("span",{style:{fontWeight:"lighter"},children:"UI"})]})]}),(0,ie.tZ)(_g,{sx:jw.issueLink,target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new",children:"create an issue"})]}),(0,ie.tZ)(oo,{sx:{ml:8},children:(0,ie.BX)(Pv,{value:l,textColor:"inherit",TabIndicatorProps:{style:{background:"white"}},onChange:function(e,t){return s(t)},children:[(0,ie.tZ)(Lv,{label:"Custom panel",value:Ur,component:U,to:"".concat(Ur).concat(n)}),(0,ie.tZ)(Lv,{label:"Dashboards",value:qr,component:U,to:"".concat(qr).concat(n)})]})}),(0,ie.BX)(oo,{display:"grid",gridTemplateColumns:"repeat(3, auto)",gap:1,alignItems:"center",ml:"auto",mr:0,children:[(0,ie.tZ)(Bw,{}),(0,ie.tZ)(ty,{}),(0,ie.tZ)(zw,{})]})]})})},$w=function(){return(0,ie.BX)(oo,{children:[(0,ie.tZ)(Ww,{}),(0,ie.tZ)(L,{})]})},Hw=n(3878),Yw=n(9199),Vw=n(5267);var Uw=n(5829);function qw(e){return(0,ne.Z)("MuiCollapse",e)}(0,re.Z)("MuiCollapse",["root","horizontal","vertical","entered","hidden","wrapper","wrapperInner"]);var Xw=["addEndListener","children","className","collapsedSize","component","easing","in","onEnter","onEntered","onEntering","onExit","onExited","onExiting","orientation","style","timeout","TransitionComponent"],Gw=(0,J.ZP)("div",{name:"MuiCollapse",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[t.root,t[n.orientation],"entered"===n.state&&t.entered,"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&t.hidden]}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({height:0,overflow:"hidden",transition:t.transitions.create("height")},"horizontal"===n.orientation&&{height:"auto",width:0,transition:t.transitions.create("width")},"entered"===n.state&&(0,o.Z)({height:"auto",overflow:"visible"},"horizontal"===n.orientation&&{width:"auto"}),"exited"===n.state&&!n.in&&"0px"===n.collapsedSize&&{visibility:"hidden"})})),Kw=(0,J.ZP)("div",{name:"MuiCollapse",slot:"Wrapper",overridesResolver:function(e,t){return t.wrapper}})((function(e){var t=e.ownerState;return(0,o.Z)({display:"flex",width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),Qw=(0,J.ZP)("div",{name:"MuiCollapse",slot:"WrapperInner",overridesResolver:function(e,t){return t.wrapperInner}})((function(e){var t=e.ownerState;return(0,o.Z)({width:"100%"},"horizontal"===t.orientation&&{width:"auto",height:"100%"})})),Jw=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiCollapse"}),i=r.addEndListener,a=r.children,u=r.className,l=r.collapsedSize,s=void 0===l?"0px":l,c=r.component,d=r.easing,f=r.in,p=r.onEnter,h=r.onEntered,m=r.onEntering,v=r.onExit,g=r.onExited,y=r.onExiting,b=r.orientation,x=void 0===b?"vertical":b,Z=r.style,w=r.timeout,D=void 0===w?Uw.x9.standard:w,k=r.TransitionComponent,S=void 0===k?Ht:k,C=(0,X.Z)(r,Xw),_=(0,o.Z)({},r,{orientation:x,collapsedSize:s}),E=function(e){var t=e.orientation,n=e.classes,r={root:["root","".concat(t)],entered:["entered"],hidden:["hidden"],wrapper:["wrapper","".concat(t)],wrapperInner:["wrapperInner","".concat(t)]};return(0,K.Z)(r,qw,n)}(_),A=Ot(),M=t.useRef(),T=t.useRef(null),P=t.useRef(),R="number"===typeof s?"".concat(s,"px"):s,F="horizontal"===x,O=F?"width":"height";t.useEffect((function(){return function(){clearTimeout(M.current)}}),[]);var B=t.useRef(null),I=(0,pe.Z)(n,B),L=function(e){return function(t){if(e){var n=B.current;void 0===t?e(n):e(n,t)}}},N=function(){return T.current?T.current[F?"clientWidth":"clientHeight"]:0},z=L((function(e,t){T.current&&F&&(T.current.style.position="absolute"),e.style[O]=R,p&&p(e,t)})),j=L((function(e,t){var n=N();T.current&&F&&(T.current.style.position="");var r=Vt({style:Z,timeout:D,easing:d},{mode:"enter"}),o=r.duration,i=r.easing;if("auto"===D){var a=A.transitions.getAutoHeightDuration(n);e.style.transitionDuration="".concat(a,"ms"),P.current=a}else e.style.transitionDuration="string"===typeof o?o:"".concat(o,"ms");e.style[O]="".concat(n,"px"),e.style.transitionTimingFunction=i,m&&m(e,t)})),W=L((function(e,t){e.style[O]="auto",h&&h(e,t)})),$=L((function(e){e.style[O]="".concat(N(),"px"),v&&v(e)})),H=L(g),Y=L((function(e){var t=N(),n=Vt({style:Z,timeout:D,easing:d},{mode:"exit"}),r=n.duration,o=n.easing;if("auto"===D){var i=A.transitions.getAutoHeightDuration(t);e.style.transitionDuration="".concat(i,"ms"),P.current=i}else e.style.transitionDuration="string"===typeof r?r:"".concat(r,"ms");e.style[O]=R,e.style.transitionTimingFunction=o,y&&y(e)}));return(0,ie.tZ)(S,(0,o.Z)({in:f,onEnter:z,onEntered:W,onEntering:j,onExit:$,onExited:H,onExiting:Y,addEndListener:function(e){"auto"===D&&(M.current=setTimeout(e,P.current||0)),i&&i(B.current,e)},nodeRef:B,timeout:"auto"===D?null:D},C,{children:function(e,t){return(0,ie.tZ)(Gw,(0,o.Z)({as:c,className:(0,G.Z)(E.root,u,{entered:E.entered,exited:!f&&"0px"===R&&E.hidden}[e]),style:(0,o.Z)((0,q.Z)({},F?"minWidth":"minHeight",R),Z),ownerState:(0,o.Z)({},_,{state:e}),ref:I},t,{children:(0,ie.tZ)(Kw,{ownerState:(0,o.Z)({},_,{state:e}),className:E.wrapper,ref:T,children:(0,ie.tZ)(Qw,{ownerState:(0,o.Z)({},_,{state:e}),className:E.wrapperInner,children:a})})}))}}))}));Jw.muiSupportAuto=!0;var eD=Jw;var tD=t.createContext({});function nD(e){return(0,ne.Z)("MuiAccordion",e)}var rD=(0,re.Z)("MuiAccordion",["root","rounded","expanded","disabled","gutters","region"]),oD=["children","className","defaultExpanded","disabled","disableGutters","expanded","onChange","square","TransitionComponent","TransitionProps"],iD=(0,J.ZP)(ce,{name:"MuiAccordion",slot:"Root",overridesResolver:function(e,t){var n=e.ownerState;return[(0,q.Z)({},"& .".concat(rD.region),t.region),t.root,!n.square&&t.rounded,!n.disableGutters&&t.gutters]}})((function(e){var t,n=e.theme,r={duration:n.transitions.duration.shortest};return t={position:"relative",transition:n.transitions.create(["margin"],r),overflowAnchor:"none","&:before":{position:"absolute",left:0,top:-1,right:0,height:1,content:'""',opacity:1,backgroundColor:(n.vars||n).palette.divider,transition:n.transitions.create(["opacity","background-color"],r)},"&:first-of-type":{"&:before":{display:"none"}}},(0,q.Z)(t,"&.".concat(rD.expanded),{"&:before":{opacity:0},"&:first-of-type":{marginTop:0},"&:last-of-type":{marginBottom:0},"& + &":{"&:before":{display:"none"}}}),(0,q.Z)(t,"&.".concat(rD.disabled),{backgroundColor:(n.vars||n).palette.action.disabledBackground}),t}),(function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({},!n.square&&{borderRadius:0,"&:first-of-type":{borderTopLeftRadius:(t.vars||t).shape.borderRadius,borderTopRightRadius:(t.vars||t).shape.borderRadius},"&:last-of-type":{borderBottomLeftRadius:(t.vars||t).shape.borderRadius,borderBottomRightRadius:(t.vars||t).shape.borderRadius,"@supports (-ms-ime-align: auto)":{borderBottomLeftRadius:0,borderBottomRightRadius:0}}},!n.disableGutters&&(0,q.Z)({},"&.".concat(rD.expanded),{margin:"16px 0"}))})),aD=t.forwardRef((function(e,n){var i,a=(0,ee.Z)({props:e,name:"MuiAccordion"}),u=a.children,l=a.className,s=a.defaultExpanded,c=void 0!==s&&s,d=a.disabled,f=void 0!==d&&d,p=a.disableGutters,h=void 0!==p&&p,m=a.expanded,v=a.onChange,g=a.square,y=void 0!==g&&g,b=a.TransitionComponent,x=void 0===b?eD:b,Z=a.TransitionProps,w=(0,X.Z)(a,oD),D=(0,nc.Z)({controlled:m,default:c,name:"Accordion",state:"expanded"}),k=(0,r.Z)(D,2),S=k[0],C=k[1],_=t.useCallback((function(e){C(!S),v&&v(e,!S)}),[S,v,C]),E=t.Children.toArray(u),A=(i=E,(0,Hw.Z)(i)||(0,Yw.Z)(i)||(0,io.Z)(i)||(0,Vw.Z)()),M=A[0],T=A.slice(1),P=t.useMemo((function(){return{expanded:S,disabled:f,disableGutters:h,toggle:_}}),[S,f,h,_]),R=(0,o.Z)({},a,{square:y,disabled:f,disableGutters:h,expanded:S}),F=function(e){var t=e.classes,n={root:["root",!e.square&&"rounded",e.expanded&&"expanded",e.disabled&&"disabled",!e.disableGutters&&"gutters"],region:["region"]};return(0,K.Z)(n,nD,t)}(R);return(0,ie.BX)(iD,(0,o.Z)({className:(0,G.Z)(F.root,l),ref:n,ownerState:R,square:y},w,{children:[(0,ie.tZ)(tD.Provider,{value:P,children:M}),(0,ie.tZ)(x,(0,o.Z)({in:S,timeout:"auto"},Z,{children:(0,ie.tZ)("div",{"aria-labelledby":M.props.id,id:M.props["aria-controls"],role:"region",className:F.region,children:T})}))]}))})),uD=aD;function lD(e){return(0,ne.Z)("MuiAccordionSummary",e)}var sD=(0,re.Z)("MuiAccordionSummary",["root","expanded","focusVisible","disabled","gutters","contentGutters","content","expandIconWrapper"]),cD=["children","className","expandIcon","focusVisibleClassName","onClick"],dD=(0,J.ZP)(at,{name:"MuiAccordionSummary",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){var t,n=e.theme,r=e.ownerState,i={duration:n.transitions.duration.shortest};return(0,o.Z)((t={display:"flex",minHeight:48,padding:n.spacing(0,2),transition:n.transitions.create(["min-height","background-color"],i)},(0,q.Z)(t,"&.".concat(sD.focusVisible),{backgroundColor:(n.vars||n).palette.action.focus}),(0,q.Z)(t,"&.".concat(sD.disabled),{opacity:(n.vars||n).palette.action.disabledOpacity}),(0,q.Z)(t,"&:hover:not(.".concat(sD.disabled,")"),{cursor:"pointer"}),t),!r.disableGutters&&(0,q.Z)({},"&.".concat(sD.expanded),{minHeight:64}))})),fD=(0,J.ZP)("div",{name:"MuiAccordionSummary",slot:"Content",overridesResolver:function(e,t){return t.content}})((function(e){var t=e.theme,n=e.ownerState;return(0,o.Z)({display:"flex",flexGrow:1,margin:"12px 0"},!n.disableGutters&&(0,q.Z)({transition:t.transitions.create(["margin"],{duration:t.transitions.duration.shortest})},"&.".concat(sD.expanded),{margin:"20px 0"}))})),pD=(0,J.ZP)("div",{name:"MuiAccordionSummary",slot:"ExpandIconWrapper",overridesResolver:function(e,t){return t.expandIconWrapper}})((function(e){var t=e.theme;return(0,q.Z)({display:"flex",color:(t.vars||t).palette.action.active,transform:"rotate(0deg)",transition:t.transitions.create("transform",{duration:t.transitions.duration.shortest})},"&.".concat(sD.expanded),{transform:"rotate(180deg)"})})),hD=t.forwardRef((function(e,n){var r=(0,ee.Z)({props:e,name:"MuiAccordionSummary"}),i=r.children,a=r.className,u=r.expandIcon,l=r.focusVisibleClassName,s=r.onClick,c=(0,X.Z)(r,cD),d=t.useContext(tD),f=d.disabled,p=void 0!==f&&f,h=d.disableGutters,m=d.expanded,v=d.toggle,g=(0,o.Z)({},r,{expanded:m,disabled:p,disableGutters:h}),y=function(e){var t=e.classes,n=e.expanded,r=e.disabled,o=e.disableGutters,i={root:["root",n&&"expanded",r&&"disabled",!o&&"gutters"],focusVisible:["focusVisible"],content:["content",n&&"expanded",!o&&"contentGutters"],expandIconWrapper:["expandIconWrapper",n&&"expanded"]};return(0,K.Z)(i,lD,t)}(g);return(0,ie.BX)(dD,(0,o.Z)({focusRipple:!1,disableRipple:!0,disabled:p,component:"div","aria-expanded":m,className:(0,G.Z)(y.root,a),focusVisibleClassName:(0,G.Z)(y.focusVisible,l),onClick:function(e){v&&v(e),s&&s(e)},ref:n,ownerState:g},c,{children:[(0,ie.tZ)(fD,{className:y.content,ownerState:g,children:i}),u&&(0,ie.tZ)(pD,{className:y.expandIconWrapper,ownerState:g,children:u})]}))})),mD=hD;function vD(e){return(0,ne.Z)("MuiAccordionDetails",e)}(0,re.Z)("MuiAccordionDetails",["root"]);var gD=["className"],yD=(0,J.ZP)("div",{name:"MuiAccordionDetails",slot:"Root",overridesResolver:function(e,t){return t.root}})((function(e){return{padding:e.theme.spacing(1,2,2)}})),bD=t.forwardRef((function(e,t){var n=(0,ee.Z)({props:e,name:"MuiAccordionDetails"}),r=n.className,i=(0,X.Z)(n,gD),a=n,u=function(e){var t=e.classes;return(0,K.Z)({root:["root"]},vD,t)}(a);return(0,ie.tZ)(yD,(0,o.Z)({className:(0,G.Z)(u.root,r),ref:t,ownerState:a},i))})),xD=bD,ZD=n(6306),wD=n(3973);function DD(){return{baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var kD={baseUrl:null,breaks:!1,extensions:null,gfm:!0,headerIds:!0,headerPrefix:"",highlight:null,langPrefix:"language-",mangle:!0,pedantic:!1,renderer:null,sanitize:!1,sanitizer:null,silent:!1,smartLists:!1,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var SD=/[&<>"']/,CD=/[&<>"']/g,_D=/[<>"']|&(?!#?\w+;)/,ED=/[<>"']|&(?!#?\w+;)/g,AD={"&":"&","<":"<",">":">",'"':""","'":"'"},MD=function(e){return AD[e]};function TD(e,t){if(t){if(SD.test(e))return e.replace(CD,MD)}else if(_D.test(e))return e.replace(ED,MD);return e}var PD=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function RD(e){return e.replace(PD,(function(e,t){return"colon"===(t=t.toLowerCase())?":":"#"===t.charAt(0)?"x"===t.charAt(1)?String.fromCharCode(parseInt(t.substring(2),16)):String.fromCharCode(+t.substring(1)):""}))}var FD=/(^|[^\[])\^/g;function OD(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(FD,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var BD=/[^\w:]/g,ID=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function LD(e,t,n){if(e){var r;try{r=decodeURIComponent(RD(n)).replace(BD,"").toLowerCase()}catch(o){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!ID.test(n)&&(n=function(e,t){ND[" "+e]||(zD.test(e)?ND[" "+e]=e+"/":ND[" "+e]=VD(e,"/",!0));var n=-1===(e=ND[" "+e]).indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(jD,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(WD,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(o){return null}return n}var ND={},zD=/^[^:]+:\/*[^/]*$/,jD=/^([^:]+:)[\s\S]*$/,WD=/^([^:]+:\/*[^/]*)[\s\S]*$/;var $D={exec:function(){}};function HD(e){for(var t,n,r=1;r=0&&"\\"===n[o];)r=!r;return r?"|":" |"})),r=n.split(/ \|/),o=0;if(r[0].trim()||r.shift(),r.length>0&&!r[r.length-1].trim()&&r.pop(),r.length>t)r.splice(t);else for(;r.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function XD(e,t,n,r){var o=t.href,i=t.title?TD(t.title):null,a=e[1].replace(/\\([\[\]])/g,"$1");if("!"!==e[0].charAt(0)){r.state.inLink=!0;var u={type:"link",raw:n,href:o,title:i,text:a,tokens:r.inlineTokens(a,[])};return r.state.inLink=!1,u}return{type:"image",raw:n,href:o,title:i,text:TD(a)}}var GD=function(){function e(t){op(this,e),this.options=t||kD}return ap(e,[{key:"space",value:function(e){var t=this.rules.block.newline.exec(e);if(t&&t[0].length>0)return{type:"space",raw:t[0]}}},{key:"code",value:function(e){var t=this.rules.block.code.exec(e);if(t){var n=t[0].replace(/^ {1,4}/gm,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?n:VD(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],o=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var o=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:(0,r.Z)(t,1)[0].length>=o.length?e.slice(o.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim():t[2],text:o}}}},{key:"heading",value:function(e){var t=this.rules.block.heading.exec(e);if(t){var n=t[2].trim();if(/#$/.test(n)){var r=VD(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}var o={type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:[]};return this.lexer.inline(o.text,o.tokens),o}}},{key:"hr",value:function(e){var t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:t[0]}}},{key:"blockquote",value:function(e){var t=this.rules.block.blockquote.exec(e);if(t){var n=t[0].replace(/^ *>[ \t]?/gm,"");return{type:"blockquote",raw:t[0],tokens:this.lexer.blockTokens(n,[]),text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,o,i,a,u,l,s,c,d,f,p,h=t[1].trim(),m=h.length>1,v={type:"list",raw:"",ordered:m,start:m?+h.slice(0,-1):"",loose:!1,items:[]};h=m?"\\d{1,9}\\".concat(h.slice(-1)):"\\".concat(h),this.options.pedantic&&(h=m?h:"[*+-]");for(var g=new RegExp("^( {0,3}".concat(h,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(p=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),s=t[2].split("\n",1)[0],c=e.split("\n",1)[0],this.options.pedantic?(i=2,f=s.trimLeft()):(i=(i=t[2].search(/[^ ]/))>4?1:i,f=s.slice(i),i+=t[1].length),u=!1,!s&&/^ *$/.test(c)&&(n+=c+"\n",e=e.substring(c.length+1),p=!0),!p)for(var y=new RegExp("^ {0,".concat(Math.min(3,i-1),"}(?:[*+-]|\\d{1,9}[.)])((?: [^\\n]*)?(?:\\n|$))")),b=new RegExp("^ {0,".concat(Math.min(3,i-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)"));e&&(s=d=e.split("\n",1)[0],this.options.pedantic&&(s=s.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!y.test(s))&&!b.test(e);){if(s.search(/[^ ]/)>=i||!s.trim())f+="\n"+s.slice(i);else{if(u)break;f+="\n"+s}u||s.trim()||(u=!0),n+=d+"\n",e=e.substring(d.length+1)}v.loose||(l?v.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(f))&&(o="[ ] "!==r[0],f=f.replace(/^\[[ xX]\] +/,"")),v.items.push({type:"list_item",raw:n,task:!!r,checked:o,loose:!1,text:f}),v.raw+=n}v.items[v.items.length-1].raw=n.trimRight(),v.items[v.items.length-1].text=f.trimRight(),v.raw=v.raw.trimRight();var x=v.items.length;for(a=0;a1)return!0}}catch(o){r.e(o)}finally{r.f()}return!1}));!v.loose&&Z.length&&w&&(v.loose=!0,v.items[a].loose=!0)}return v}}},{key:"html",value:function(e){var t=this.rules.block.html.exec(e);if(t){var n={type:"html",raw:t[0],pre:!this.options.sanitizer&&("pre"===t[1]||"script"===t[1]||"style"===t[1]),text:t[0]};return this.options.sanitize&&(n.type="paragraph",n.text=this.options.sanitizer?this.options.sanitizer(t[0]):TD(t[0]),n.tokens=[],this.lexer.inline(n.text,n.tokens)),n}}},{key:"def",value:function(e){var t=this.rules.block.def.exec(e);if(t)return t[3]&&(t[3]=t[3].substring(1,t[3].length-1)),{type:"def",tag:t[1].toLowerCase().replace(/\s+/g," "),raw:t[0],href:t[2],title:t[3]}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:YD(t[1]).map((function(e){return{text:e}})),align:t[2].replace(/^ *|\| *$/g,"").split(/ *\| */),rows:t[3]&&t[3].trim()?t[3].replace(/\n[ \t]*$/,"").split("\n"):[]};if(n.header.length===n.align.length){n.raw=t[0];var r,o,i,a,u=n.align.length;for(r=0;r/i.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&/^<(pre|code|kbd|script)(\s|>)/i.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&/^<\/(pre|code|kbd|script)(\s|>)/i.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:this.options.sanitize?"text":"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,text:this.options.sanitize?this.options.sanitizer?this.options.sanitizer(t[0]):TD(t[0]):t[0]}}},{key:"link",value:function(e){var t=this.rules.inline.link.exec(e);if(t){var n=t[2].trim();if(!this.options.pedantic&&/^$/.test(n))return;var r=VD(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var o=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,o=0;o-1){var i=(0===t[0].indexOf("!")?5:4)+t[1].length+o;t[2]=t[2].substring(0,o),t[0]=t[0].substring(0,i).trim(),t[3]=""}}var a=t[2],u="";if(this.options.pedantic){var l=/^([^'"]*[^\s])\s+(['"])(.*)\2/.exec(a);l&&(a=l[1],u=l[3])}else u=t[3]?t[3].slice(1,-1):"";return a=a.trim(),/^$/.test(n)?a.slice(1):a.slice(1,-1)),XD(t,{href:a?a.replace(this.rules.inline._escapes,"$1"):a,title:u?u.replace(this.rules.inline._escapes,"$1"):u},t[0],this.lexer)}}},{key:"reflink",value:function(e,t){var n;if((n=this.rules.inline.reflink.exec(e))||(n=this.rules.inline.nolink.exec(e))){var r=(n[2]||n[1]).replace(/\s+/g," ");if(!(r=t[r.toLowerCase()])||!r.href){var o=n[0].charAt(0);return{type:"text",raw:o,text:o}}return XD(n,r,n[0],this.lexer)}}},{key:"emStrong",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",r=this.rules.inline.emStrong.lDelim.exec(e);if(r&&(!r[3]||!n.match(/(?:[0-9A-Za-z\xAA\xB2\xB3\xB5\xB9\xBA\xBC-\xBE\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u0660-\u0669\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07C0-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0966-\u096F\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09E6-\u09F1\u09F4-\u09F9\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A66-\u0A6F\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AE6-\u0AEF\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B66-\u0B6F\u0B71-\u0B77\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0BE6-\u0BF2\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C66-\u0C6F\u0C78-\u0C7E\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CE6-\u0CEF\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D58-\u0D61\u0D66-\u0D78\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0DE6-\u0DEF\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E50-\u0E59\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0ED0-\u0ED9\u0EDC-\u0EDF\u0F00\u0F20-\u0F33\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F-\u1049\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u1090-\u1099\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1369-\u137C\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u17E0-\u17E9\u17F0-\u17F9\u1810-\u1819\u1820-\u1878\u1880-\u1884\u1887-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1946-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u19D0-\u19DA\u1A00-\u1A16\u1A20-\u1A54\u1A80-\u1A89\u1A90-\u1A99\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B50-\u1B59\u1B83-\u1BA0\u1BAE-\u1BE5\u1C00-\u1C23\u1C40-\u1C49\u1C4D-\u1C7D\u1C80-\u1C88\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2070\u2071\u2074-\u2079\u207F-\u2089\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2150-\u2189\u2460-\u249B\u24EA-\u24FF\u2776-\u2793\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2CFD\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u3192-\u3195\u31A0-\u31BF\u31F0-\u31FF\u3220-\u3229\u3248-\u324F\u3251-\u325F\u3280-\u3289\u32B1-\u32BF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CA\uA7D0\uA7D1\uA7D3\uA7D5-\uA7D9\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA830-\uA835\uA840-\uA873\uA882-\uA8B3\uA8D0-\uA8D9\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA900-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF-\uA9D9\uA9E0-\uA9E4\uA9E6-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA50-\uAA59\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uABF0-\uABF9\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF10-\uFF19\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD07-\uDD33\uDD40-\uDD78\uDD8A\uDD8B\uDE80-\uDE9C\uDEA0-\uDED0\uDEE1-\uDEFB\uDF00-\uDF23\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCA0-\uDCA9\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC58-\uDC76\uDC79-\uDC9E\uDCA7-\uDCAF\uDCE0-\uDCF2\uDCF4\uDCF5\uDCFB-\uDD1B\uDD20-\uDD39\uDD80-\uDDB7\uDDBC-\uDDCF\uDDD2-\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE40-\uDE48\uDE60-\uDE7E\uDE80-\uDE9F\uDEC0-\uDEC7\uDEC9-\uDEE4\uDEEB-\uDEEF\uDF00-\uDF35\uDF40-\uDF55\uDF58-\uDF72\uDF78-\uDF91\uDFA9-\uDFAF]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDCFA-\uDD23\uDD30-\uDD39\uDE60-\uDE7E\uDE80-\uDEA9\uDEB0\uDEB1\uDF00-\uDF27\uDF30-\uDF45\uDF51-\uDF54\uDF70-\uDF81\uDFB0-\uDFCB\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC52-\uDC6F\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDCF0-\uDCF9\uDD03-\uDD26\uDD36-\uDD3F\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDD0-\uDDDA\uDDDC\uDDE1-\uDDF4\uDE00-\uDE11\uDE13-\uDE2B\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDEF0-\uDEF9\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC50-\uDC59\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDCD0-\uDCD9\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE50-\uDE59\uDE80-\uDEAA\uDEB8\uDEC0-\uDEC9\uDF00-\uDF1A\uDF30-\uDF3B\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCF2\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDD50-\uDD59\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC50-\uDC6C\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD50-\uDD59\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDDA0-\uDDA9\uDEE0-\uDEF2\uDFB0\uDFC0-\uDFD4]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2E]|\uD811[\uDC00-\uDE46]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE60-\uDE69\uDE70-\uDEBE\uDEC0-\uDEC9\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF50-\uDF59\uDF5B-\uDF61\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDE40-\uDE96\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDD00-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD50-\uDD52\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEE0-\uDEF3\uDF60-\uDF78]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB\uDFCE-\uDFFF]|\uD837[\uDF00-\uDF1E]|\uD838[\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDCC7-\uDCCF\uDD00-\uDD43\uDD4B\uDD50-\uDD59]|\uD83B[\uDC71-\uDCAB\uDCAD-\uDCAF\uDCB1-\uDCB4\uDD01-\uDD2D\uDD2F-\uDD3D\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD83C[\uDD00-\uDD0C]|\uD83E[\uDFF0-\uDFF9]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF38\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A])/))){var o=r[1]||r[2]||"";if(!o||o&&(""===n||this.rules.inline.punctuation.exec(n))){var i,a,u=r[0].length-1,l=u,s=0,c="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(c.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=c.exec(t));)if(i=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(a=i.length,r[3]||r[4])l+=a;else if(!((r[5]||r[6])&&u%3)||(u+a)%3){if(!((l-=a)>0)){if(a=Math.min(a,a+l+s),Math.min(u,a)%2){var d=e.slice(1,u+r.index+a);return{type:"em",raw:e.slice(0,u+r.index+a+1),text:d,tokens:this.lexer.inlineTokens(d,[])}}var f=e.slice(2,u+r.index+a-1);return{type:"strong",raw:e.slice(0,u+r.index+a+1),text:f,tokens:this.lexer.inlineTokens(f,[])}}}else s+=a}}}},{key:"codespan",value:function(e){var t=this.rules.inline.code.exec(e);if(t){var n=t[2].replace(/\n/g," "),r=/[^ ]/.test(n),o=/^ /.test(n)&&/ $/.test(n);return r&&o&&(n=n.substring(1,n.length-1)),n=TD(n,!0),{type:"codespan",raw:t[0],text:n}}}},{key:"br",value:function(e){var t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}},{key:"del",value:function(e){var t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2],[])}}},{key:"autolink",value:function(e,t){var n,r,o=this.rules.inline.autolink.exec(e);if(o)return r="@"===o[2]?"mailto:"+(n=TD(this.options.mangle?t(o[1]):o[1])):n=TD(o[1]),{type:"link",raw:o[0],text:n,href:r,tokens:[{type:"text",raw:n,text:n}]}}},{key:"url",value:function(e,t){var n;if(n=this.rules.inline.url.exec(e)){var r,o;if("@"===n[2])o="mailto:"+(r=TD(this.options.mangle?t(n[0]):n[0]));else{var i;do{i=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(i!==n[0]);r=TD(n[0]),o="www."===n[1]?"http://"+r:r}return{type:"link",raw:n[0],text:r,href:o,tokens:[{type:"text",raw:r,text:r}]}}}},{key:"inlineText",value:function(e,t){var n,r=this.rules.inline.text.exec(e);if(r)return n=this.lexer.state.inRawBlock?this.options.sanitize?this.options.sanitizer?this.options.sanitizer(r[0]):TD(r[0]):r[0]:TD(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),KD={newline:/^(?: *(?:\n|$))+/,code:/^( {4}[^\n]+(?:\n(?: *(?:\n|$))*)?)+/,fences:/^ {0,3}(`{3,}(?=[^`\n]*\n)|~{3,})([^\n]*)\n(?:|([\s\S]*?)\n)(?: {0,3}\1[~`]* *(?=\n|$)|$)/,hr:/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,blockquote:/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/,list:/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/,html:"^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n *)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n *)+\\n|$))",def:/^ {0,3}\[(label)\]: *(?:\n *)?]+)>?(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:$D,lheading:/^([^\n]+)\n {0,3}(=+|-+) *(?:\n+|$)/,_paragraph:/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,text:/^[^\n]+/,_label:/(?!\s*\])(?:\\.|[^\[\]\\])+/,_title:/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/};KD.def=OD(KD.def).replace("label",KD._label).replace("title",KD._title).getRegex(),KD.bullet=/(?:[*+-]|\d{1,9}[.)])/,KD.listItemStart=OD(/^( *)(bull) */).replace("bull",KD.bullet).getRegex(),KD.list=OD(KD.list).replace(/bull/g,KD.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+KD.def.source+")").getRegex(),KD._tag="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|section|source|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",KD._comment=/|$)/,KD.html=OD(KD.html,"i").replace("comment",KD._comment).replace("tag",KD._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),KD.paragraph=OD(KD._paragraph).replace("hr",KD.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",KD._tag).getRegex(),KD.blockquote=OD(KD.blockquote).replace("paragraph",KD.paragraph).getRegex(),KD.normal=HD({},KD),KD.gfm=HD({},KD.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),KD.gfm.table=OD(KD.gfm.table).replace("hr",KD.hr).replace("heading"," {0,3}#{1,6} ").replace("blockquote"," {0,3}>").replace("code"," {4}[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",KD._tag).getRegex(),KD.gfm.paragraph=OD(KD._paragraph).replace("hr",KD.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",KD.gfm.table).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",KD._tag).getRegex(),KD.pedantic=HD({},KD.normal,{html:OD("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",KD._comment).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:$D,paragraph:OD(KD.normal._paragraph).replace("hr",KD.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",KD.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var QD={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:$D,tag:"^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^",link:/^!?\[(label)\]\(\s*(href)(?:\s+(title))?\s*\)/,reflink:/^!?\[(label)\]\[(ref)\]/,nolink:/^!?\[(ref)\](?:\[\])?/,reflinkSearch:"reflink|nolink(?!\\()",emStrong:{lDelim:/^(?:\*+(?:([punct_])|[^\s*]))|^_+(?:([punct*])|([^\s_]))/,rDelimAst:/^[^_*]*?\_\_[^_*]*?\*[^_*]*?(?=\_\_)|[^*]+(?=[^*])|[punct_](\*+)(?=[\s]|$)|[^punct*_\s](\*+)(?=[punct_\s]|$)|[punct_\s](\*+)(?=[^punct*_\s])|[\s](\*+)(?=[punct_])|[punct_](\*+)(?=[punct_])|[^punct*_\s](\*+)(?=[^punct*_\s])/,rDelimUnd:/^[^_*]*?\*\*[^_*]*?\_[^_*]*?(?=\*\*)|[^_]+(?=[^_])|[punct*](\_+)(?=[\s]|$)|[^punct*_\s](\_+)(?=[punct*\s]|$)|[punct*\s](\_+)(?=[^punct*_\s])|[\s](\_+)(?=[punct*])|[punct*](\_+)(?=[punct*])/},code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,br:/^( {2,}|\\)\n(?!\s*$)/,del:$D,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}QD._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",QD.punctuation=OD(QD.punctuation).replace(/punctuation/g,QD._punctuation).getRegex(),QD.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,QD.escapedEmSt=/\\\*|\\_/g,QD._comment=OD(KD._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),QD.emStrong.lDelim=OD(QD.emStrong.lDelim).replace(/punct/g,QD._punctuation).getRegex(),QD.emStrong.rDelimAst=OD(QD.emStrong.rDelimAst,"g").replace(/punct/g,QD._punctuation).getRegex(),QD.emStrong.rDelimUnd=OD(QD.emStrong.rDelimUnd,"g").replace(/punct/g,QD._punctuation).getRegex(),QD._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,QD._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,QD._email=/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/,QD.autolink=OD(QD.autolink).replace("scheme",QD._scheme).replace("email",QD._email).getRegex(),QD._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,QD.tag=OD(QD.tag).replace("comment",QD._comment).replace("attribute",QD._attribute).getRegex(),QD._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,QD._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,QD._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,QD.link=OD(QD.link).replace("label",QD._label).replace("href",QD._href).replace("title",QD._title).getRegex(),QD.reflink=OD(QD.reflink).replace("label",QD._label).replace("ref",KD._label).getRegex(),QD.nolink=OD(QD.nolink).replace("ref",KD._label).getRegex(),QD.reflinkSearch=OD(QD.reflinkSearch,"g").replace("reflink",QD.reflink).replace("nolink",QD.nolink).getRegex(),QD.normal=HD({},QD),QD.pedantic=HD({},QD.normal,{strong:{start:/^__|\*\*/,middle:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/,endAst:/\*\*(?!\*)/g,endUnd:/__(?!_)/g},em:{start:/^_|\*/,middle:/^()\*(?=\S)([\s\S]*?\S)\*(?!\*)|^_(?=\S)([\s\S]*?\S)_(?!_)/,endAst:/\*(?!\*)/g,endUnd:/_(?!_)/g},link:OD(/^!?\[(label)\]\((.*?)\)/).replace("label",QD._label).getRegex(),reflink:OD(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",QD._label).getRegex()}),QD.gfm=HD({},QD.normal,{escape:OD(QD.escape).replace("])","~|])").getRegex(),_extended_email:/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/,url:/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,_backpedal:/(?:[^?!.,:;*_~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])([\s\S]*?[^\s~])\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\1&&void 0!==arguments[1]?arguments[1]:[];for(e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));e;)if(!(this.options.extensions&&this.options.extensions.block&&this.options.extensions.block.some((function(n){return!!(t=n.call({lexer:i},e,a))&&(e=e.substring(t.raw.length),a.push(t),!0)}))))if(t=this.tokenizer.space(e))e=e.substring(t.raw.length),1===t.raw.length&&a.length>0?a[a.length-1].raw+="\n":a.push(t);else if(t=this.tokenizer.code(e))e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?a.push(t):(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.fences(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.heading(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.hr(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.blockquote(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.list(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.html(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.def(e))e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?this.tokens.links[t.tag]||(this.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,this.inlineQueue[this.inlineQueue.length-1].src=n.text);else if(t=this.tokenizer.table(e))e=e.substring(t.raw.length),a.push(t);else if(t=this.tokenizer.lheading(e))e=e.substring(t.raw.length),a.push(t);else if(r=e,this.options.extensions&&this.options.extensions.startBlock&&function(){var t=1/0,n=e.slice(1),o=void 0;i.options.extensions.startBlock.forEach((function(e){"number"===typeof(o=e.call({lexer:this},n))&&o>=0&&(t=Math.min(t,o))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),this.state.top&&(t=this.tokenizer.paragraph(r)))n=a[a.length-1],o&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):a.push(t),o=r.length!==e.length,e=e.substring(t.raw.length);else if(t=this.tokenizer.text(e))e=e.substring(t.raw.length),(n=a[a.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,this.inlineQueue.pop(),this.inlineQueue[this.inlineQueue.length-1].src=n.text):a.push(t);else if(e){var u="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(u);break}throw new Error(u)}return this.state.top=!0,a}},{key:"inline",value:function(e,t){this.inlineQueue.push({src:e,tokens:t})}},{key:"inlineTokens",value:function(e){var t,n,r,o,i,a,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],s=e;if(this.tokens.links){var c=Object.keys(this.tokens.links);if(c.length>0)for(;null!=(o=this.tokenizer.rules.inline.reflinkSearch.exec(s));)c.includes(o[0].slice(o[0].lastIndexOf("[")+1,-1))&&(s=s.slice(0,o.index)+"["+qD("a",o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(o=this.tokenizer.rules.inline.blockSkip.exec(s));)s=s.slice(0,o.index)+"["+qD("a",o[0].length-2)+"]"+s.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(o=this.tokenizer.rules.inline.escapedEmSt.exec(s));)s=s.slice(0,o.index)+"++"+s.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex);for(;e;)if(i||(a=""),i=!1,!(this.options.extensions&&this.options.extensions.inline&&this.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)}))))if(t=this.tokenizer.escape(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.tag(e))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.link(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.reflink(e,this.tokens.links))e=e.substring(t.raw.length),(n=l[l.length-1])&&"text"===t.type&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(t=this.tokenizer.emStrong(e,s,a))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.codespan(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.br(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.del(e))e=e.substring(t.raw.length),l.push(t);else if(t=this.tokenizer.autolink(e,ek))e=e.substring(t.raw.length),l.push(t);else if(this.state.inLink||!(t=this.tokenizer.url(e,ek))){if(r=e,this.options.extensions&&this.options.extensions.startInline&&function(){var t=1/0,n=e.slice(1),o=void 0;u.options.extensions.startInline.forEach((function(e){"number"===typeof(o=e.call({lexer:this},n))&&o>=0&&(t=Math.min(t,o))})),t<1/0&&t>=0&&(r=e.substring(0,t+1))}(),t=this.tokenizer.inlineText(r,JD))e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(a=t.raw.slice(-1)),i=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t);else if(e){var d="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(d);break}throw new Error(d)}}else e=e.substring(t.raw.length),l.push(t);return l}}],[{key:"rules",get:function(){return{block:KD,inline:QD}}},{key:"lex",value:function(t,n){return new e(n).lex(t)}},{key:"lexInline",value:function(t,n){return new e(n).inlineTokens(t)}}]),e}(),nk=function(){function e(t){op(this,e),this.options=t||kD}return ap(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var o=this.options.highlight(e,r);null!=o&&o!==e&&(n=!0,e=o)}return e=e.replace(/\n$/,"")+"\n",r?'
    '+(n?e:TD(e,!0))+"
    \n":"
    "+(n?e:TD(e,!0))+"
    \n"}},{key:"blockquote",value:function(e){return"
    \n".concat(e,"
    \n")}},{key:"html",value:function(e){return e}},{key:"heading",value:function(e,t,n,r){if(this.options.headerIds){var o=this.options.headerPrefix+r.slug(n);return"').concat(e,"\n")}return"").concat(e,"\n")}},{key:"hr",value:function(){return this.options.xhtml?"
    \n":"
    \n"}},{key:"list",value:function(e,t,n){var r=t?"ol":"ul";return"<"+r+(t&&1!==n?' start="'+n+'"':"")+">\n"+e+"\n"}},{key:"listitem",value:function(e){return"
  • ".concat(e,"
  • \n")}},{key:"checkbox",value:function(e){return" "}},{key:"paragraph",value:function(e){return"

    ".concat(e,"

    \n")}},{key:"table",value:function(e,t){return t&&(t="".concat(t,"")),"\n\n"+e+"\n"+t+"
    \n"}},{key:"tablerow",value:function(e){return"\n".concat(e,"\n")}},{key:"tablecell",value:function(e,t){var n=t.header?"th":"td";return(t.align?"<".concat(n,' align="').concat(t.align,'">'):"<".concat(n,">"))+e+"\n")}},{key:"strong",value:function(e){return"".concat(e,"")}},{key:"em",value:function(e){return"".concat(e,"")}},{key:"codespan",value:function(e){return"".concat(e,"")}},{key:"br",value:function(){return this.options.xhtml?"
    ":"
    "}},{key:"del",value:function(e){return"".concat(e,"")}},{key:"link",value:function(e,t,n){if(null===(e=LD(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "}},{key:"image",value:function(e,t,n){if(null===(e=LD(this.options.sanitize,this.options.baseUrl,e)))return n;var r='').concat(n,'":">"}},{key:"text",value:function(e){return e}}]),e}(),rk=function(){function e(){op(this,e)}return ap(e,[{key:"strong",value:function(e){return e}},{key:"em",value:function(e){return e}},{key:"codespan",value:function(e){return e}},{key:"del",value:function(e){return e}},{key:"html",value:function(e){return e}},{key:"text",value:function(e){return e}},{key:"link",value:function(e,t,n){return""+n}},{key:"image",value:function(e,t,n){return""+n}},{key:"br",value:function(){return""}}]),e}(),ok=function(){function e(){op(this,e),this.seen={}}return ap(e,[{key:"serialize",value:function(e){return e.toLowerCase().trim().replace(/<[!\/a-z].*?>/gi,"").replace(/[\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,./:;<=>?@[\]^`{|}~]/g,"").replace(/\s/g,"-")}},{key:"getNextSafeSlug",value:function(e,t){var n=e,r=0;if(this.seen.hasOwnProperty(n)){r=this.seen[e];do{n=e+"-"+ ++r}while(this.seen.hasOwnProperty(n))}return t||(this.seen[e]=r,this.seen[n]=0),n}},{key:"slug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.serialize(e);return this.getNextSafeSlug(n,t.dryrun)}}]),e}(),ik=function(){function e(t){op(this,e),this.options=t||kD,this.options.renderer=this.options.renderer||new nk,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new rk,this.slugger=new ok}return ap(e,[{key:"parse",value:function(e){var t,n,r,o,i,a,u,l,s,c,d,f,p,h,m,v,g,y,b,x=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],Z="",w=e.length;for(t=0;t0&&"paragraph"===m.tokens[0].type?(m.tokens[0].text=y+" "+m.tokens[0].text,m.tokens[0].tokens&&m.tokens[0].tokens.length>0&&"text"===m.tokens[0].tokens[0].type&&(m.tokens[0].tokens[0].text=y+" "+m.tokens[0].tokens[0].text)):m.tokens.unshift({type:"text",text:y}):h+=y),h+=this.parse(m.tokens,p),s+=this.renderer.listitem(h,g,v);Z+=this.renderer.list(s,d,f);continue;case"html":Z+=this.renderer.html(c.text);continue;case"paragraph":Z+=this.renderer.paragraph(this.parseInline(c.tokens));continue;case"text":for(s=c.tokens?this.parseInline(c.tokens):c.text;t+1An error occurred:

    "+TD(l.message+"",!0)+"
    ";throw l}}ak.options=ak.setOptions=function(e){var t;return HD(ak.defaults,e),t=ak.defaults,kD=t,ak},ak.getDefaults=DD,ak.defaults=kD,ak.use=function(){for(var e=arguments.length,t=new Array(e),n=0;nAn error occurred:

    "+TD(r.message+"",!0)+"
    ";throw r}},ak.Parser=ik,ak.parser=ik.parse,ak.Renderer=nk,ak.TextRenderer=rk,ak.Lexer=tk,ak.lexer=tk.lex,ak.Tokenizer=GD,ak.Slugger=ok,ak.parse=ak;ak.options,ak.setOptions,ak.use,ak.walkTokens,ak.parseInline,ik.parse,tk.lex;var uk=function(e){var n=e.title,o=e.description,i=e.unit,a=e.expr,u=e.showLegend,l=e.filename,s=e.alias,c=rr().time.period,d=or(),f=(0,t.useRef)(null),p=(0,t.useState)(!0),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=(0,t.useState)({enable:!1,value:c.step||1}),y=(0,r.Z)(g,2),b=y[0],x=y[1],Z=(0,t.useState)({limits:{enable:!1,range:{1:[0,0]}}}),w=(0,r.Z)(Z,2),D=w[0],k=w[1],S=(0,t.useMemo)((function(){return Array.isArray(a)&&a.every((function(e){return e}))}),[a]),C=zm({predefinedQuery:S?a:[],display:"chart",visible:m,customStep:b}),_=C.isLoading,E=C.graphData,A=C.error,M=function(e){var t=vn({},D);t.limits.range=e,k(t)};return(0,t.useEffect)((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return v(e.isIntersecting)}))}),{threshold:.1});return f.current&&e.observe(f.current),function(){f.current&&e.unobserve(f.current)}}),[]),S?(0,ie.BX)(oo,{border:"1px solid",borderRadius:"2px",borderColor:"divider",width:"100%",height:"100%",ref:f,children:[(0,ie.BX)(oo,{px:2,py:1,display:"flex",flexWrap:"wrap",width:"100%",alignItems:"center",justifyContent:"space-between",borderBottom:"1px solid",borderColor:"divider",children:[(0,ie.tZ)(pc,{arrow:!0,componentsProps:{tooltip:{sx:{maxWidth:"100%"}}},title:(0,ie.BX)(oo,{sx:{p:1},children:[o&&(0,ie.BX)(oo,{mb:2,children:[(0,ie.tZ)(am,{fontWeight:"500",sx:{mb:.5,textDecoration:"underline"},children:"Description:"}),(0,ie.tZ)("div",{className:"panelDescription",dangerouslySetInnerHTML:{__html:ak.parse(o)}})]}),(0,ie.BX)(oo,{children:[(0,ie.tZ)(am,{fontWeight:"500",sx:{mb:.5,textDecoration:"underline"},children:"Queries:"}),(0,ie.tZ)("div",{children:a.map((function(e,t){return(0,ie.tZ)(oo,{mb:.5,children:e},"".concat(t,"_").concat(e))}))})]})]}),children:(0,ie.tZ)(wD.Z,{color:"info",sx:{mr:1}})}),(0,ie.tZ)(am,{component:"div",variant:"subtitle1",fontWeight:500,sx:{mr:2,py:1,flexGrow:"1"},children:n||""}),(0,ie.tZ)(oo,{mr:2,py:1,children:(0,ie.tZ)(Am,{defaultStep:c.step,customStepEnable:b.enable,setStep:function(e){return x(vn(vn({},b),{},{value:e}))},toggleEnableStep:function(){return x(vn(vn({},b),{},{enable:!b.enable}))}})}),(0,ie.tZ)(qv,{yaxis:D,setYaxisLimits:M,toggleEnableLimits:function(){var e=vn({},D);e.limits.enable=!e.limits.enable,k(e)}})]}),(0,ie.BX)(oo,{px:2,pb:2,children:[_&&(0,ie.tZ)(pg,{isLoading:!0,height:"500px"}),A&&(0,ie.tZ)(_t,{color:"error",severity:"error",sx:{whiteSpace:"pre-wrap",mt:2},children:A}),E&&(0,ie.tZ)(Zc,{data:E,period:c,customStep:b,query:a,yaxis:D,unit:i,alias:s,showLegend:u,setYaxisLimits:M,setPeriod:function(e){var t=e.from,n=e.to;d({type:"SET_PERIOD",payload:{from:t,to:n}})}})]})]}):(0,ie.BX)(_t,{color:"error",severity:"error",sx:{m:4},children:[(0,ie.tZ)("code",{children:'"expr"'})," not found. Check the configuration file ",(0,ie.tZ)("b",{children:l}),"."]})},lk={position:"absolute",top:0,bottom:0,width:"10px",opacity:0,cursor:"ew-resize"},sk=function(e){var n=e.index,o=e.title,i=e.panels,a=e.filename,u=yl(document.body),l=(0,t.useMemo)((function(){return u.width/12}),[u]),s=(0,t.useState)([]),c=(0,r.Z)(s,2),d=c[0],f=c[1];(0,t.useEffect)((function(){f(i.map((function(e){return e.width||12})))}),[i]);var p=(0,t.useState)({start:0,target:0,enable:!1}),h=(0,r.Z)(p,2),m=h[0],v=h[1],g=function(e){if(m.enable){var t=m.start,n=Math.ceil((t-e.clientX)/l);if(!(Math.abs(n)>=12)){var r=d.map((function(e,t){return e-(t===m.target?n:0)}));f(r)}}},y=function(){v(vn(vn({},m),{},{enable:!1}))};return(0,t.useEffect)((function(){return window.addEventListener("mousemove",g),window.addEventListener("mouseup",y),function(){window.removeEventListener("mousemove",g),window.removeEventListener("mouseup",y)}}),[m]),(0,ie.BX)(uD,{defaultExpanded:!n,sx:{boxShadow:"none"},children:[(0,ie.tZ)(mD,{sx:{px:3,bgcolor:"rgba(227, 242, 253, 0.6)"},"aria-controls":"panel".concat(n,"-content"),id:"panel".concat(n,"-header"),expandIcon:(0,ie.tZ)(ZD.Z,{}),children:(0,ie.BX)(oo,{display:"flex",alignItems:"center",width:"100%",children:[o&&(0,ie.tZ)(am,{variant:"h6",fontWeight:"bold",sx:{mr:2},children:o}),i&&(0,ie.BX)(am,{variant:"body2",fontStyle:"italic",children:["(",i.length," panels)"]})]})}),(0,ie.tZ)(xD,{sx:{display:"grid",gridGap:"10px"},children:(0,ie.tZ)(Iy,{container:!0,spacing:2,children:Array.isArray(i)&&i.length?i.map((function(e,t){return(0,ie.tZ)(Iy,{item:!0,xs:d[t],sx:{transition:"200ms"},children:(0,ie.BX)(oo,{position:"relative",height:"100%",children:[(0,ie.tZ)(uk,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:a,showLegend:e.showLegend}),(0,ie.tZ)("button",{style:vn(vn({},lk),{},{right:0}),onMouseDown:function(e){return function(e,t){v({start:e.clientX,target:t,enable:!0})}(e,t)}})]})},t)})):(0,ie.BX)(_t,{color:"error",severity:"error",sx:{m:4},children:[(0,ie.tZ)("code",{children:'"panels"'})," not found. Check the configuration file ",(0,ie.tZ)("b",{children:a}),"."]})})})]})},ck=function(){var e=(0,t.useState)(),n=(0,r.Z)(e,2),o=n[0],i=n[1],a=(0,t.useState)(0),u=(0,r.Z)(a,2),l=u[0],s=u[1],c=(0,t.useMemo)((function(){return Cn()(o,[l,"filename"],"")}),[o,l]),d=(0,t.useMemo)((function(){return Cn()(o,[l,"rows"],[])}),[o,l]);return(0,t.useEffect)((function(){i(window.__VMUI_PREDEFINED_DASHBOARDS__||[])}),[]),(0,ie.BX)(ie.HY,{children:[!o&&(0,ie.tZ)(_t,{color:"info",severity:"info",sx:{m:4},children:"Dashboards not found"}),o&&(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(oo,{sx:{borderBottom:1,borderColor:"divider"},children:(0,ie.tZ)(Pv,{value:l,onChange:function(e,t){return s(t)},"aria-label":"dashboard-tabs",children:o&&o.map((function(e,t){return(0,ie.tZ)(Lv,{label:e.title||e.filename,id:"tab-".concat(t),"aria-controls":"tabpanel-".concat(t)},t)}))})}),(0,ie.tZ)(oo,{children:Array.isArray(d)&&d.length?d.map((function(e,t){return(0,ie.tZ)(sk,{index:t,filename:c,title:e.title,panels:e.panels},"".concat(l,"_").concat(t))})):(0,ie.BX)(_t,{color:"error",severity:"error",sx:{m:4},children:[(0,ie.tZ)("code",{children:'"rows"'})," not found. Check the configuration file ",(0,ie.tZ)("b",{children:c}),"."]})})]})]})},dk=function(){return(0,ie.BX)(ie.HY,{children:[(0,ie.tZ)(Br,{})," ",(0,ie.BX)(Lr,{dateAdapter:Vr,children:[" ",(0,ie.tZ)(Sr,{injectFirst:!0,children:(0,ie.BX)(Tr,{theme:Dr,children:[" ",(0,ie.BX)(ar,{children:[" ",(0,ie.BX)(mr,{children:[" ",(0,ie.BX)(Zr,{children:[" ",(0,ie.BX)(hn,{children:[" ",(0,ie.tZ)(V,{children:(0,ie.tZ)(j,{children:(0,ie.BX)(N,{path:"/",element:(0,ie.tZ)($w,{}),children:[(0,ie.tZ)(N,{path:Ur,element:(0,ie.tZ)(hg,{})}),(0,ie.tZ)(N,{path:qr,element:(0,ie.tZ)(ck,{})})]})})})]})]})]})]})]})})]})]})},fk=function(e){e&&e instanceof Function&&n.e(27).then(n.bind(n,4027)).then((function(t){var n=t.getCLS,r=t.getFID,o=t.getFCP,i=t.getLCP,a=t.getTTFB;n(e),r(e),o(e),i(e),a(e)}))},pk=document.getElementById("root");pk&&(0,t.render)((0,ie.tZ)(dk,{}),pk),fk()}()}(); \ No newline at end of file diff --git a/app/vmui/packages/vmui/package-lock.json b/app/vmui/packages/vmui/package-lock.json index 320d99a26..41bd2f1c6 100644 --- a/app/vmui/packages/vmui/package-lock.json +++ b/app/vmui/packages/vmui/package-lock.json @@ -17808,6 +17808,16 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/svgo/node_modules/nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "peer": true, + "dependencies": { + "boolbase": "~1.0.0" + } + }, "node_modules/symbol-tree": { "version": "3.2.4", "resolved": "https://registry.npmjs.org/symbol-tree/-/symbol-tree-3.2.4.tgz", @@ -32692,7 +32702,7 @@ "boolbase": "^1.0.0", "css-what": "^3.2.1", "domutils": "^1.7.0", - "nth-check": "^2.0.1" + "nth-check": "^1.0.2" } }, "css-what": { @@ -32743,6 +32753,16 @@ "argparse": "^1.0.7", "esprima": "^4.0.0" } + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "peer": true, + "requires": { + "boolbase": "~1.0.0" + } } } },