From 21546e69224a17218c2c670549326061ae2e0788 Mon Sep 17 00:00:00 2001 From: panguicai <1121906548@qq.com> Date: Tue, 21 Feb 2023 23:57:54 +0800 Subject: [PATCH 01/33] docs: update operator release name to be consistent with the following (#3845) Signed-off-by: panguicai008 <1121906548@qq.com> --- docs/guides/getting-started-with-vm-operator.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/guides/getting-started-with-vm-operator.md b/docs/guides/getting-started-with-vm-operator.md index 131203ad4..57d2b7c6a 100644 --- a/docs/guides/getting-started-with-vm-operator.md +++ b/docs/guides/getting-started-with-vm-operator.md @@ -4,8 +4,8 @@ * The setup of a [VM Operator](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator) via Helm in [Kubernetes](https://kubernetes.io/) with Helm charts. * The setup of a [VictoriaMetrics Cluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html) via [VM Operator](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator). -* How to add CRD for a [VictoriaMetrics Cluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html) via [VM Operator](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator). -* How to visualize stored data +* How to add CRD for a [VictoriaMetrics Cluster](https://docs.victoriametrics.com/Cluster-VictoriaMetrics.html) via [VM Operator](https://github.com/VictoriaMetrics/helm-charts/tree/master/charts/victoria-metrics-operator). +* How to visualize stored data * How to store metrics in [VictoriaMetrics](https://victoriametrics.com) **Preconditions** @@ -16,14 +16,14 @@ ## 1. VictoriaMetrics Helm repository -See how to work with a [VictoriaMetrics Helm repository in previous guide](https://docs.victoriametrics.com/guides/k8s-monitoring-via-vm-cluster.html#1-victoriametrics-helm-repository). +See how to work with a [VictoriaMetrics Helm repository in previous guide](https://docs.victoriametrics.com/guides/k8s-monitoring-via-vm-cluster.html#1-victoriametrics-helm-repository). ## 2. Install the VM Operator from the Helm chart
```console -helm install operator vm/victoria-metrics-operator +helm install vmoperator vm/victoria-metrics-operator ```
@@ -148,7 +148,7 @@ vminsert-example-vmcluster-persistent ClusterIP 10.107.47.136 ``` To scrape metrics from Kubernetes with a VictoriaMetrics Cluster we will need to install [VMAgent](https://docs.victoriametrics.com/vmagent.html) with some additional configurations. -Copy `vminsert-example-vmcluster-persistent` (or whatever user put into metadata.name field [https://docs.victoriametrics.com/guides/getting-started-with-vm-operator.html#example-cluster-config](https://docs.victoriametrics.com/guides/getting-started-with-vm-operator.html#example-cluster-config)) service name and add it to the `remoteWrite` URL from [quick-start example](https://github.com/VictoriaMetrics/operator/blob/master/docs/quick-start.MD#vmagent). +Copy `vminsert-example-vmcluster-persistent` (or whatever user put into metadata.name field [https://docs.victoriametrics.com/guides/getting-started-with-vm-operator.html#example-cluster-config](https://docs.victoriametrics.com/guides/getting-started-with-vm-operator.html#example-cluster-config)) service name and add it to the `remoteWrite` URL from [quick-start example](https://github.com/VictoriaMetrics/operator/blob/master/docs/quick-start.MD#vmagent). Here is an example of the full configuration that we need to apply:
@@ -299,7 +299,7 @@ EOF ## 5. Check the result you obtained in your browser -To check that [VictoriaMetrics](https://victoriametrics.com) collecting metrics from the k8s cluster open in your browser [http://127.0.0.1:3000/dashboards](http://127.0.0.1:3000/dashboards) and choose the `VictoriaMetrics - cluster` dashboard. Use `admin` for login and the `password` that you previously got from kubectl. +To check that [VictoriaMetrics](https://victoriametrics.com) collecting metrics from the k8s cluster open in your browser [http://127.0.0.1:3000/dashboards](http://127.0.0.1:3000/dashboards) and choose the `VictoriaMetrics - cluster` dashboard. Use `admin` for login and the `password` that you previously got from kubectl.

grafana dashboards From 5446ce0018aba831e5d19d2f7d21e390bd46f7f1 Mon Sep 17 00:00:00 2001 From: Roman Khavronenko Date: Tue, 21 Feb 2023 22:16:15 +0100 Subject: [PATCH 02/33] docs: mention rules replay blogpost in vmalert docs (#3851) Signed-off-by: hagen1778 --- app/vmalert/README.md | 2 ++ docs/vmalert.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/app/vmalert/README.md b/app/vmalert/README.md index 2611f4441..617e73a75 100644 --- a/app/vmalert/README.md +++ b/app/vmalert/README.md @@ -621,6 +621,8 @@ can read the same rules configuration as normal, evaluate them on the given time results via remote write to the configured storage. vmalert supports any PromQL/MetricsQL compatible data source for backfilling. +See a blogpost about [Rules backfilling via vmalert](https://victoriametrics.com/blog/rules-replay/). + ### How it works In `replay` mode vmalert works as a cli-tool and exits immediately after work is done. diff --git a/docs/vmalert.md b/docs/vmalert.md index 3174642b3..c566abcad 100644 --- a/docs/vmalert.md +++ b/docs/vmalert.md @@ -625,6 +625,8 @@ can read the same rules configuration as normal, evaluate them on the given time results via remote write to the configured storage. vmalert supports any PromQL/MetricsQL compatible data source for backfilling. +See a blogpost about [Rules backfilling via vmalert](https://victoriametrics.com/blog/rules-replay/). + ### How it works In `replay` mode vmalert works as a cli-tool and exits immediately after work is done. From f04ec714c2d6af80d1f5a0ac91f116546ab580a4 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 21 Feb 2023 17:43:59 -0800 Subject: [PATCH 03/33] docs/Articles.md: mention `rules backfilling via vmalert` article This is a follow-up for 5446ce0018aba831e5d19d2f7d21e390bd46f7f1 --- docs/Articles.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/Articles.md b/docs/Articles.md index 88ab8083d..ce11d78db 100644 --- a/docs/Articles.md +++ b/docs/Articles.md @@ -112,6 +112,7 @@ See also [case studies](https://docs.victoriametrics.com/CaseStudies.html). * [How to monitor Go applications with VictoriaMetrics](https://victoriametrics.medium.com/how-to-monitor-go-applications-with-victoriametrics-c04703110870) * [Prometheus storage: tech terms for humans](https://valyala.medium.com/prometheus-storage-technical-terms-for-humans-4ab4de6c3d48) * [Cardinality explorer](https://victoriametrics.com/blog/cardinality-explorer/) +* [Rules backfilling via vmalert](https://victoriametrics.com/blog/rules-replay/) ### Other articles From ffebc20f6d6dff925df4fbd2e16c32b7e1e51806 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 21 Feb 2023 17:48:46 -0800 Subject: [PATCH 04/33] vendor: update github.com/VictoriaMetrics/fasthttp from v1.1.0 to v1.2.0 The v1.2.0 adds HostClient.DoCtx() function, which is needed by https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3747 for implementing fast canceling of pending requests to scrape targets on config update --- go.mod | 2 +- go.sum | 4 +- .../VictoriaMetrics/fasthttp/bytesconv_32.go | 1 + .../VictoriaMetrics/fasthttp/bytesconv_64.go | 1 + .../VictoriaMetrics/fasthttp/client.go | 41 ++++++++-- .../VictoriaMetrics/fasthttp/compress.go | 40 +++++----- .../VictoriaMetrics/fasthttp/doc.go | 77 ++++++++++++------- .../github.com/VictoriaMetrics/fasthttp/fs.go | 31 ++++---- .../VictoriaMetrics/fasthttp/header.go | 16 ++-- .../VictoriaMetrics/fasthttp/http.go | 64 +++++++-------- .../VictoriaMetrics/fasthttp/server.go | 53 +++++++------ .../VictoriaMetrics/fasthttp/tcpdialer.go | 44 +++++------ .../VictoriaMetrics/fasthttp/uri.go | 38 ++++----- .../VictoriaMetrics/fasthttp/uri_unix.go | 1 + .../VictoriaMetrics/fasthttp/uri_windows.go | 1 + vendor/modules.txt | 4 +- 16 files changed, 232 insertions(+), 186 deletions(-) diff --git a/go.mod b/go.mod index fb162011a..e1e903c7b 100644 --- a/go.mod +++ b/go.mod @@ -10,7 +10,7 @@ require ( // Do not use the original github.com/valyala/fasthttp because of issues // like https://github.com/valyala/fasthttp/commit/996610f021ff45fdc98c2ce7884d5fa4e7f9199b - github.com/VictoriaMetrics/fasthttp v1.1.0 + github.com/VictoriaMetrics/fasthttp v1.2.0 github.com/VictoriaMetrics/metrics v1.23.1 github.com/VictoriaMetrics/metricsql v0.56.1 github.com/aws/aws-sdk-go-v2 v1.17.4 diff --git a/go.sum b/go.sum index 2136b23f8..e5a78ea24 100644 --- a/go.sum +++ b/go.sum @@ -64,8 +64,8 @@ github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= github.com/VictoriaMetrics/fastcache v1.12.0 h1:vnVi/y9yKDcD9akmc4NqAoqgQhJrOwUF+j9LTgn4QDE= github.com/VictoriaMetrics/fastcache v1.12.0/go.mod h1:tjiYeEfYXCqacuvYw/7UoDIeJaNxq6132xHICNP77w8= -github.com/VictoriaMetrics/fasthttp v1.1.0 h1:3crd4YWHsMwu60GUXRH6OstowiFvqrwS4a/ueoLdLL0= -github.com/VictoriaMetrics/fasthttp v1.1.0/go.mod h1:/7DMcogqd+aaD3G3Hg5kFgoFwlR2uydjiWvoLp5ZTqQ= +github.com/VictoriaMetrics/fasthttp v1.2.0 h1:nd9Wng4DlNtaI27WlYh5mGXCJOmee/2c2blTJwfyU9I= +github.com/VictoriaMetrics/fasthttp v1.2.0/go.mod h1:zv5YSmasAoSyv8sBVexfArzFDIGGTN4TfCKAtAw7IfE= github.com/VictoriaMetrics/metrics v1.18.1/go.mod h1:ArjwVz7WpgpegX/JpB0zpNF2h2232kErkEnzH1sxMmA= github.com/VictoriaMetrics/metrics v1.23.1 h1:/j8DzeJBxSpL2qSIdqnRFLvQQhbJyJbbEi22yMm7oL0= github.com/VictoriaMetrics/metrics v1.23.1/go.mod h1:rAr/llLpEnAdTehiNlUxKgnjcOuROSzpw0GvjpEbvFc= diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_32.go b/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_32.go index 143775474..6b527f9c8 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_32.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_32.go @@ -1,3 +1,4 @@ +//go:build !amd64 && !arm64 && !ppc64 // +build !amd64,!arm64,!ppc64 package fasthttp diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_64.go b/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_64.go index 09d07ef10..870549e19 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_64.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/bytesconv_64.go @@ -1,3 +1,4 @@ +//go:build amd64 || arm64 || ppc64 // +build amd64 arm64 ppc64 package fasthttp diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/client.go b/vendor/github.com/VictoriaMetrics/fasthttp/client.go index 64b194df7..a88e56cc5 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/client.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/client.go @@ -3,6 +3,7 @@ package fasthttp import ( "bufio" "bytes" + "context" "crypto/tls" "errors" "fmt" @@ -872,17 +873,40 @@ func (c *HostClient) DoDeadline(req *Request, resp *Response, deadline time.Time return clientDoDeadline(req, resp, deadline, c) } +// DoCtx performs the given request and waits for response until +// the given context is cancelled or deadline is reached. +// +// Request must contain at least non-zero RequestURI with full url (including +// scheme and host) or non-zero Host header + RequestURI. +// +// The function doesn't follow redirects. Use Get* for following redirects. +// +// Response is ignored if resp is nil. +// +// ErrTimeout is returned if the response wasn't returned until +// the deadline provided by the given context. +// +// ErrNoFreeConns is returned if all HostClient.MaxConns connections +// to the host are busy. +// +// It is recommended obtaining req and resp via AcquireRequest +// and AcquireResponse in performance-critical code. +func (c *HostClient) DoCtx(ctx context.Context, req *Request, resp *Response) error { + return clientDoCtx(ctx, req, resp, c) +} + func clientDoTimeout(req *Request, resp *Response, timeout time.Duration, c clientDoer) error { deadline := time.Now().Add(timeout) return clientDoDeadline(req, resp, deadline, c) } func clientDoDeadline(req *Request, resp *Response, deadline time.Time, c clientDoer) error { - timeout := -time.Since(deadline) - if timeout <= 0 { - return ErrTimeout - } + ctx, cancel := context.WithDeadline(context.Background(), deadline) + defer cancel() + return clientDoCtx(ctx, req, resp, c) +} +func clientDoCtx(ctx context.Context, req *Request, resp *Response, c clientDoer) error { var ch chan error chv := errorChPool.Get() if chv == nil { @@ -910,7 +934,6 @@ func clientDoDeadline(req *Request, resp *Response, deadline time.Time, c client ch <- c.Do(reqCopy, respCopy) }() - tc := acquireTimer(timeout) var err error select { case err = <-ch: @@ -921,10 +944,12 @@ func clientDoDeadline(req *Request, resp *Response, deadline time.Time, c client ReleaseResponse(respCopy) ReleaseRequest(reqCopy) errorChPool.Put(chv) - case <-tc.C: - err = ErrTimeout + case <-ctx.Done(): + err = ctx.Err() + if errors.Is(err, context.DeadlineExceeded) { + err = ErrTimeout + } } - releaseTimer(tc) return err } diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/compress.go b/vendor/github.com/VictoriaMetrics/fasthttp/compress.go index ed2e0ad33..c37a807ea 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/compress.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/compress.go @@ -127,11 +127,11 @@ var ( // // Supported compression levels are: // -// * CompressNoCompression -// * CompressBestSpeed -// * CompressBestCompression -// * CompressDefaultCompression -// * CompressHuffmanOnly +// - CompressNoCompression +// - CompressBestSpeed +// - CompressBestCompression +// - CompressDefaultCompression +// - CompressHuffmanOnly func AppendGzipBytesLevel(dst, src []byte, level int) []byte { w := &byteSliceWriter{dst} WriteGzipLevel(w, src, level) @@ -143,11 +143,11 @@ func AppendGzipBytesLevel(dst, src []byte, level int) []byte { // // Supported compression levels are: // -// * CompressNoCompression -// * CompressBestSpeed -// * CompressBestCompression -// * CompressDefaultCompression -// * CompressHuffmanOnly +// - CompressNoCompression +// - CompressBestSpeed +// - CompressBestCompression +// - CompressDefaultCompression +// - CompressHuffmanOnly func WriteGzipLevel(w io.Writer, p []byte, level int) (int, error) { switch w.(type) { case *byteSliceWriter, @@ -224,11 +224,11 @@ func AppendGunzipBytes(dst, src []byte) ([]byte, error) { // // Supported compression levels are: // -// * CompressNoCompression -// * CompressBestSpeed -// * CompressBestCompression -// * CompressDefaultCompression -// * CompressHuffmanOnly +// - CompressNoCompression +// - CompressBestSpeed +// - CompressBestCompression +// - CompressDefaultCompression +// - CompressHuffmanOnly func AppendDeflateBytesLevel(dst, src []byte, level int) []byte { w := &byteSliceWriter{dst} WriteDeflateLevel(w, src, level) @@ -240,11 +240,11 @@ func AppendDeflateBytesLevel(dst, src []byte, level int) []byte { // // Supported compression levels are: // -// * CompressNoCompression -// * CompressBestSpeed -// * CompressBestCompression -// * CompressDefaultCompression -// * CompressHuffmanOnly +// - CompressNoCompression +// - CompressBestSpeed +// - CompressBestCompression +// - CompressDefaultCompression +// - CompressHuffmanOnly func WriteDeflateLevel(w io.Writer, p []byte, level int) (int, error) { switch w.(type) { case *byteSliceWriter, diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/doc.go b/vendor/github.com/VictoriaMetrics/fasthttp/doc.go index 501eff6f1..8ef161d56 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/doc.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/doc.go @@ -3,38 +3,57 @@ Package fasthttp provides fast HTTP server and client API. Fasthttp provides the following features: - * Optimized for speed. Easily handles more than 100K qps and more than 1M - concurrent keep-alive connections on modern hardware. - * Optimized for low memory usage. - * Easy 'Connection: Upgrade' support via RequestCtx.Hijack. - * Server supports requests' pipelining. Multiple requests may be read from - a single network packet and multiple responses may be sent in a single - network packet. This may be useful for highly loaded REST services. - * Server provides the following anti-DoS limits: + - Optimized for speed. Easily handles more than 100K qps and more than 1M + concurrent keep-alive connections on modern hardware. - * The number of concurrent connections. - * The number of concurrent connections per client IP. - * The number of requests per connection. - * Request read timeout. - * Response write timeout. - * Maximum request header size. - * Maximum request body size. - * Maximum request execution time. - * Maximum keep-alive connection lifetime. - * Early filtering out non-GET requests. + - Optimized for low memory usage. - * A lot of additional useful info is exposed to request handler: + - Easy 'Connection: Upgrade' support via RequestCtx.Hijack. - * Server and client address. - * Per-request logger. - * Unique request id. - * Request start time. - * Connection start time. - * Request sequence number for the current connection. + - Server supports requests' pipelining. Multiple requests may be read from + a single network packet and multiple responses may be sent in a single + network packet. This may be useful for highly loaded REST services. - * Client supports automatic retry on idempotent requests' failure. - * Fasthttp API is designed with the ability to extend existing client - and server implementations or to write custom client and server - implementations from scratch. + - Server provides the following anti-DoS limits: + + - The number of concurrent connections. + + - The number of concurrent connections per client IP. + + - The number of requests per connection. + + - Request read timeout. + + - Response write timeout. + + - Maximum request header size. + + - Maximum request body size. + + - Maximum request execution time. + + - Maximum keep-alive connection lifetime. + + - Early filtering out non-GET requests. + + - A lot of additional useful info is exposed to request handler: + + - Server and client address. + + - Per-request logger. + + - Unique request id. + + - Request start time. + + - Connection start time. + + - Request sequence number for the current connection. + + - Client supports automatic retry on idempotent requests' failure. + + - Fasthttp API is designed with the ability to extend existing client + and server implementations or to write custom client and server + implementations from scratch. */ package fasthttp diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/fs.go b/vendor/github.com/VictoriaMetrics/fasthttp/fs.go index 268021438..72629fb25 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/fs.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/fs.go @@ -51,8 +51,8 @@ func ServeFileUncompressed(ctx *RequestCtx, path string) { // // HTTP response may contain uncompressed file contents in the following cases: // -// * Missing 'Accept-Encoding: gzip' request header. -// * No write access to directory containing the file. +// - Missing 'Accept-Encoding: gzip' request header. +// - No write access to directory containing the file. // // Directory contents is returned if path points to directory. // @@ -69,8 +69,8 @@ func ServeFileBytes(ctx *RequestCtx, path []byte) { // // HTTP response may contain uncompressed file contents in the following cases: // -// * Missing 'Accept-Encoding: gzip' request header. -// * No write access to directory containing the file. +// - Missing 'Accept-Encoding: gzip' request header. +// - No write access to directory containing the file. // // Directory contents is returned if path points to directory. // @@ -123,12 +123,11 @@ type PathRewriteFunc func(ctx *RequestCtx) []byte // // Examples: // -// * host=foobar.com, slashesCount=0, original path="/foo/bar". +// - host=foobar.com, slashesCount=0, original path="/foo/bar". // Resulting path: "/foobar.com/foo/bar" // -// * host=img.aaa.com, slashesCount=1, original path="/images/123/456.jpg" +// - host=img.aaa.com, slashesCount=1, original path="/images/123/456.jpg" // Resulting path: "/img.aaa.com/123/456.jpg" -// func NewVHostPathRewriter(slashesCount int) PathRewriteFunc { return func(ctx *RequestCtx) []byte { path := stripLeadingSlashes(ctx.Path(), slashesCount) @@ -157,9 +156,9 @@ var strInvalidHost = []byte("invalid-host") // // Examples: // -// * slashesCount = 0, original path: "/foo/bar", result: "/foo/bar" -// * slashesCount = 1, original path: "/foo/bar", result: "/bar" -// * slashesCount = 2, original path: "/foo/bar", result: "" +// - slashesCount = 0, original path: "/foo/bar", result: "/foo/bar" +// - slashesCount = 1, original path: "/foo/bar", result: "/bar" +// - slashesCount = 2, original path: "/foo/bar", result: "" // // The returned path rewriter may be used as FS.PathRewrite . func NewPathSlashesStripper(slashesCount int) PathRewriteFunc { @@ -173,9 +172,9 @@ func NewPathSlashesStripper(slashesCount int) PathRewriteFunc { // // Examples: // -// * prefixSize = 0, original path: "/foo/bar", result: "/foo/bar" -// * prefixSize = 3, original path: "/foo/bar", result: "o/bar" -// * prefixSize = 7, original path: "/foo/bar", result: "r" +// - prefixSize = 0, original path: "/foo/bar", result: "/foo/bar" +// - prefixSize = 3, original path: "/foo/bar", result: "o/bar" +// - prefixSize = 7, original path: "/foo/bar", result: "r" // // The returned path rewriter may be used as FS.PathRewrite . func NewPathPrefixStripper(prefixSize int) PathRewriteFunc { @@ -273,9 +272,9 @@ const FSHandlerCacheDuration = 10 * time.Second // from requested path before searching requested file in the root folder. // Examples: // -// * stripSlashes = 0, original path: "/foo/bar", result: "/foo/bar" -// * stripSlashes = 1, original path: "/foo/bar", result: "/bar" -// * stripSlashes = 2, original path: "/foo/bar", result: "" +// - stripSlashes = 0, original path: "/foo/bar", result: "/foo/bar" +// - stripSlashes = 1, original path: "/foo/bar", result: "/bar" +// - stripSlashes = 2, original path: "/foo/bar", result: "" // // The returned request handler automatically generates index pages // for directories without index.html. diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/header.go b/vendor/github.com/VictoriaMetrics/fasthttp/header.go index f374c2b59..711329180 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/header.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/header.go @@ -90,8 +90,8 @@ func (h *ResponseHeader) SetContentRange(startPos, endPos, contentLength int) { // SetByteRange sets 'Range: bytes=startPos-endPos' header. // -// * If startPos is negative, then 'bytes=-startPos' value is set. -// * If endPos is negative, then 'bytes=startPos-' value is set. +// - If startPos is negative, then 'bytes=-startPos' value is set. +// - If endPos is negative, then 'bytes=startPos-' value is set. func (h *RequestHeader) SetByteRange(startPos, endPos int) { h.parseRawHeaders() @@ -1985,9 +1985,9 @@ func normalizeHeaderKey(b []byte) { // after dashes are also uppercased. All the other letters are lowercased. // Examples: // -// * coNTENT-TYPe -> Content-Type -// * HOST -> Host -// * foo-bar-baz -> Foo-Bar-Baz +// - coNTENT-TYPe -> Content-Type +// - HOST -> Host +// - foo-bar-baz -> Foo-Bar-Baz func AppendNormalizedHeaderKey(dst []byte, key string) []byte { dst = append(dst, key...) normalizeHeaderKey(dst[len(dst)-len(key):]) @@ -2001,9 +2001,9 @@ func AppendNormalizedHeaderKey(dst []byte, key string) []byte { // after dashes are also uppercased. All the other letters are lowercased. // Examples: // -// * coNTENT-TYPe -> Content-Type -// * HOST -> Host -// * foo-bar-baz -> Foo-Bar-Baz +// - coNTENT-TYPe -> Content-Type +// - HOST -> Host +// - foo-bar-baz -> Foo-Bar-Baz func AppendNormalizedHeaderKeyBytes(dst, key []byte) []byte { return AppendNormalizedHeaderKey(dst, b2s(key)) } diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/http.go b/vendor/github.com/VictoriaMetrics/fasthttp/http.go index 3c7fc56d1..795f8fbde 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/http.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/http.go @@ -216,14 +216,14 @@ func (resp *Response) IsBodyStream() bool { // // This function may be used in the following cases: // -// * if request body is too big (more than 10MB). -// * if request body is streamed from slow external sources. -// * if request body must be streamed to the server in chunks +// - if request body is too big (more than 10MB). +// - if request body is streamed from slow external sources. +// - if request body must be streamed to the server in chunks // (aka `http client push` or `chunked transfer-encoding`). // // Note that GET and HEAD requests cannot have body. // -/// See also SetBodyStream. +// / See also SetBodyStream. func (req *Request) SetBodyStreamWriter(sw StreamWriter) { sr := NewStreamReader(sw) req.SetBodyStream(sr, -1) @@ -233,9 +233,9 @@ func (req *Request) SetBodyStreamWriter(sw StreamWriter) { // // This function may be used in the following cases: // -// * if response body is too big (more than 10MB). -// * if response body is streamed from slow external sources. -// * if response body must be streamed to the client in chunks +// - if response body is too big (more than 10MB). +// - if response body is streamed from slow external sources. +// - if response body must be streamed to the client in chunks // (aka `http server push` or `chunked transfer-encoding`). // // See also SetBodyStream. @@ -831,11 +831,11 @@ func (resp *Response) resetSkipHeader() { // // If MayContinue returns true, the caller must: // -// - Either send StatusExpectationFailed response if request headers don't -// satisfy the caller. -// - Or send StatusContinue response before reading request body -// with ContinueReadBody. -// - Or close the connection. +// - Either send StatusExpectationFailed response if request headers don't +// satisfy the caller. +// - Or send StatusContinue response before reading request body +// with ContinueReadBody. +// - Or close the connection. // // io.EOF is returned if r is closed before reading the first header byte. func (req *Request) Read(r *bufio.Reader) error { @@ -857,11 +857,11 @@ var errGetOnly = errors.New("non-GET request received") // // If MayContinue returns true, the caller must: // -// - Either send StatusExpectationFailed response if request headers don't -// satisfy the caller. -// - Or send StatusContinue response before reading request body -// with ContinueReadBody. -// - Or close the connection. +// - Either send StatusExpectationFailed response if request headers don't +// satisfy the caller. +// - Or send StatusContinue response before reading request body +// with ContinueReadBody. +// - Or close the connection. // // io.EOF is returned if r is closed before reading the first header byte. func (req *Request) ReadLimitBody(r *bufio.Reader, maxBodySize int) error { @@ -900,11 +900,11 @@ func (req *Request) readLimitBody(r *bufio.Reader, maxBodySize int, getOnly bool // // The caller must do one of the following actions if MayContinue returns true: // -// - Either send StatusExpectationFailed response if request headers don't -// satisfy the caller. -// - Or send StatusContinue response before reading request body -// with ContinueReadBody. -// - Or close the connection. +// - Either send StatusExpectationFailed response if request headers don't +// satisfy the caller. +// - Or send StatusContinue response before reading request body +// with ContinueReadBody. +// - Or close the connection. func (req *Request) MayContinue() bool { return bytes.Equal(req.Header.peek(strExpect), str100Continue) } @@ -1138,11 +1138,11 @@ func (resp *Response) WriteGzip(w *bufio.Writer) error { // // Level is the desired compression level: // -// * CompressNoCompression -// * CompressBestSpeed -// * CompressBestCompression -// * CompressDefaultCompression -// * CompressHuffmanOnly +// - CompressNoCompression +// - CompressBestSpeed +// - CompressBestCompression +// - CompressDefaultCompression +// - CompressHuffmanOnly // // The method gzips response body and sets 'Content-Encoding: gzip' // header before writing response to w. @@ -1169,11 +1169,11 @@ func (resp *Response) WriteDeflate(w *bufio.Writer) error { // // Level is the desired compression level: // -// * CompressNoCompression -// * CompressBestSpeed -// * CompressBestCompression -// * CompressDefaultCompression -// * CompressHuffmanOnly +// - CompressNoCompression +// - CompressBestSpeed +// - CompressBestCompression +// - CompressDefaultCompression +// - CompressHuffmanOnly // // The method deflates response body and sets 'Content-Encoding: deflate' // header before writing response to w. diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/server.go b/vendor/github.com/VictoriaMetrics/fasthttp/server.go index c2432c840..309c78b92 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/server.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/server.go @@ -318,11 +318,11 @@ func CompressHandler(h RequestHandler) RequestHandler { // // Level is the desired compression level: // -// * CompressNoCompression -// * CompressBestSpeed -// * CompressBestCompression -// * CompressDefaultCompression -// * CompressHuffmanOnly +// - CompressNoCompression +// - CompressBestSpeed +// - CompressBestCompression +// - CompressDefaultCompression +// - CompressHuffmanOnly func CompressHandlerLevel(h RequestHandler, level int) RequestHandler { return func(ctx *RequestCtx) { h(ctx) @@ -405,8 +405,8 @@ type HijackHandler func(c net.Conn) // // The server skips calling the handler in the following cases: // -// * 'Connection: close' header exists in either request or response. -// * Unexpected error during response writing to the connection. +// - 'Connection: close' header exists in either request or response. +// - Unexpected error during response writing to the connection. // // The server stops processing requests from hijacked connections. // Server limits such as Concurrency, ReadTimeout, WriteTimeout, etc. @@ -417,9 +417,8 @@ type HijackHandler func(c net.Conn) // Arbitrary 'Connection: Upgrade' protocols may be implemented // with HijackHandler. For instance, // -// * WebSocket ( https://en.wikipedia.org/wiki/WebSocket ) -// * HTTP/2.0 ( https://en.wikipedia.org/wiki/HTTP/2 ) -// +// - WebSocket ( https://en.wikipedia.org/wiki/WebSocket ) +// - HTTP/2.0 ( https://en.wikipedia.org/wiki/HTTP/2 ) func (ctx *RequestCtx) Hijack(handler HijackHandler) { ctx.hijackHandler = handler } @@ -759,15 +758,15 @@ func SaveMultipartFile(fh *multipart.FileHeader, path string) error { // // The value is searched in the following places: // -// * Query string. -// * POST or PUT body. +// - Query string. +// - POST or PUT body. // // There are more fine-grained methods for obtaining form values: // -// * QueryArgs for obtaining values from query string. -// * PostArgs for obtaining values from POST or PUT body. -// * MultipartForm for obtaining values from multipart form. -// * FormFile for obtaining uploaded files. +// - QueryArgs for obtaining values from query string. +// - PostArgs for obtaining values from POST or PUT body. +// - MultipartForm for obtaining values from multipart form. +// - FormFile for obtaining uploaded files. // // The returned value is valid until returning from RequestHandler. func (ctx *RequestCtx) FormValue(key string) []byte { @@ -896,10 +895,10 @@ func (ctx *RequestCtx) SuccessString(contentType, body string) { // // statusCode must have one of the following values: // -// * StatusMovedPermanently (301) -// * StatusFound (302) -// * StatusSeeOther (303) -// * StatusTemporaryRedirect (307) +// - StatusMovedPermanently (301) +// - StatusFound (302) +// - StatusSeeOther (303) +// - StatusTemporaryRedirect (307) // // All other statusCode values are replaced by StatusFound (302). // @@ -918,10 +917,10 @@ func (ctx *RequestCtx) Redirect(uri string, statusCode int) { // // statusCode must have one of the following values: // -// * StatusMovedPermanently (301) -// * StatusFound (302) -// * StatusSeeOther (303) -// * StatusTemporaryRedirect (307) +// - StatusMovedPermanently (301) +// - StatusFound (302) +// - StatusSeeOther (303) +// - StatusTemporaryRedirect (307) // // All other statusCode values are replaced by StatusFound (302). // @@ -1056,9 +1055,9 @@ func (ctx *RequestCtx) SetBodyStream(bodyStream io.Reader, bodySize int) { // // This function may be used in the following cases: // -// * if response body is too big (more than 10MB). -// * if response body is streamed from slow external sources. -// * if response body must be streamed to the client in chunks. +// - if response body is too big (more than 10MB). +// - if response body is streamed from slow external sources. +// - if response body must be streamed to the client in chunks. // (aka `http server push`). func (ctx *RequestCtx) SetBodyStreamWriter(sw StreamWriter) { ctx.Response.SetBodyStreamWriter(sw) diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/tcpdialer.go b/vendor/github.com/VictoriaMetrics/fasthttp/tcpdialer.go index e31fd7585..0e03482bf 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/tcpdialer.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/tcpdialer.go @@ -13,12 +13,12 @@ import ( // // This function has the following additional features comparing to net.Dial: // -// * It reduces load on DNS resolver by caching resolved TCP addressed +// - It reduces load on DNS resolver by caching resolved TCP addressed // for DefaultDNSCacheDuration. -// * It dials all the resolved TCP addresses in round-robin manner until +// - It dials all the resolved TCP addresses in round-robin manner until // connection is established. This may be useful if certain addresses // are temporarily unreachable. -// * It returns ErrDialTimeout if connection cannot be established during +// - It returns ErrDialTimeout if connection cannot be established during // DefaultDialTimeout seconds. Use DialTimeout for customizing dial timeout. // // This dialer is intended for custom code wrapping before passing @@ -29,9 +29,9 @@ import ( // // The addr passed to the function must contain port. Example addr values: // -// * foobar.baz:443 -// * foo.bar:80 -// * aaa.com:8080 +// - foobar.baz:443 +// - foo.bar:80 +// - aaa.com:8080 func Dial(addr string) (net.Conn, error) { return getDialer(DefaultDialTimeout, false)(addr) } @@ -40,9 +40,9 @@ func Dial(addr string) (net.Conn, error) { // // This function has the following additional features comparing to net.Dial: // -// * It reduces load on DNS resolver by caching resolved TCP addressed +// - It reduces load on DNS resolver by caching resolved TCP addressed // for DefaultDNSCacheDuration. -// * It dials all the resolved TCP addresses in round-robin manner until +// - It dials all the resolved TCP addresses in round-robin manner until // connection is established. This may be useful if certain addresses // are temporarily unreachable. // @@ -54,9 +54,9 @@ func Dial(addr string) (net.Conn, error) { // // The addr passed to the function must contain port. Example addr values: // -// * foobar.baz:443 -// * foo.bar:80 -// * aaa.com:8080 +// - foobar.baz:443 +// - foo.bar:80 +// - aaa.com:8080 func DialTimeout(addr string, timeout time.Duration) (net.Conn, error) { return getDialer(timeout, false)(addr) } @@ -65,12 +65,12 @@ func DialTimeout(addr string, timeout time.Duration) (net.Conn, error) { // // This function has the following additional features comparing to net.Dial: // -// * It reduces load on DNS resolver by caching resolved TCP addressed +// - It reduces load on DNS resolver by caching resolved TCP addressed // for DefaultDNSCacheDuration. -// * It dials all the resolved TCP addresses in round-robin manner until +// - It dials all the resolved TCP addresses in round-robin manner until // connection is established. This may be useful if certain addresses // are temporarily unreachable. -// * It returns ErrDialTimeout if connection cannot be established during +// - It returns ErrDialTimeout if connection cannot be established during // DefaultDialTimeout seconds. Use DialDualStackTimeout for custom dial // timeout. // @@ -82,9 +82,9 @@ func DialTimeout(addr string, timeout time.Duration) (net.Conn, error) { // // The addr passed to the function must contain port. Example addr values: // -// * foobar.baz:443 -// * foo.bar:80 -// * aaa.com:8080 +// - foobar.baz:443 +// - foo.bar:80 +// - aaa.com:8080 func DialDualStack(addr string) (net.Conn, error) { return getDialer(DefaultDialTimeout, true)(addr) } @@ -94,9 +94,9 @@ func DialDualStack(addr string) (net.Conn, error) { // // This function has the following additional features comparing to net.Dial: // -// * It reduces load on DNS resolver by caching resolved TCP addressed +// - It reduces load on DNS resolver by caching resolved TCP addressed // for DefaultDNSCacheDuration. -// * It dials all the resolved TCP addresses in round-robin manner until +// - It dials all the resolved TCP addresses in round-robin manner until // connection is established. This may be useful if certain addresses // are temporarily unreachable. // @@ -108,9 +108,9 @@ func DialDualStack(addr string) (net.Conn, error) { // // The addr passed to the function must contain port. Example addr values: // -// * foobar.baz:443 -// * foo.bar:80 -// * aaa.com:8080 +// - foobar.baz:443 +// - foo.bar:80 +// - aaa.com:8080 func DialDualStackTimeout(addr string, timeout time.Duration) (net.Conn, error) { return getDialer(timeout, true)(addr) } diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/uri.go b/vendor/github.com/VictoriaMetrics/fasthttp/uri.go index 37572f5d1..504eb663b 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/uri.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/uri.go @@ -356,9 +356,9 @@ func (u *URI) RequestURI() []byte { // // Examples: // -// * For /foo/bar/baz.html path returns baz.html. -// * For /foo/bar/ returns empty byte slice. -// * For /foobar.js returns foobar.js. +// - For /foo/bar/baz.html path returns baz.html. +// - For /foo/bar/ returns empty byte slice. +// - For /foobar.js returns foobar.js. func (u *URI) LastPathSegment() []byte { path := u.Path() n := bytes.LastIndexByte(path, '/') @@ -372,14 +372,14 @@ func (u *URI) LastPathSegment() []byte { // // The following newURI types are accepted: // -// * Absolute, i.e. http://foobar.com/aaa/bb?cc . In this case the original -// uri is replaced by newURI. -// * Absolute without scheme, i.e. //foobar.com/aaa/bb?cc. In this case -// the original scheme is preserved. -// * Missing host, i.e. /aaa/bb?cc . In this case only RequestURI part -// of the original uri is replaced. -// * Relative path, i.e. xx?yy=abc . In this case the original RequestURI -// is updated according to the new relative path. +// - Absolute, i.e. http://foobar.com/aaa/bb?cc . In this case the original +// uri is replaced by newURI. +// - Absolute without scheme, i.e. //foobar.com/aaa/bb?cc. In this case +// the original scheme is preserved. +// - Missing host, i.e. /aaa/bb?cc . In this case only RequestURI part +// of the original uri is replaced. +// - Relative path, i.e. xx?yy=abc . In this case the original RequestURI +// is updated according to the new relative path. func (u *URI) Update(newURI string) { u.UpdateBytes(s2b(newURI)) } @@ -388,14 +388,14 @@ func (u *URI) Update(newURI string) { // // The following newURI types are accepted: // -// * Absolute, i.e. http://foobar.com/aaa/bb?cc . In this case the original -// uri is replaced by newURI. -// * Absolute without scheme, i.e. //foobar.com/aaa/bb?cc. In this case -// the original scheme is preserved. -// * Missing host, i.e. /aaa/bb?cc . In this case only RequestURI part -// of the original uri is replaced. -// * Relative path, i.e. xx?yy=abc . In this case the original RequestURI -// is updated according to the new relative path. +// - Absolute, i.e. http://foobar.com/aaa/bb?cc . In this case the original +// uri is replaced by newURI. +// - Absolute without scheme, i.e. //foobar.com/aaa/bb?cc. In this case +// the original scheme is preserved. +// - Missing host, i.e. /aaa/bb?cc . In this case only RequestURI part +// of the original uri is replaced. +// - Relative path, i.e. xx?yy=abc . In this case the original RequestURI +// is updated according to the new relative path. func (u *URI) UpdateBytes(newURI []byte) { u.requestURI = u.updateBytes(newURI, u.requestURI) } diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/uri_unix.go b/vendor/github.com/VictoriaMetrics/fasthttp/uri_unix.go index 1e3073329..c2ac8fa46 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/uri_unix.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/uri_unix.go @@ -1,3 +1,4 @@ +//go:build !windows // +build !windows package fasthttp diff --git a/vendor/github.com/VictoriaMetrics/fasthttp/uri_windows.go b/vendor/github.com/VictoriaMetrics/fasthttp/uri_windows.go index 95917a6bc..e1391a7ac 100644 --- a/vendor/github.com/VictoriaMetrics/fasthttp/uri_windows.go +++ b/vendor/github.com/VictoriaMetrics/fasthttp/uri_windows.go @@ -1,3 +1,4 @@ +//go:build windows // +build windows package fasthttp diff --git a/vendor/modules.txt b/vendor/modules.txt index ce27af556..cfe4e5993 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -63,8 +63,8 @@ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service # github.com/VictoriaMetrics/fastcache v1.12.0 ## explicit; go 1.13 github.com/VictoriaMetrics/fastcache -# github.com/VictoriaMetrics/fasthttp v1.1.0 -## explicit; go 1.13 +# github.com/VictoriaMetrics/fasthttp v1.2.0 +## explicit; go 1.19 github.com/VictoriaMetrics/fasthttp github.com/VictoriaMetrics/fasthttp/fasthttputil github.com/VictoriaMetrics/fasthttp/stackless From d59dc7616d82d7f2fb02013155c456a4a7c6fea9 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 21 Feb 2023 17:51:41 -0800 Subject: [PATCH 05/33] go.mod: update github.com/VictoriaMetrics/fastcache from v1.12.0 to v1.12.1 --- go.mod | 2 +- go.sum | 6 ++---- vendor/modules.txt | 2 +- 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/go.mod b/go.mod index e1e903c7b..ac2dd0e61 100644 --- a/go.mod +++ b/go.mod @@ -6,7 +6,7 @@ require ( cloud.google.com/go/storage v1.29.0 github.com/Azure/azure-sdk-for-go/sdk/azcore v1.3.1 github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.0.0 - github.com/VictoriaMetrics/fastcache v1.12.0 + github.com/VictoriaMetrics/fastcache v1.12.1 // Do not use the original github.com/valyala/fasthttp because of issues // like https://github.com/valyala/fasthttp/commit/996610f021ff45fdc98c2ce7884d5fa4e7f9199b diff --git a/go.sum b/go.sum index e5a78ea24..4899e41b1 100644 --- a/go.sum +++ b/go.sum @@ -62,8 +62,8 @@ github.com/AzureAD/microsoft-authentication-library-for-go v0.5.1 h1:BWe8a+f/t+7 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= github.com/Microsoft/go-winio v0.5.1 h1:aPJp2QD7OOrhO5tQXqQoGSJc+DjDtWTGLOmNyAm6FgY= -github.com/VictoriaMetrics/fastcache v1.12.0 h1:vnVi/y9yKDcD9akmc4NqAoqgQhJrOwUF+j9LTgn4QDE= -github.com/VictoriaMetrics/fastcache v1.12.0/go.mod h1:tjiYeEfYXCqacuvYw/7UoDIeJaNxq6132xHICNP77w8= +github.com/VictoriaMetrics/fastcache v1.12.1 h1:i0mICQuojGDL3KblA7wUNlY5lOK6a4bwt3uRKnkZU40= +github.com/VictoriaMetrics/fastcache v1.12.1/go.mod h1:tX04vaqcNoQeGLD+ra5pU5sWkuxnzWhEzLwhP9w653o= github.com/VictoriaMetrics/fasthttp v1.2.0 h1:nd9Wng4DlNtaI27WlYh5mGXCJOmee/2c2blTJwfyU9I= github.com/VictoriaMetrics/fasthttp v1.2.0/go.mod h1:zv5YSmasAoSyv8sBVexfArzFDIGGTN4TfCKAtAw7IfE= github.com/VictoriaMetrics/metrics v1.18.1/go.mod h1:ArjwVz7WpgpegX/JpB0zpNF2h2232kErkEnzH1sxMmA= @@ -133,7 +133,6 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44= github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/cheggaaa/pb/v3 v3.1.0 h1:3uouEsl32RL7gTiQsuaXD4Bzbfl5tGztXGUvXbs4O04= @@ -606,7 +605,6 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/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-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220405052023-b1e9470b6e64/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220503163025-988cb79eb6c6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= diff --git a/vendor/modules.txt b/vendor/modules.txt index cfe4e5993..1377d7ba3 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -60,7 +60,7 @@ github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/internal/shared github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/pageblob github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/sas github.com/Azure/azure-sdk-for-go/sdk/storage/azblob/service -# github.com/VictoriaMetrics/fastcache v1.12.0 +# github.com/VictoriaMetrics/fastcache v1.12.1 ## explicit; go 1.13 github.com/VictoriaMetrics/fastcache # github.com/VictoriaMetrics/fasthttp v1.2.0 From 836d56876a75f7bb5807cca3d85b0ab1945a6948 Mon Sep 17 00:00:00 2001 From: Aliaksandr Valialkin Date: Tue, 21 Feb 2023 18:06:20 -0800 Subject: [PATCH 06/33] vendor: `make vendor-update` --- go.mod | 43 +- go.sum | 82 +- .../github.com/aws/aws-sdk-go-v2/CHANGELOG.md | 1088 ++++++++++++++++ vendor/github.com/aws/aws-sdk-go-v2/Makefile | 16 +- .../aws-sdk-go-v2/aws/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/config/CHANGELOG.md | 4 + .../config/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/credentials/CHANGELOG.md | 4 + .../credentials/go_module_metadata.go | 2 +- .../feature/ec2/imds/CHANGELOG.md | 4 + .../feature/ec2/imds/go_module_metadata.go | 2 +- .../feature/s3/manager/CHANGELOG.md | 4 + .../feature/s3/manager/go_module_metadata.go | 2 +- .../internal/configsources/CHANGELOG.md | 4 + .../configsources/go_module_metadata.go | 2 +- .../internal/endpoints/v2/CHANGELOG.md | 4 + .../endpoints/v2/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/internal/ini/CHANGELOG.md | 4 + .../internal/ini/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/internal/v4a/CHANGELOG.md | 4 + .../internal/v4a/go_module_metadata.go | 2 +- .../service/internal/checksum/CHANGELOG.md | 4 + .../internal/checksum/go_module_metadata.go | 2 +- .../internal/presigned-url/CHANGELOG.md | 4 + .../presigned-url/go_module_metadata.go | 2 +- .../service/internal/s3shared/CHANGELOG.md | 4 + .../internal/s3shared/go_module_metadata.go | 2 +- .../aws/aws-sdk-go-v2/service/s3/CHANGELOG.md | 4 + .../service/s3/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/service/sso/CHANGELOG.md | 4 + .../service/sso/go_module_metadata.go | 2 +- .../service/ssooidc/CHANGELOG.md | 4 + .../service/ssooidc/go_module_metadata.go | 2 +- .../aws-sdk-go-v2/service/sts/CHANGELOG.md | 4 + .../service/sts/go_module_metadata.go | 2 +- .../aws/aws-sdk-go/aws/endpoints/defaults.go | 3 + .../github.com/aws/aws-sdk-go/aws/version.go | 2 +- .../github.com/json-iterator/go/.codecov.yml | 3 + vendor/github.com/json-iterator/go/.gitignore | 4 + .../github.com/json-iterator/go/.travis.yml | 14 + vendor/github.com/json-iterator/go/Gopkg.lock | 21 + vendor/github.com/json-iterator/go/Gopkg.toml | 26 + vendor/github.com/json-iterator/go/LICENSE | 21 + vendor/github.com/json-iterator/go/README.md | 85 ++ vendor/github.com/json-iterator/go/adapter.go | 150 +++ vendor/github.com/json-iterator/go/any.go | 325 +++++ .../github.com/json-iterator/go/any_array.go | 278 +++++ .../github.com/json-iterator/go/any_bool.go | 137 ++ .../github.com/json-iterator/go/any_float.go | 83 ++ .../github.com/json-iterator/go/any_int32.go | 74 ++ .../github.com/json-iterator/go/any_int64.go | 74 ++ .../json-iterator/go/any_invalid.go | 82 ++ vendor/github.com/json-iterator/go/any_nil.go | 69 ++ .../github.com/json-iterator/go/any_number.go | 123 ++ .../github.com/json-iterator/go/any_object.go | 374 ++++++ vendor/github.com/json-iterator/go/any_str.go | 166 +++ .../github.com/json-iterator/go/any_uint32.go | 74 ++ .../github.com/json-iterator/go/any_uint64.go | 74 ++ vendor/github.com/json-iterator/go/build.sh | 12 + vendor/github.com/json-iterator/go/config.go | 375 ++++++ .../go/fuzzy_mode_convert_table.md | 7 + vendor/github.com/json-iterator/go/iter.go | 349 ++++++ .../github.com/json-iterator/go/iter_array.go | 64 + .../github.com/json-iterator/go/iter_float.go | 342 +++++ .../github.com/json-iterator/go/iter_int.go | 346 ++++++ .../json-iterator/go/iter_object.go | 267 ++++ .../github.com/json-iterator/go/iter_skip.go | 130 ++ .../json-iterator/go/iter_skip_sloppy.go | 163 +++ .../json-iterator/go/iter_skip_strict.go | 99 ++ .../github.com/json-iterator/go/iter_str.go | 215 ++++ .../github.com/json-iterator/go/jsoniter.go | 18 + vendor/github.com/json-iterator/go/pool.go | 42 + vendor/github.com/json-iterator/go/reflect.go | 337 +++++ .../json-iterator/go/reflect_array.go | 104 ++ .../json-iterator/go/reflect_dynamic.go | 70 ++ .../json-iterator/go/reflect_extension.go | 483 ++++++++ .../json-iterator/go/reflect_json_number.go | 112 ++ .../go/reflect_json_raw_message.go | 76 ++ .../json-iterator/go/reflect_map.go | 346 ++++++ .../json-iterator/go/reflect_marshaler.go | 225 ++++ .../json-iterator/go/reflect_native.go | 453 +++++++ .../json-iterator/go/reflect_optional.go | 129 ++ .../json-iterator/go/reflect_slice.go | 99 ++ .../go/reflect_struct_decoder.go | 1097 +++++++++++++++++ .../go/reflect_struct_encoder.go | 211 ++++ vendor/github.com/json-iterator/go/stream.go | 210 ++++ .../json-iterator/go/stream_float.go | 111 ++ .../github.com/json-iterator/go/stream_int.go | 190 +++ .../github.com/json-iterator/go/stream_str.go | 372 ++++++ vendor/github.com/json-iterator/go/test.sh | 12 + .../modern-go/concurrent/.gitignore | 1 + .../modern-go/concurrent/.travis.yml | 14 + .../github.com/modern-go/concurrent/LICENSE | 201 +++ .../github.com/modern-go/concurrent/README.md | 49 + .../modern-go/concurrent/executor.go | 14 + .../modern-go/concurrent/go_above_19.go | 15 + .../modern-go/concurrent/go_below_19.go | 33 + vendor/github.com/modern-go/concurrent/log.go | 13 + .../github.com/modern-go/concurrent/test.sh | 12 + .../concurrent/unbounded_executor.go | 119 ++ .../github.com/modern-go/reflect2/.gitignore | 2 + .../github.com/modern-go/reflect2/.travis.yml | 15 + .../github.com/modern-go/reflect2/Gopkg.lock | 9 + .../github.com/modern-go/reflect2/Gopkg.toml | 31 + vendor/github.com/modern-go/reflect2/LICENSE | 201 +++ .../github.com/modern-go/reflect2/README.md | 71 ++ .../modern-go/reflect2/go_above_118.go | 23 + .../modern-go/reflect2/go_above_19.go | 17 + .../modern-go/reflect2/go_below_118.go | 21 + .../github.com/modern-go/reflect2/reflect2.go | 300 +++++ .../modern-go/reflect2/reflect2_amd64.s | 0 .../modern-go/reflect2/reflect2_kind.go | 30 + .../modern-go/reflect2/relfect2_386.s | 0 .../modern-go/reflect2/relfect2_amd64p32.s | 0 .../modern-go/reflect2/relfect2_arm.s | 0 .../modern-go/reflect2/relfect2_arm64.s | 0 .../modern-go/reflect2/relfect2_mips64x.s | 0 .../modern-go/reflect2/relfect2_mipsx.s | 0 .../modern-go/reflect2/relfect2_ppc64x.s | 0 .../modern-go/reflect2/relfect2_s390x.s | 0 .../modern-go/reflect2/safe_field.go | 58 + .../github.com/modern-go/reflect2/safe_map.go | 101 ++ .../modern-go/reflect2/safe_slice.go | 92 ++ .../modern-go/reflect2/safe_struct.go | 29 + .../modern-go/reflect2/safe_type.go | 78 ++ .../github.com/modern-go/reflect2/type_map.go | 70 ++ .../modern-go/reflect2/unsafe_array.go | 65 + .../modern-go/reflect2/unsafe_eface.go | 59 + .../modern-go/reflect2/unsafe_field.go | 74 ++ .../modern-go/reflect2/unsafe_iface.go | 64 + .../modern-go/reflect2/unsafe_link.go | 76 ++ .../modern-go/reflect2/unsafe_map.go | 130 ++ .../modern-go/reflect2/unsafe_ptr.go | 46 + .../modern-go/reflect2/unsafe_slice.go | 177 +++ .../modern-go/reflect2/unsafe_struct.go | 59 + .../modern-go/reflect2/unsafe_type.go | 85 ++ .../prometheus/common/expfmt/decode.go | 36 +- .../prometheus/common/expfmt/text_parse.go | 10 +- .../prometheus/common/model/value.go | 246 ++-- .../prometheus/common/model/value_float.go | 109 ++ .../common/model/value_histogram.go | 174 +++ .../prometheus/common/model/value_marshal.go | 131 ++ .../prometheus/common/model/value_type.go | 83 ++ vendor/github.com/rivo/uniseg/grapheme.go | 6 +- .../github.com/rivo/uniseg/graphemerules.go | 2 +- vendor/github.com/rivo/uniseg/line.go | 7 +- vendor/github.com/rivo/uniseg/sentence.go | 4 +- vendor/github.com/rivo/uniseg/step.go | 4 +- vendor/github.com/rivo/uniseg/word.go | 4 +- vendor/modules.txt | 49 +- 150 files changed, 13688 insertions(+), 280 deletions(-) create mode 100644 vendor/github.com/json-iterator/go/.codecov.yml create mode 100644 vendor/github.com/json-iterator/go/.gitignore create mode 100644 vendor/github.com/json-iterator/go/.travis.yml create mode 100644 vendor/github.com/json-iterator/go/Gopkg.lock create mode 100644 vendor/github.com/json-iterator/go/Gopkg.toml create mode 100644 vendor/github.com/json-iterator/go/LICENSE create mode 100644 vendor/github.com/json-iterator/go/README.md create mode 100644 vendor/github.com/json-iterator/go/adapter.go create mode 100644 vendor/github.com/json-iterator/go/any.go create mode 100644 vendor/github.com/json-iterator/go/any_array.go create mode 100644 vendor/github.com/json-iterator/go/any_bool.go create mode 100644 vendor/github.com/json-iterator/go/any_float.go create mode 100644 vendor/github.com/json-iterator/go/any_int32.go create mode 100644 vendor/github.com/json-iterator/go/any_int64.go create mode 100644 vendor/github.com/json-iterator/go/any_invalid.go create mode 100644 vendor/github.com/json-iterator/go/any_nil.go create mode 100644 vendor/github.com/json-iterator/go/any_number.go create mode 100644 vendor/github.com/json-iterator/go/any_object.go create mode 100644 vendor/github.com/json-iterator/go/any_str.go create mode 100644 vendor/github.com/json-iterator/go/any_uint32.go create mode 100644 vendor/github.com/json-iterator/go/any_uint64.go create mode 100644 vendor/github.com/json-iterator/go/build.sh create mode 100644 vendor/github.com/json-iterator/go/config.go create mode 100644 vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md create mode 100644 vendor/github.com/json-iterator/go/iter.go create mode 100644 vendor/github.com/json-iterator/go/iter_array.go create mode 100644 vendor/github.com/json-iterator/go/iter_float.go create mode 100644 vendor/github.com/json-iterator/go/iter_int.go create mode 100644 vendor/github.com/json-iterator/go/iter_object.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip_sloppy.go create mode 100644 vendor/github.com/json-iterator/go/iter_skip_strict.go create mode 100644 vendor/github.com/json-iterator/go/iter_str.go create mode 100644 vendor/github.com/json-iterator/go/jsoniter.go create mode 100644 vendor/github.com/json-iterator/go/pool.go create mode 100644 vendor/github.com/json-iterator/go/reflect.go create mode 100644 vendor/github.com/json-iterator/go/reflect_array.go create mode 100644 vendor/github.com/json-iterator/go/reflect_dynamic.go create mode 100644 vendor/github.com/json-iterator/go/reflect_extension.go create mode 100644 vendor/github.com/json-iterator/go/reflect_json_number.go create mode 100644 vendor/github.com/json-iterator/go/reflect_json_raw_message.go create mode 100644 vendor/github.com/json-iterator/go/reflect_map.go create mode 100644 vendor/github.com/json-iterator/go/reflect_marshaler.go create mode 100644 vendor/github.com/json-iterator/go/reflect_native.go create mode 100644 vendor/github.com/json-iterator/go/reflect_optional.go create mode 100644 vendor/github.com/json-iterator/go/reflect_slice.go create mode 100644 vendor/github.com/json-iterator/go/reflect_struct_decoder.go create mode 100644 vendor/github.com/json-iterator/go/reflect_struct_encoder.go create mode 100644 vendor/github.com/json-iterator/go/stream.go create mode 100644 vendor/github.com/json-iterator/go/stream_float.go create mode 100644 vendor/github.com/json-iterator/go/stream_int.go create mode 100644 vendor/github.com/json-iterator/go/stream_str.go create mode 100644 vendor/github.com/json-iterator/go/test.sh create mode 100644 vendor/github.com/modern-go/concurrent/.gitignore create mode 100644 vendor/github.com/modern-go/concurrent/.travis.yml create mode 100644 vendor/github.com/modern-go/concurrent/LICENSE create mode 100644 vendor/github.com/modern-go/concurrent/README.md create mode 100644 vendor/github.com/modern-go/concurrent/executor.go create mode 100644 vendor/github.com/modern-go/concurrent/go_above_19.go create mode 100644 vendor/github.com/modern-go/concurrent/go_below_19.go create mode 100644 vendor/github.com/modern-go/concurrent/log.go create mode 100644 vendor/github.com/modern-go/concurrent/test.sh create mode 100644 vendor/github.com/modern-go/concurrent/unbounded_executor.go create mode 100644 vendor/github.com/modern-go/reflect2/.gitignore create mode 100644 vendor/github.com/modern-go/reflect2/.travis.yml create mode 100644 vendor/github.com/modern-go/reflect2/Gopkg.lock create mode 100644 vendor/github.com/modern-go/reflect2/Gopkg.toml create mode 100644 vendor/github.com/modern-go/reflect2/LICENSE create mode 100644 vendor/github.com/modern-go/reflect2/README.md create mode 100644 vendor/github.com/modern-go/reflect2/go_above_118.go create mode 100644 vendor/github.com/modern-go/reflect2/go_above_19.go create mode 100644 vendor/github.com/modern-go/reflect2/go_below_118.go create mode 100644 vendor/github.com/modern-go/reflect2/reflect2.go create mode 100644 vendor/github.com/modern-go/reflect2/reflect2_amd64.s create mode 100644 vendor/github.com/modern-go/reflect2/reflect2_kind.go create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_386.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_amd64p32.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_arm.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_arm64.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_mips64x.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_mipsx.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_ppc64x.s create mode 100644 vendor/github.com/modern-go/reflect2/relfect2_s390x.s create mode 100644 vendor/github.com/modern-go/reflect2/safe_field.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_map.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_slice.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_struct.go create mode 100644 vendor/github.com/modern-go/reflect2/safe_type.go create mode 100644 vendor/github.com/modern-go/reflect2/type_map.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_array.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_eface.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_field.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_iface.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_link.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_map.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_ptr.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_slice.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_struct.go create mode 100644 vendor/github.com/modern-go/reflect2/unsafe_type.go create mode 100644 vendor/github.com/prometheus/common/model/value_float.go create mode 100644 vendor/github.com/prometheus/common/model/value_histogram.go create mode 100644 vendor/github.com/prometheus/common/model/value_marshal.go create mode 100644 vendor/github.com/prometheus/common/model/value_type.go diff --git a/go.mod b/go.mod index ac2dd0e61..f076ba117 100644 --- a/go.mod +++ b/go.mod @@ -13,10 +13,10 @@ require ( github.com/VictoriaMetrics/fasthttp v1.2.0 github.com/VictoriaMetrics/metrics v1.23.1 github.com/VictoriaMetrics/metricsql v0.56.1 - github.com/aws/aws-sdk-go-v2 v1.17.4 - github.com/aws/aws-sdk-go-v2/config v1.18.13 - github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.53 - github.com/aws/aws-sdk-go-v2/service/s3 v1.30.3 + github.com/aws/aws-sdk-go-v2 v1.17.5 + github.com/aws/aws-sdk-go-v2/config v1.18.14 + github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.54 + github.com/aws/aws-sdk-go-v2/service/s3 v1.30.4 github.com/cespare/xxhash/v2 v2.2.0 github.com/cheggaaa/pb/v3 v3.1.0 github.com/gogo/protobuf v1.3.2 @@ -47,21 +47,21 @@ require ( github.com/Azure/azure-sdk-for-go/sdk/internal v1.1.2 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/alecthomas/units v0.0.0-20211218093645-b94a6e3cc137 // indirect - github.com/aws/aws-sdk-go v1.44.204 // indirect + github.com/aws/aws-sdk-go v1.44.206 // indirect github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.22 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.28 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.22 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.3.29 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.20 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.13.14 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.23 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.29 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.23 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.3.30 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.21 // indirect github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.23 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.22 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.22 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.12.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.2 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.18.3 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.24 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.23 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.23 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.12.3 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.3 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.18.4 // indirect github.com/aws/smithy-go v1.13.5 // indirect github.com/beorn7/perks v1.0.1 // indirect github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect @@ -81,20 +81,23 @@ require ( github.com/grafana/regexp v0.0.0-20221122212121-6b5c0a4cb7fd // indirect github.com/jmespath/go-jmespath v0.4.0 // indirect github.com/jpillora/backoff v1.0.0 // indirect + github.com/json-iterator/go v1.1.12 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.17 // indirect github.com/mattn/go-runewidth v0.0.14 // indirect github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect + github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect + github.com/modern-go/reflect2 v1.0.2 // indirect github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f // indirect github.com/oklog/ulid v1.3.1 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_golang v1.14.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect - github.com/prometheus/common v0.39.0 // indirect + github.com/prometheus/common v0.40.0 // indirect github.com/prometheus/common/sigv4 v0.1.0 // indirect github.com/prometheus/procfs v0.9.0 // indirect - github.com/rivo/uniseg v0.4.3 // indirect + github.com/rivo/uniseg v0.4.4 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/stretchr/testify v1.8.1 // indirect github.com/valyala/bytebufferpool v1.0.0 // indirect @@ -112,7 +115,7 @@ require ( golang.org/x/time v0.3.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 // indirect + google.golang.org/genproto v0.0.0-20230221151758-ace64dc21148 // indirect google.golang.org/grpc v1.53.0 // indirect google.golang.org/protobuf v1.28.1 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 4899e41b1..137dee607 100644 --- a/go.sum +++ b/go.sum @@ -87,44 +87,44 @@ github.com/andybalholm/brotli v1.0.2/go.mod h1:loMXtMfwqflxFJPmdbJO0a3KNoPuLBgiu github.com/andybalholm/brotli v1.0.3/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig= github.com/armon/go-metrics v0.3.10 h1:FR+drcQStOe+32sYyJYyZ7FIdgoGGBnwLl+flodp8Uo= github.com/aws/aws-sdk-go v1.38.35/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro= -github.com/aws/aws-sdk-go v1.44.204 h1:7/tPUXfNOHB390A63t6fJIwmlwVQAkAwcbzKsU2/6OQ= -github.com/aws/aws-sdk-go v1.44.204/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= -github.com/aws/aws-sdk-go-v2 v1.17.4 h1:wyC6p9Yfq6V2y98wfDsj6OnNQa4w2BLGCLIxzNhwOGY= -github.com/aws/aws-sdk-go-v2 v1.17.4/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= +github.com/aws/aws-sdk-go v1.44.206 h1:xC7O40wdnKH4A95KdYt+smXl9hig1vu9b3mFxAxUoak= +github.com/aws/aws-sdk-go v1.44.206/go.mod h1:aVsgQcEevwlmQ7qHE9I3h+dtQgpqhFB+i8Phjh7fkwI= +github.com/aws/aws-sdk-go-v2 v1.17.5 h1:TzCUW1Nq4H8Xscph5M/skINUitxM5UBAyvm2s7XBzL4= +github.com/aws/aws-sdk-go-v2 v1.17.5/go.mod h1:uzbQtefpm44goOPmdKyAlXSNcwlRgF3ePWVW6EtJvvw= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10 h1:dK82zF6kkPeCo8J1e+tGx4JdvDIQzj7ygIoLg8WMuGs= github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.4.10/go.mod h1:VeTZetY5KRJLuD/7fkQXMU6Mw7H5m/KP2J5Iy9osMno= -github.com/aws/aws-sdk-go-v2/config v1.18.13 h1:v0xlYqbO6/EVlM8tUn2QEOA7btQxcgidEq2JRDBPTho= -github.com/aws/aws-sdk-go-v2/config v1.18.13/go.mod h1:r39wGSZB7wPDW1i54JyQXUpc5KsWjh5z/3S5D9eCqDg= -github.com/aws/aws-sdk-go-v2/credentials v1.13.13 h1:zw1KAc1kl00NYd3ofVmFrb09qnYlSQMeh+fmlQRAihI= -github.com/aws/aws-sdk-go-v2/credentials v1.13.13/go.mod h1:DW9nbIIF9MrIja0cBQrUpeWYQMSlNmP8fevLUyF9W38= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.22 h1:3aMfcTmoXtTZnaT86QlVaYh+BRMbvrrmZwIQ5jWqCZQ= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.22/go.mod h1:YGSIJyQ6D6FjKMQh16hVFSIUD54L4F7zTGePqYMYYJU= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.53 h1:h1MmqGtYgkf49DhG2BSjGukpm8c+BJ9CL+bBbdFGzlk= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.53/go.mod h1:mlWLxwKZNeEwE+3Pko07lSr1NvHZwUtdzmo9AiGn7QU= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.28 h1:r+XwaCLpIvCKjBIYy/HVZujQS9tsz5ohHG3ZIe0wKoE= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.28/go.mod h1:3lwChorpIM/BhImY/hy+Z6jekmN92cXGPI1QJasVPYY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.22 h1:7AwGYXDdqRQYsluvKFmWoqpcOQJ4bH634SkYf3FNj/A= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.22/go.mod h1:EqK7gVrIGAHyZItrD1D8B0ilgwMD1GiWAmbU4u/JHNk= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.29 h1:J4xhFd6zHhdF9jPP0FQJ6WknzBboGMBNjKOv4iTuw4A= -github.com/aws/aws-sdk-go-v2/internal/ini v1.3.29/go.mod h1:TwuqRBGzxjQJIwH16/fOZodwXt2Zxa9/cwJC5ke4j7s= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.20 h1:YIvKIfPXQVp0EhXUV644kmQo6cQPPSRmC44A1HSoJeg= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.20/go.mod h1:8W88sW3PjamQpKFUQvHWWKay6ARsNvZnzU7+a4apubw= +github.com/aws/aws-sdk-go-v2/config v1.18.14 h1:rI47jCe0EzuJlAO5ptREe3LIBAyP5c7gR3wjyYVjuOM= +github.com/aws/aws-sdk-go-v2/config v1.18.14/go.mod h1:0pI6JQBHKwd0JnwAZS3VCapLKMO++UL2BOkWwyyzTnA= +github.com/aws/aws-sdk-go-v2/credentials v1.13.14 h1:jE34fUepssrhmYpvPpdbd+d39PHpuignDpNPNJguP60= +github.com/aws/aws-sdk-go-v2/credentials v1.13.14/go.mod h1:85ckagDuzdIOnZRwws1eLKnymJs3ZM1QwVC1XcuNGOY= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.23 h1:Kbiv9PGnQfG/imNI4L/heyUXvzKmcWSBeDvkrQz5pFc= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.12.23/go.mod h1:mOtmAg65GT1HIL/HT/PynwPbS+UG0BgCZ6vhkPqnxWo= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.54 h1:u4Cyifho7bnp6NeTCS8zAuxqzycHla4PSJvwXlU8ELI= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.11.54/go.mod h1:a8gjZYNkBoxPMaA4mIoBT1M+4rOAcJUgFeaxVopMS+k= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.29 h1:9/aKwwus0TQxppPXFmf010DFrE+ssSbzroLVYINA+xE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.1.29/go.mod h1:Dip3sIGv485+xerzVv24emnjX5Sg88utCL8fwGmCeWg= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.23 h1:b/Vn141DBuLVgXbhRWIrl9g+ww7G+ScV5SzniWR13jQ= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.4.23/go.mod h1:mr6c4cHC+S/MMkrjtSlG4QA36kOznDep+0fga5L/fGQ= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.30 h1:IVx9L7YFhpPq0tTnGo8u8TpluFu7nAn9X3sUDMb11c0= +github.com/aws/aws-sdk-go-v2/internal/ini v1.3.30/go.mod h1:vsbq62AOBwQ1LJ/GWKFxX8beUEYeRp/Agitrxee2/qM= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.21 h1:QdxdY43AiwsqG/VAqHA7bIVSm3rKr8/p9i05ydA0/RM= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.0.21/go.mod h1:QtIEat7ksHH8nFItljyvMI0dGj8lipK2XZ4PhNihTEU= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11 h1:y2+VQzC6Zh2ojtV2LoC0MNwHWc6qXv/j2vrQtlftkdA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.9.11/go.mod h1:iV4q2hsqtNECrfmlXyord9u4zyuFEJX9eLgLpSPzWA8= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.23 h1:c5+bNdV8E4fIPteWx4HZSkqI07oY9exbfQ7JH7Yx4PI= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.23/go.mod h1:1jcUfF+FAOEwtIcNiHPaV4TSoZqkUIPzrohmD7fb95c= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.22 h1:LjFQf8hFuMO22HkV5VWGLBvmCLBCLPivUAmpdpnp4Vs= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.22/go.mod h1:xt0Au8yPIwYXf/GYPy/vl4K3CgwhfQMYbrH7DlUUIws= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.22 h1:ISLJ2BKXe4zzyZ7mp5ewKECiw0U7KpLgS3S6OxY9Cm0= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.22/go.mod h1:QFVbqK54XArazLvn2wvWMRBi/jGrWii46qbr5DyPGjc= -github.com/aws/aws-sdk-go-v2/service/s3 v1.30.3 h1:PVieHTwugdlHedlxLpYLQsOZAq736RScuEb/m4zhzc4= -github.com/aws/aws-sdk-go-v2/service/s3 v1.30.3/go.mod h1:XN3YcdmnWYZ3Hrnojvo5p2mc/wfF973nkq3ClXPDMHk= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.2 h1:EN102fWY7hI5u/2FPheTrwwMHkSXfl49RYkeEnJsrCU= -github.com/aws/aws-sdk-go-v2/service/sso v1.12.2/go.mod h1:IgV8l3sj22nQDd5qcAGY0WenwCzCphqdbFOpfktZPrI= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.2 h1:f1lmlce7r13CX1BPyPqt9oh/H+uqOWc9367lDoGGwNQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.2/go.mod h1:O1YSOg3aekZibh2SngvCRRG+cRHKKlYgxf/JBF/Kr/k= -github.com/aws/aws-sdk-go-v2/service/sts v1.18.3 h1:s49mSnsBZEXjfGBkRfmK+nPqzT7Lt3+t2SmAKNyHblw= -github.com/aws/aws-sdk-go-v2/service/sts v1.18.3/go.mod h1:b+psTJn33Q4qGoDaM7ZiOVVG8uVjGI6HaZ8WBHdgDgU= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.24 h1:Qmm8klpAdkuN3/rPrIMa/hZQ1z93WMBPjOzdAsbSnlo= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.1.24/go.mod h1:QelGeWBVRh9PbbXsfXKTFlU9FjT6W2yP+dW5jMQzOkg= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.23 h1:QoOybhwRfciWUBbZ0gp9S7XaDnCuSTeK/fySB99V1ls= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.9.23/go.mod h1:9uPh+Hrz2Vn6oMnQYiUi/zbh3ovbnQk19YKINkQny44= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.23 h1:qc+RW0WWZ2KApMnsu/EVCPqLTyIH55uc7YQq7mq4XqE= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.13.23/go.mod h1:FJhZWVWBCcgAF8jbep7pxQ1QUsjzTwa9tvEXGw2TDRo= +github.com/aws/aws-sdk-go-v2/service/s3 v1.30.4 h1:0eeEl2lyZkZPhPCt9ggIr3PbCbvae3vfggTkeqJ4O98= +github.com/aws/aws-sdk-go-v2/service/s3 v1.30.4/go.mod h1:Dze3kNt4T+Dgb8YCfuIFSBLmE6hadKNxqfdF0Xmqz1I= +github.com/aws/aws-sdk-go-v2/service/sso v1.12.3 h1:bUeZTWfF1vBdZnoNnnq70rB/CzdZD7NR2Jg2Ax+rvjA= +github.com/aws/aws-sdk-go-v2/service/sso v1.12.3/go.mod h1:jtLIhd+V+lft6ktxpItycqHqiVXrPIRjWIsFIlzMriw= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.3 h1:G/+7NUi+q+H0LG3v32jfV4OkaQIcpI92g0owbXKk6NY= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.14.3/go.mod h1:zVwRrfdSmbRZWkUkWjOItY7SOalnFnq/Yg2LVPqDjwc= +github.com/aws/aws-sdk-go-v2/service/sts v1.18.4 h1:j0USUNbl9c/8tBJ8setEbwxc7wva0WyoeAaFRiyTUT8= +github.com/aws/aws-sdk-go-v2/service/sts v1.18.4/go.mod h1:1mKZHLLpDMHTNSYPJ7qrcnCQdHCWsNQaT0xRvq2u80s= github.com/aws/smithy-go v1.13.5 h1:hgz0X/DX0dGqTYpGALqXJoRKRj5oQ7150i5FdTePzO8= github.com/aws/smithy-go v1.13.5/go.mod h1:Tg+OJXh4MB2R/uN61Ko2f6hTZwB/ZYGOtib8J3gBHzA= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -307,6 +307,7 @@ github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCV github.com/json-iterator/go v1.1.10/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= +github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= @@ -351,6 +352,7 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2 h1:xBagoLtFs94CBntxluKeaWgTMpvLxC4ur3nMaC9Gz0M= +github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f h1:KUppIJq7/+SVif2QVs3tOP0zanoHgBEVAwHxUSIzRqU= @@ -383,8 +385,8 @@ github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y8 github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo= github.com/prometheus/common v0.26.0/go.mod h1:M7rCNAaPfAosfx8veZJCuw84e35h3Cfd9VFqTh1DIvc= github.com/prometheus/common v0.29.0/go.mod h1:vu+V0TpY+O6vW9J44gczi3Ap/oXXR10b+M/gUGO4Hls= -github.com/prometheus/common v0.39.0 h1:oOyhkDq05hPZKItWVBkJ6g6AtGxi+fy7F4JvUV8uhsI= -github.com/prometheus/common v0.39.0/go.mod h1:6XBZ7lYdLCbkAVhwRsWTZn+IN5AB9F/NXd5w0BbEX0Y= +github.com/prometheus/common v0.40.0 h1:Afz7EVRqGg2Mqqf4JuF9vdvp1pi220m55Pi9T2JnO4Q= +github.com/prometheus/common v0.40.0/go.mod h1:L65ZJPSmfn/UBWLQIHV7dBrKFidB/wPlF1y5TlSt9OE= github.com/prometheus/common/sigv4 v0.1.0 h1:qoVebwtwwEhS85Czm2dSROY5fTo2PAPEVdDeppTwGX4= github.com/prometheus/common/sigv4 v0.1.0/go.mod h1:2Jkxxk9yYvCkE5G1sQT7GuEXm57JrvHu9k5YwTjsNtI= github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= @@ -397,8 +399,8 @@ github.com/prometheus/prometheus v0.42.0 h1:G769v8covTkOiNckXFIwLx01XE04OE6Fr0JP github.com/prometheus/prometheus v0.42.0/go.mod h1:Pfqb/MLnnR2KK+0vchiaH39jXxvLMBk+3lnIGP4N7Vk= github.com/rivo/uniseg v0.1.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= -github.com/rivo/uniseg v0.4.3 h1:utMvzDsuh3suAEnhH0RdHmoPbU648o6CvXxTx4SBMOw= -github.com/rivo/uniseg v0.4.3/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rivo/uniseg v0.4.4 h1:8TfxU8dW6PdqD27gjM8MVNuicgxIjxpm4K7x4jp8sis= +github.com/rivo/uniseg v0.4.4/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= 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= @@ -736,8 +738,8 @@ google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44 h1:EfLuoKW5WfkgVdDy7dTK8qSbH37AX5mj/MFh+bGPz14= -google.golang.org/genproto v0.0.0-20230216225411-c8e22ba71e44/go.mod h1:8B0gmkoRebU8ukX6HP+4wrVQUY1+6PkQ44BSyIlflHA= +google.golang.org/genproto v0.0.0-20230221151758-ace64dc21148 h1:muK+gVBJBfFb4SejshDBlN2/UgxCCOKH9Y34ljqEGOc= +google.golang.org/genproto v0.0.0-20230221151758-ace64dc21148/go.mod h1:3Dl5ZL0q0isWJt+FVcfpQyirqemEuLAK/iFvg1UP1Hw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= diff --git a/vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md index d0580cafd..755126cbe 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/CHANGELOG.md @@ -1,3 +1,1091 @@ +# Release (2023-02-20) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2`: v1.17.5 + * **Bug Fix**: fix int overflow bug on 32 bit architecture +* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.24.0](service/auditmanager/CHANGELOG.md#v1240-2023-02-20) + * **Feature**: This release introduces a ServiceQuotaExceededException to the UpdateAssessmentFrameworkShare API operation. +* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.47.0](service/connect/CHANGELOG.md#v1470-2023-02-20) + * **Feature**: Reasons for failed diff has been approved by SDK Reviewer + +# Release (2023-02-17) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.17.0](service/apprunner/CHANGELOG.md#v1170-2023-02-17) + * **Feature**: This release supports removing MaxSize limit for AutoScalingConfiguration. +* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.43.0](service/glue/CHANGELOG.md#v1430-2023-02-17) + * **Feature**: Release of Delta Lake Data Lake Format for Glue Studio Service + +# Release (2023-02-16) + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.23.0](service/emr/CHANGELOG.md#v1230-2023-02-16) + * **Feature**: This release provides customers the ability to define a timeout period for procuring capacity during a resize operation for Instance Fleet clusters. Customers can specify this timeout using the ResizeSpecifications parameter supported by RunJobFlow, ModifyInstanceFleet and AddInstanceFleet APIs. +* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.12.0](service/grafana/CHANGELOG.md#v1120-2023-02-16) + * **Feature**: With this release Amazon Managed Grafana now supports inbound Network Access Control that helps you to restrict user access to your Grafana workspaces +* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.20.3](service/ivs/CHANGELOG.md#v1203-2023-02-16) + * **Documentation**: Doc-only update. Updated text description in DeleteChannel, Stream, and StreamSummary. +* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.25.1](service/wafv2/CHANGELOG.md#v1251-2023-02-16) + * **Documentation**: Added a notice for account takeover prevention (ATP). The interface incorrectly lets you to configure ATP response inspection in regional web ACLs in Region US East (N. Virginia), without returning an error. ATP response inspection is only available in web ACLs that protect CloudFront distributions. + +# Release (2023-02-15) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/accessanalyzer`: [v1.19.3](service/accessanalyzer/CHANGELOG.md#v1193-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.9.1](service/account/CHANGELOG.md#v191-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/acm`: [v1.17.3](service/acm/CHANGELOG.md#v1173-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/acmpca`: [v1.21.2](service/acmpca/CHANGELOG.md#v1212-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/alexaforbusiness`: [v1.15.2](service/alexaforbusiness/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/amp`: [v1.16.2](service/amp/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/amplify`: [v1.13.2](service/amplify/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/amplifybackend`: [v1.14.2](service/amplifybackend/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/amplifyuibuilder`: [v1.9.2](service/amplifyuibuilder/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/apigateway`: [v1.16.3](service/apigateway/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/apigatewaymanagementapi`: [v1.11.2](service/apigatewaymanagementapi/CHANGELOG.md#v1112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/apigatewayv2`: [v1.13.3](service/apigatewayv2/CHANGELOG.md#v1133-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.17.1](service/appconfig/CHANGELOG.md#v1171-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.6.1](service/appconfigdata/CHANGELOG.md#v161-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/appflow`: [v1.24.2](service/appflow/CHANGELOG.md#v1242-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/appintegrations`: [v1.14.2](service/appintegrations/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/applicationautoscaling`: [v1.17.3](service/applicationautoscaling/CHANGELOG.md#v1173-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/applicationcostprofiler`: [v1.10.2](service/applicationcostprofiler/CHANGELOG.md#v1102-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/applicationdiscoveryservice`: [v1.15.2](service/applicationdiscoveryservice/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/applicationinsights`: [v1.17.3](service/applicationinsights/CHANGELOG.md#v1173-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/appmesh`: [v1.17.2](service/appmesh/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/apprunner`: [v1.16.2](service/apprunner/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/appstream`: [v1.20.2](service/appstream/CHANGELOG.md#v1202-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/appsync`: [v1.19.2](service/appsync/CHANGELOG.md#v1192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/arczonalshift`: [v1.1.3](service/arczonalshift/CHANGELOG.md#v113-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/athena`: [v1.22.2](service/athena/CHANGELOG.md#v1222-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/auditmanager`: [v1.23.2](service/auditmanager/CHANGELOG.md#v1232-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/autoscalingplans`: [v1.13.2](service/autoscalingplans/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.20.1](service/backup/CHANGELOG.md#v1201-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/backupgateway`: [v1.9.2](service/backupgateway/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/backupstorage`: [v1.1.2](service/backupstorage/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/batch`: [v1.21.3](service/batch/CHANGELOG.md#v1213-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/billingconductor`: [v1.5.2](service/billingconductor/CHANGELOG.md#v152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/braket`: [v1.17.2](service/braket/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/budgets`: [v1.14.2](service/budgets/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/chime`: [v1.22.2](service/chime/CHANGELOG.md#v1222-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/chimesdkidentity`: [v1.10.2](service/chimesdkidentity/CHANGELOG.md#v1102-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/chimesdkmediapipelines`: [v1.2.2](service/chimesdkmediapipelines/CHANGELOG.md#v122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.14.3](service/chimesdkmeetings/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/chimesdkmessaging`: [v1.12.2](service/chimesdkmessaging/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/chimesdkvoice`: [v1.1.2](service/chimesdkvoice/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cleanrooms`: [v1.0.2](service/cleanrooms/CHANGELOG.md#v102-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloud9`: [v1.17.2](service/cloud9/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudcontrol`: [v1.11.3](service/cloudcontrol/CHANGELOG.md#v1113-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/clouddirectory`: [v1.13.2](service/clouddirectory/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudhsm`: [v1.13.2](service/cloudhsm/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudhsmv2`: [v1.14.2](service/cloudhsmv2/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudsearchdomain`: [v1.12.2](service/cloudsearchdomain/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudtrail`: [v1.24.0](service/cloudtrail/CHANGELOG.md#v1240-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Feature**: This release adds an InsufficientEncryptionPolicyException type to the StartImport endpoint + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudtraildata`: [v1.0.2](service/cloudtraildata/CHANGELOG.md#v102-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudwatchevents`: [v1.15.3](service/cloudwatchevents/CHANGELOG.md#v1153-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cloudwatchlogs`: [v1.20.3](service/cloudwatchlogs/CHANGELOG.md#v1203-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codeartifact`: [v1.16.2](service/codeartifact/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codebuild`: [v1.20.3](service/codebuild/CHANGELOG.md#v1203-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codecatalyst`: [v1.1.2](service/codecatalyst/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codecommit`: [v1.14.2](service/codecommit/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codedeploy`: [v1.16.3](service/codedeploy/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codeguruprofiler`: [v1.13.2](service/codeguruprofiler/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codegurureviewer`: [v1.17.2](service/codegurureviewer/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codepipeline`: [v1.14.2](service/codepipeline/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codestar`: [v1.13.2](service/codestar/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codestarconnections`: [v1.14.2](service/codestarconnections/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/codestarnotifications`: [v1.14.2](service/codestarnotifications/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cognitoidentity`: [v1.15.2](service/cognitoidentity/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cognitoidentityprovider`: [v1.22.2](service/cognitoidentityprovider/CHANGELOG.md#v1222-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/cognitosync`: [v1.12.2](service/cognitosync/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/comprehend`: [v1.21.2](service/comprehend/CHANGELOG.md#v1212-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/comprehendmedical`: [v1.15.2](service/comprehendmedical/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.21.1](service/computeoptimizer/CHANGELOG.md#v1211-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/configservice`: [v1.29.3](service/configservice/CHANGELOG.md#v1293-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.46.1](service/connect/CHANGELOG.md#v1461-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/connectcampaigns`: [v1.2.3](service/connectcampaigns/CHANGELOG.md#v123-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/connectcases`: [v1.2.3](service/connectcases/CHANGELOG.md#v123-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/connectcontactlens`: [v1.13.2](service/connectcontactlens/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/connectparticipant`: [v1.15.2](service/connectparticipant/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/controltower`: [v1.1.2](service/controltower/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/costandusagereportservice`: [v1.15.2](service/costandusagereportservice/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/costexplorer`: [v1.25.2](service/costexplorer/CHANGELOG.md#v1252-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.23.1](service/customerprofiles/CHANGELOG.md#v1231-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/databasemigrationservice`: [v1.23.3](service/databasemigrationservice/CHANGELOG.md#v1233-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/databrew`: [v1.21.3](service/databrew/CHANGELOG.md#v1213-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/dataexchange`: [v1.18.2](service/dataexchange/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/datapipeline`: [v1.14.2](service/datapipeline/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.22.1](service/datasync/CHANGELOG.md#v1221-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/dax`: [v1.12.2](service/dax/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/detective`: [v1.18.2](service/detective/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/devicefarm`: [v1.15.2](service/devicefarm/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/devopsguru`: [v1.22.2](service/devopsguru/CHANGELOG.md#v1222-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/directconnect`: [v1.18.3](service/directconnect/CHANGELOG.md#v1183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/directoryservice`: [v1.16.3](service/directoryservice/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/dlm`: [v1.14.4](service/dlm/CHANGELOG.md#v1144-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/docdbelastic`: [v1.1.2](service/docdbelastic/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/drs`: [v1.10.2](service/drs/CHANGELOG.md#v1102-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/dynamodb`: [v1.18.3](service/dynamodb/CHANGELOG.md#v1183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/dynamodbstreams`: [v1.14.3](service/dynamodbstreams/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ebs`: [v1.16.4](service/ebs/CHANGELOG.md#v1164-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ec2instanceconnect`: [v1.15.2](service/ec2instanceconnect/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ecr`: [v1.18.3](service/ecr/CHANGELOG.md#v1183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ecrpublic`: [v1.15.2](service/ecrpublic/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ecs`: [v1.23.3](service/ecs/CHANGELOG.md#v1233-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/efs`: [v1.19.4](service/efs/CHANGELOG.md#v1194-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. + * **Documentation**: Documentation update for EFS to support IAM best practices. +* `github.com/aws/aws-sdk-go-v2/service/eks`: [v1.27.3](service/eks/CHANGELOG.md#v1273-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/elasticinference`: [v1.12.2](service/elasticinference/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/elasticsearchservice`: [v1.18.3](service/elasticsearchservice/CHANGELOG.md#v1183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/elastictranscoder`: [v1.14.2](service/elastictranscoder/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/emr`: [v1.22.3](service/emr/CHANGELOG.md#v1223-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.17.1](service/emrcontainers/CHANGELOG.md#v1171-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/emrserverless`: [v1.5.2](service/emrserverless/CHANGELOG.md#v152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/eventbridge`: [v1.18.3](service/eventbridge/CHANGELOG.md#v1183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/evidently`: [v1.10.2](service/evidently/CHANGELOG.md#v1102-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/finspace`: [v1.9.2](service/finspace/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/finspacedata`: [v1.14.2](service/finspacedata/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/firehose`: [v1.16.3](service/firehose/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/fis`: [v1.14.2](service/fis/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/fms`: [v1.22.3](service/fms/CHANGELOG.md#v1223-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/forecast`: [v1.25.2](service/forecast/CHANGELOG.md#v1252-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/forecastquery`: [v1.13.2](service/forecastquery/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.23.0](service/frauddetector/CHANGELOG.md#v1230-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Feature**: This release introduces Lists feature which allows customers to reference a set of values in Fraud Detector's rules. With Lists, customers can dynamically manage these attributes in real time. Lists can be created/deleted and its contents can be modified using the Fraud Detector API. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/fsx`: [v1.28.3](service/fsx/CHANGELOG.md#v1283-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/gamelift`: [v1.17.2](service/gamelift/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/gamesparks`: [v1.2.2](service/gamesparks/CHANGELOG.md#v122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/glacier`: [v1.14.3](service/glacier/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/globalaccelerator`: [v1.16.2](service/globalaccelerator/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.42.0](service/glue/CHANGELOG.md#v1420-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Feature**: Fix DirectJDBCSource not showing up in CLI code gen + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/grafana`: [v1.11.2](service/grafana/CHANGELOG.md#v1112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/greengrass`: [v1.15.3](service/greengrass/CHANGELOG.md#v1153-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/greengrassv2`: [v1.21.3](service/greengrassv2/CHANGELOG.md#v1213-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/groundstation`: [v1.17.2](service/groundstation/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/guardduty`: [v1.17.3](service/guardduty/CHANGELOG.md#v1173-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/health`: [v1.16.2](service/health/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/healthlake`: [v1.15.2](service/healthlake/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/honeycode`: [v1.13.2](service/honeycode/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/identitystore`: [v1.16.2](service/identitystore/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/imagebuilder`: [v1.22.2](service/imagebuilder/CHANGELOG.md#v1222-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/inspector`: [v1.13.2](service/inspector/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/inspector2`: [v1.11.3](service/inspector2/CHANGELOG.md#v1113-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iot`: [v1.34.2](service/iot/CHANGELOG.md#v1342-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iot1clickdevicesservice`: [v1.11.2](service/iot1clickdevicesservice/CHANGELOG.md#v1112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iot1clickprojects`: [v1.12.2](service/iot1clickprojects/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotanalytics`: [v1.14.2](service/iotanalytics/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotdataplane`: [v1.14.2](service/iotdataplane/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotdeviceadvisor`: [v1.17.2](service/iotdeviceadvisor/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotevents`: [v1.15.2](service/iotevents/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ioteventsdata`: [v1.13.2](service/ioteventsdata/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotfleethub`: [v1.13.2](service/iotfleethub/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotfleetwise`: [v1.3.2](service/iotfleetwise/CHANGELOG.md#v132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotjobsdataplane`: [v1.12.2](service/iotjobsdataplane/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotroborunner`: [v1.1.2](service/iotroborunner/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotsecuretunneling`: [v1.15.2](service/iotsecuretunneling/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotsitewise`: [v1.27.2](service/iotsitewise/CHANGELOG.md#v1272-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotthingsgraph`: [v1.14.2](service/iotthingsgraph/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iottwinmaker`: [v1.10.2](service/iottwinmaker/CHANGELOG.md#v1102-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/iotwireless`: [v1.24.2](service/iotwireless/CHANGELOG.md#v1242-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ivs`: [v1.20.2](service/ivs/CHANGELOG.md#v1202-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ivschat`: [v1.3.2](service/ivschat/CHANGELOG.md#v132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kafka`: [v1.19.2](service/kafka/CHANGELOG.md#v1192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kafkaconnect`: [v1.9.2](service/kafkaconnect/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kendra`: [v1.38.3](service/kendra/CHANGELOG.md#v1383-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kendraranking`: [v1.0.4](service/kendraranking/CHANGELOG.md#v104-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/keyspaces`: [v1.1.2](service/keyspaces/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesis`: [v1.17.4](service/kinesis/CHANGELOG.md#v1174-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesisanalytics`: [v1.14.2](service/kinesisanalytics/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesisanalyticsv2`: [v1.16.2](service/kinesisanalyticsv2/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesisvideo`: [v1.15.3](service/kinesisvideo/CHANGELOG.md#v1153-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesisvideoarchivedmedia`: [v1.14.3](service/kinesisvideoarchivedmedia/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesisvideomedia`: [v1.11.3](service/kinesisvideomedia/CHANGELOG.md#v1113-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesisvideosignaling`: [v1.11.3](service/kinesisvideosignaling/CHANGELOG.md#v1113-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kinesisvideowebrtcstorage`: [v1.2.3](service/kinesisvideowebrtcstorage/CHANGELOG.md#v123-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/kms`: [v1.20.3](service/kms/CHANGELOG.md#v1203-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lakeformation`: [v1.19.2](service/lakeformation/CHANGELOG.md#v1192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lambda`: [v1.29.2](service/lambda/CHANGELOG.md#v1292-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lexmodelbuildingservice`: [v1.17.2](service/lexmodelbuildingservice/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.28.1](service/lexmodelsv2/CHANGELOG.md#v1281-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lexruntimeservice`: [v1.13.2](service/lexruntimeservice/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.17.1](service/lexruntimev2/CHANGELOG.md#v1171-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/licensemanager`: [v1.17.2](service/licensemanager/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/licensemanagerlinuxsubscriptions`: [v1.1.2](service/licensemanagerlinuxsubscriptions/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/licensemanagerusersubscriptions`: [v1.2.2](service/licensemanagerusersubscriptions/CHANGELOG.md#v122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.25.3](service/lightsail/CHANGELOG.md#v1253-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/location`: [v1.21.2](service/location/CHANGELOG.md#v1212-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lookoutequipment`: [v1.17.2](service/lookoutequipment/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lookoutmetrics`: [v1.19.2](service/lookoutmetrics/CHANGELOG.md#v1192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/lookoutvision`: [v1.15.2](service/lookoutvision/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/m2`: [v1.4.2](service/m2/CHANGELOG.md#v142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/machinelearning`: [v1.15.2](service/machinelearning/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/macie`: [v1.15.2](service/macie/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/macie2`: [v1.26.2](service/macie2/CHANGELOG.md#v1262-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/managedblockchain`: [v1.14.2](service/managedblockchain/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/marketplacecatalog`: [v1.15.2](service/marketplacecatalog/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/marketplacecommerceanalytics`: [v1.12.2](service/marketplacecommerceanalytics/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/marketplaceentitlementservice`: [v1.12.2](service/marketplaceentitlementservice/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/marketplacemetering`: [v1.14.3](service/marketplacemetering/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mediaconnect`: [v1.18.2](service/mediaconnect/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.31.1](service/mediaconvert/CHANGELOG.md#v1311-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/medialive`: [v1.29.2](service/medialive/CHANGELOG.md#v1292-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mediapackage`: [v1.20.2](service/mediapackage/CHANGELOG.md#v1202-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mediapackagevod`: [v1.21.2](service/mediapackagevod/CHANGELOG.md#v1212-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mediastore`: [v1.13.2](service/mediastore/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mediastoredata`: [v1.13.2](service/mediastoredata/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mediatailor`: [v1.22.2](service/mediatailor/CHANGELOG.md#v1222-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/memorydb`: [v1.12.2](service/memorydb/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mgn`: [v1.17.2](service/mgn/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/migrationhub`: [v1.13.2](service/migrationhub/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/migrationhubconfig`: [v1.13.2](service/migrationhubconfig/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/migrationhuborchestrator`: [v1.1.2](service/migrationhuborchestrator/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.9.1](service/migrationhubrefactorspaces/CHANGELOG.md#v191-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/migrationhubstrategy`: [v1.7.2](service/migrationhubstrategy/CHANGELOG.md#v172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mobile`: [v1.12.2](service/mobile/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mq`: [v1.14.2](service/mq/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mturk`: [v1.14.2](service/mturk/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/mwaa`: [v1.14.2](service/mwaa/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/networkfirewall`: [v1.24.2](service/networkfirewall/CHANGELOG.md#v1242-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/networkmanager`: [v1.17.2](service/networkmanager/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/nimble`: [v1.16.2](service/nimble/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/oam`: [v1.1.3](service/oam/CHANGELOG.md#v113-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/omics`: [v1.1.2](service/omics/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/opensearch`: [v1.14.2](service/opensearch/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/opensearchserverless`: [v1.1.3](service/opensearchserverless/CHANGELOG.md#v113-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/opsworks`: [v1.14.2](service/opsworks/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/opsworkscm`: [v1.15.2](service/opsworkscm/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/organizations`: [v1.18.2](service/organizations/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.27.2](service/outposts/CHANGELOG.md#v1272-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/panorama`: [v1.11.2](service/panorama/CHANGELOG.md#v1112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/personalize`: [v1.23.2](service/personalize/CHANGELOG.md#v1232-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/personalizeevents`: [v1.13.2](service/personalizeevents/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/personalizeruntime`: [v1.13.2](service/personalizeruntime/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/pi`: [v1.16.3](service/pi/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/pinpoint`: [v1.18.2](service/pinpoint/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/pinpointemail`: [v1.12.2](service/pinpointemail/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoice`: [v1.11.2](service/pinpointsmsvoice/CHANGELOG.md#v1112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/pinpointsmsvoicev2`: [v1.1.2](service/pinpointsmsvoicev2/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/pipes`: [v1.1.2](service/pipes/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.25.1](service/polly/CHANGELOG.md#v1251-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/pricing`: [v1.18.2](service/pricing/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/privatenetworks`: [v1.2.0](service/privatenetworks/CHANGELOG.md#v120-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Feature**: This release introduces a new StartNetworkResourceUpdate API, which enables return/replacement of hardware from a NetworkSite. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/proton`: [v1.20.1](service/proton/CHANGELOG.md#v1201-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/qldb`: [v1.15.2](service/qldb/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/qldbsession`: [v1.14.2](service/qldbsession/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/quicksight`: [v1.31.2](service/quicksight/CHANGELOG.md#v1312-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ram`: [v1.17.3](service/ram/CHANGELOG.md#v1173-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/rbin`: [v1.8.3](service/rbin/CHANGELOG.md#v183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/rds`: [v1.40.3](service/rds/CHANGELOG.md#v1403-2023-02-15) + * **Documentation**: Database Activity Stream support for RDS for SQL Server. +* `github.com/aws/aws-sdk-go-v2/service/rdsdata`: [v1.13.2](service/rdsdata/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/redshiftdata`: [v1.18.2](service/redshiftdata/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/redshiftserverless`: [v1.4.3](service/redshiftserverless/CHANGELOG.md#v143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/rekognition`: [v1.23.2](service/rekognition/CHANGELOG.md#v1232-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/resiliencehub`: [v1.8.2](service/resiliencehub/CHANGELOG.md#v182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/resourceexplorer2`: [v1.2.3](service/resourceexplorer2/CHANGELOG.md#v123-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/resourcegroups`: [v1.14.3](service/resourcegroups/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/resourcegroupstaggingapi`: [v1.14.3](service/resourcegroupstaggingapi/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/robomaker`: [v1.18.2](service/robomaker/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/rolesanywhere`: [v1.1.2](service/rolesanywhere/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/route53domains`: [v1.14.2](service/route53domains/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/route53recoverycluster`: [v1.11.2](service/route53recoverycluster/CHANGELOG.md#v1112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/route53recoverycontrolconfig`: [v1.11.2](service/route53recoverycontrolconfig/CHANGELOG.md#v1112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/route53recoveryreadiness`: [v1.9.2](service/route53recoveryreadiness/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/route53resolver`: [v1.16.3](service/route53resolver/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/rum`: [v1.9.2](service/rum/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/s3outposts`: [v1.14.2](service/s3outposts/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.68.1](service/sagemaker/CHANGELOG.md#v1681-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sagemakera2iruntime`: [v1.15.2](service/sagemakera2iruntime/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sagemakeredge`: [v1.13.2](service/sagemakeredge/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sagemakerfeaturestoreruntime`: [v1.13.2](service/sagemakerfeaturestoreruntime/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sagemakergeospatial`: [v1.1.2](service/sagemakergeospatial/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sagemakermetrics`: [v1.0.5](service/sagemakermetrics/CHANGELOG.md#v105-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sagemakerruntime`: [v1.18.3](service/sagemakerruntime/CHANGELOG.md#v1183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/savingsplans`: [v1.12.2](service/savingsplans/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/scheduler`: [v1.1.2](service/scheduler/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/schemas`: [v1.15.2](service/schemas/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/secretsmanager`: [v1.18.4](service/secretsmanager/CHANGELOG.md#v1184-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/securityhub`: [v1.28.2](service/securityhub/CHANGELOG.md#v1282-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/securitylake`: [v1.2.2](service/securitylake/CHANGELOG.md#v122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/serverlessapplicationrepository`: [v1.12.2](service/serverlessapplicationrepository/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/servicecatalog`: [v1.16.2](service/servicecatalog/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/servicecatalogappregistry`: [v1.16.3](service/servicecatalogappregistry/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/servicediscovery`: [v1.19.2](service/servicediscovery/CHANGELOG.md#v1192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/servicequotas`: [v1.14.3](service/servicequotas/CHANGELOG.md#v1143-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sesv2`: [v1.16.2](service/sesv2/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sfn`: [v1.17.3](service/sfn/CHANGELOG.md#v1173-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/shield`: [v1.18.2](service/shield/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/signer`: [v1.14.2](service/signer/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/simspaceweaver`: [v1.1.2](service/simspaceweaver/CHANGELOG.md#v112-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sms`: [v1.13.2](service/sms/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.18.1](service/snowball/CHANGELOG.md#v1181-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/snowdevicemanagement`: [v1.9.2](service/snowdevicemanagement/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ssm`: [v1.35.3](service/ssm/CHANGELOG.md#v1353-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ssmcontacts`: [v1.14.2](service/ssmcontacts/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ssmincidents`: [v1.20.2](service/ssmincidents/CHANGELOG.md#v1202-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ssmsap`: [v1.2.2](service/ssmsap/CHANGELOG.md#v122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/sso`: [v1.12.2](service/sso/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ssoadmin`: [v1.16.2](service/ssoadmin/CHANGELOG.md#v1162-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/ssooidc`: [v1.14.2](service/ssooidc/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/storagegateway`: [v1.18.3](service/storagegateway/CHANGELOG.md#v1183-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/support`: [v1.14.2](service/support/CHANGELOG.md#v1142-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/supportapp`: [v1.2.2](service/supportapp/CHANGELOG.md#v122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/swf`: [v1.14.4](service/swf/CHANGELOG.md#v1144-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/synthetics`: [v1.17.3](service/synthetics/CHANGELOG.md#v1173-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/textract`: [v1.20.2](service/textract/CHANGELOG.md#v1202-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/timestreamquery`: [v1.15.2](service/timestreamquery/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/timestreamwrite`: [v1.15.2](service/timestreamwrite/CHANGELOG.md#v1152-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/transcribe`: [v1.25.2](service/transcribe/CHANGELOG.md#v1252-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/transcribestreaming`: [v1.9.2](service/transcribestreaming/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.28.3](service/transfer/CHANGELOG.md#v1283-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/translate`: [v1.17.2](service/translate/CHANGELOG.md#v1172-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/voiceid`: [v1.12.2](service/voiceid/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/waf`: [v1.12.2](service/waf/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/wafregional`: [v1.13.3](service/wafregional/CHANGELOG.md#v1133-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/wafv2`: [v1.25.0](service/wafv2/CHANGELOG.md#v1250-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Feature**: For protected CloudFront distributions, you can now use the AWS WAF Fraud Control account takeover prevention (ATP) managed rule group to block new login attempts from clients that have recently submitted too many failed login attempts. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/wellarchitected`: [v1.18.2](service/wellarchitected/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/wisdom`: [v1.12.2](service/wisdom/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.13.3](service/workdocs/CHANGELOG.md#v1133-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/worklink`: [v1.13.2](service/worklink/CHANGELOG.md#v1132-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/workmail`: [v1.18.2](service/workmail/CHANGELOG.md#v1182-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/workmailmessageflow`: [v1.12.2](service/workmailmessageflow/CHANGELOG.md#v1122-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.28.3](service/workspaces/CHANGELOG.md#v1283-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/workspacesweb`: [v1.9.2](service/workspacesweb/CHANGELOG.md#v192-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. +* `github.com/aws/aws-sdk-go-v2/service/xray`: [v1.16.3](service/xray/CHANGELOG.md#v1163-2023-02-15) + * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. + * **Bug Fix**: Correct error type parsing for restJson services. + +# Release (2023-02-14) + +## General Highlights +* **Dependency Update**: Updated to the latest SDK module versions + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/appconfig`: [v1.17.0](service/appconfig/CHANGELOG.md#v1170-2023-02-14) + * **Feature**: AWS AppConfig now offers the option to set a version label on hosted configuration versions. Version labels allow you to identify specific hosted configuration versions based on an alternate versioning scheme that you define. +* `github.com/aws/aws-sdk-go-v2/service/datasync`: [v1.22.0](service/datasync/CHANGELOG.md#v1220-2023-02-14) + * **Feature**: With this launch, we are giving customers the ability to use older SMB protocol versions, enabling them to use DataSync to copy data to and from their legacy storage arrays. +* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.86.0](service/ec2/CHANGELOG.md#v1860-2023-02-14) + * **Feature**: With this release customers can turn host maintenance on or off when allocating or modifying a supported dedicated host. Host maintenance is turned on by default for supported hosts. + +# Release (2023-02-13) + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/account`: [v1.9.0](service/account/CHANGELOG.md#v190-2023-02-13) + * **Feature**: This release of the Account Management API enables customers to view and manage whether AWS Opt-In Regions are enabled or disabled for their Account. For more information, see https://docs.aws.amazon.com/accounts/latest/reference/manage-acct-regions.html +* `github.com/aws/aws-sdk-go-v2/service/appconfigdata`: [v1.6.0](service/appconfigdata/CHANGELOG.md#v160-2023-02-13) + * **Feature**: AWS AppConfig now offers the option to set a version label on hosted configuration versions. If a labeled hosted configuration version is deployed, its version label is available in the GetLatestConfiguration response. +* `github.com/aws/aws-sdk-go-v2/service/snowball`: [v1.18.0](service/snowball/CHANGELOG.md#v1180-2023-02-13) + * **Feature**: Adds support for EKS Anywhere on Snowball. AWS Snow Family customers can now install EKS Anywhere service on Snowball Edge Compute Optimized devices. + +# Release (2023-02-10) + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/autoscaling`: [v1.27.0](service/autoscaling/CHANGELOG.md#v1270-2023-02-10) + * **Feature**: You can now either terminate/replace, ignore, or wait for EC2 Auto Scaling instances on standby or protected from scale in. Also, you can also roll back changes from a failed instance refresh. +* `github.com/aws/aws-sdk-go-v2/service/connect`: [v1.46.0](service/connect/CHANGELOG.md#v1460-2023-02-10) + * **Feature**: This update provides the Wisdom session ARN for contacts enabled for Wisdom in the chat channel. +* `github.com/aws/aws-sdk-go-v2/service/ec2`: [v1.85.0](service/ec2/CHANGELOG.md#v1850-2023-02-10) + * **Feature**: Adds support for waiters that automatically poll for an imported snapshot until it reaches the completed state. +* `github.com/aws/aws-sdk-go-v2/service/polly`: [v1.25.0](service/polly/CHANGELOG.md#v1250-2023-02-10) + * **Feature**: Amazon Polly adds two new neural Japanese voices - Kazuha, Tomoko +* `github.com/aws/aws-sdk-go-v2/service/sagemaker`: [v1.68.0](service/sagemaker/CHANGELOG.md#v1680-2023-02-10) + * **Feature**: Amazon SageMaker Autopilot adds support for selecting algorithms in CreateAutoMLJob API. +* `github.com/aws/aws-sdk-go-v2/service/sns`: [v1.20.2](service/sns/CHANGELOG.md#v1202-2023-02-10) + * **Documentation**: This release adds support for SNS X-Ray active tracing as well as other updates. + +# Release (2023-02-09) + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/chimesdkmeetings`: [v1.14.2](service/chimesdkmeetings/CHANGELOG.md#v1142-2023-02-09) + * **Documentation**: Documentation updates for Chime Meetings SDK +* `github.com/aws/aws-sdk-go-v2/service/emrcontainers`: [v1.17.0](service/emrcontainers/CHANGELOG.md#v1170-2023-02-09) + * **Feature**: EMR on EKS allows configuring retry policies for job runs through the StartJobRun API. Using retry policies, a job cause a driver pod to be restarted automatically if it fails or is deleted. The job's status can be seen in the DescribeJobRun and ListJobRun APIs and monitored using CloudWatch events. +* `github.com/aws/aws-sdk-go-v2/service/lexmodelsv2`: [v1.28.0](service/lexmodelsv2/CHANGELOG.md#v1280-2023-02-09) + * **Feature**: AWS Lex now supports Network of Bots. +* `github.com/aws/aws-sdk-go-v2/service/lexruntimev2`: [v1.17.0](service/lexruntimev2/CHANGELOG.md#v1170-2023-02-09) + * **Feature**: AWS Lex now supports Network of Bots. +* `github.com/aws/aws-sdk-go-v2/service/lightsail`: [v1.25.2](service/lightsail/CHANGELOG.md#v1252-2023-02-09) + * **Documentation**: Documentation updates for Lightsail +* `github.com/aws/aws-sdk-go-v2/service/migrationhubrefactorspaces`: [v1.9.0](service/migrationhubrefactorspaces/CHANGELOG.md#v190-2023-02-09) + * **Feature**: This release adds support for creating environments with a network fabric type of NONE +* `github.com/aws/aws-sdk-go-v2/service/workdocs`: [v1.13.2](service/workdocs/CHANGELOG.md#v1132-2023-02-09) + * **Documentation**: Doc only update for the WorkDocs APIs. +* `github.com/aws/aws-sdk-go-v2/service/workspaces`: [v1.28.2](service/workspaces/CHANGELOG.md#v1282-2023-02-09) + * **Documentation**: Removed Windows Server 2016 BYOL and made changes based on IAM campaign. + +# Release (2023-02-08) + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/backup`: [v1.20.0](service/backup/CHANGELOG.md#v1200-2023-02-08) + * **Feature**: This release added one attribute (resource name) in the output model of our 9 existing APIs in AWS backup so that customers will see the resource name at the output. No input required from Customers. +* `github.com/aws/aws-sdk-go-v2/service/cloudfront`: [v1.25.0](service/cloudfront/CHANGELOG.md#v1250-2023-02-08) + * **Feature**: CloudFront Origin Access Control extends support to AWS Elemental MediaStore origins. +* `github.com/aws/aws-sdk-go-v2/service/glue`: [v1.41.0](service/glue/CHANGELOG.md#v1410-2023-02-08) + * **Feature**: DirectJDBCSource + Glue 4.0 streaming options + +# Release (2023-02-07) + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/transfer`: [v1.28.2](service/transfer/CHANGELOG.md#v1282-2023-02-07) + * **Documentation**: Updated the documentation for the ImportCertificate API call, and added examples. + +# Release (2023-02-06) + +## Module Highlights +* `github.com/aws/aws-sdk-go-v2/service/computeoptimizer`: [v1.21.0](service/computeoptimizer/CHANGELOG.md#v1210-2023-02-06) + * **Feature**: AWS Compute optimizer can now infer if Kafka is running on an instance. +* `github.com/aws/aws-sdk-go-v2/service/customerprofiles`: [v1.23.0](service/customerprofiles/CHANGELOG.md#v1230-2023-02-06) + * **Feature**: This release deprecates the PartyType and Gender enum data types from the Profile model and replaces them with new PartyTypeString and GenderString attributes, which accept any string of length up to 255. +* `github.com/aws/aws-sdk-go-v2/service/frauddetector`: [v1.22.0](service/frauddetector/CHANGELOG.md#v1220-2023-02-06) + * **Feature**: My AWS Service (Amazon Fraud Detector) - This release introduces Cold Start Model Training which optimizes training for small datasets and adds intelligent methods for treating unlabeled data. You can now train Online Fraud Insights or Transaction Fraud Insights models with minimal historical-data. +* `github.com/aws/aws-sdk-go-v2/service/mediaconvert`: [v1.31.0](service/mediaconvert/CHANGELOG.md#v1310-2023-02-06) + * **Feature**: The AWS Elemental MediaConvert SDK has added improved scene change detection capabilities and a bandwidth reduction filter, along with video quality enhancements, to the AVC encoder. +* `github.com/aws/aws-sdk-go-v2/service/outposts`: [v1.27.0](service/outposts/CHANGELOG.md#v1270-2023-02-06) + * **Feature**: Adds OrderType to Order structure. Adds PreviousOrderId and PreviousLineItemId to LineItem structure. Adds new line item status REPLACED. Increases maximum length of pagination token. + # Release (2023-02-03) ## General Highlights diff --git a/vendor/github.com/aws/aws-sdk-go-v2/Makefile b/vendor/github.com/aws/aws-sdk-go-v2/Makefile index 4bc9dfaf0..b0f99b32b 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/Makefile +++ b/vendor/github.com/aws/aws-sdk-go-v2/Makefile @@ -499,14 +499,22 @@ list-deps-%: ################### .PHONY: sandbox-tests sandbox-build-% sandbox-run-% sandbox-test-% update-aws-golang-tip -sandbox-tests: sandbox-test-go1.15 sandbox-test-go1.16 sandbox-test-go1.17 sandbox-test-gotip +sandbox-tests: sandbox-test-go1.15 sandbox-test-go1.16 sandbox-test-go1.17 sandbox-test-go1.18 sandbox-test-go1.19 sandbox-test-go1.20 sandbox-test-gotip sandbox-build-%: @# sandbox-build-go1.17 @# sandbox-build-gotip - docker build \ - -f ./internal/awstesting/sandbox/Dockerfile.test.$(subst sandbox-build-,,$@) \ - -t "aws-sdk-go-$(subst sandbox-build-,,$@)" . + @if [ $@ == sandbox-build-gotip ]; then\ + docker build \ + -f ./internal/awstesting/sandbox/Dockerfile.test.gotip \ + -t "aws-sdk-go-$(subst sandbox-build-,,$@)" . ;\ + else\ + docker build \ + --build-arg GO_VERSION=$(subst sandbox-build-go,,$@) \ + -f ./internal/awstesting/sandbox/Dockerfile.test.goversion \ + -t "aws-sdk-go-$(subst sandbox-build-,,$@)" . ;\ + fi + sandbox-run-%: sandbox-build-% @# sandbox-run-go1.17 @# sandbox-run-gotip diff --git a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go index 39abc2e24..a85dd1450 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/aws/go_module_metadata.go @@ -3,4 +3,4 @@ package aws // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.17.4" +const goModuleVersion = "1.17.5" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md index 631f9513d..d8c511990 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/config/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.18.14 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.18.13 (2023-02-15) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go index aeefc21b5..ccce494a3 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/config/go_module_metadata.go @@ -3,4 +3,4 @@ package config // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.18.13" +const goModuleVersion = "1.18.14" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md index 9c4c6e0e0..8789c74a0 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.13.14 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.13.13 (2023-02-15) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go index 52f7306d9..d2b13bc12 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/credentials/go_module_metadata.go @@ -3,4 +3,4 @@ package credentials // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.13.13" +const goModuleVersion = "1.13.14" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md index d5323a137..8ccacd5c1 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.12.23 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.12.22 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go index 6ff11969d..0d3eff786 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/ec2/imds/go_module_metadata.go @@ -3,4 +3,4 @@ package imds // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.12.22" +const goModuleVersion = "1.12.23" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md index 072a771e8..d1db7d2c5 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.11.54 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.11.53 (2023-02-15) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go index cc88380ec..a2bd80e10 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/feature/s3/manager/go_module_metadata.go @@ -3,4 +3,4 @@ package manager // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.11.53" +const goModuleVersion = "1.11.54" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md index 8412c43d5..01d7a2eab 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.1.29 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.1.28 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go index dfd4e2eea..1d100e6c0 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/configsources/go_module_metadata.go @@ -3,4 +3,4 @@ package configsources // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.1.28" +const goModuleVersion = "1.1.29" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md index 7d8e325fd..1662bba60 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/CHANGELOG.md @@ -1,3 +1,7 @@ +# v2.4.23 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v2.4.22 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go index eb6a19509..7349a2875 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/endpoints/v2/go_module_metadata.go @@ -3,4 +3,4 @@ package endpoints // goModuleVersion is the tagged release for this module -const goModuleVersion = "2.4.22" +const goModuleVersion = "2.4.23" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md index a86ab9a24..ad21b3fca 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.3.30 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.3.29 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go index 6118754f3..5e241a599 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/ini/go_module_metadata.go @@ -3,4 +3,4 @@ package ini // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.3.29" +const goModuleVersion = "1.3.30" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md index 2aa01d298..f740a0a06 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.0.21 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.0.20 (2023-02-14) * No change notes available for this release. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go index da86bfeed..eed65870c 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/internal/v4a/go_module_metadata.go @@ -3,4 +3,4 @@ package v4a // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.0.20" +const goModuleVersion = "1.0.21" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md index aa1ff0245..9213e7b79 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.1.24 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.1.23 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go index 84d162ee5..d3156e585 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/checksum/go_module_metadata.go @@ -3,4 +3,4 @@ package checksum // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.1.23" +const goModuleVersion = "1.1.24" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md index 37d72a51e..aed3e8c09 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.9.23 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.9.22 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go index 494ae82fc..5a43e1386 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/presigned-url/go_module_metadata.go @@ -3,4 +3,4 @@ package presignedurl // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.9.22" +const goModuleVersion = "1.9.23" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md index 484bbcb44..e33c92c13 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.13.23 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.13.22 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go index a595d6a60..ab8ad9f53 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/internal/s3shared/go_module_metadata.go @@ -3,4 +3,4 @@ package s3shared // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.13.22" +const goModuleVersion = "1.13.23" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md index 72f7f82dc..0f29bc171 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.30.4 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.30.3 (2023-02-14) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go index 29d574593..79a52af52 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/s3/go_module_metadata.go @@ -3,4 +3,4 @@ package s3 // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.30.3" +const goModuleVersion = "1.30.4" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md index 5dfbb825f..813302fdd 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.12.3 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.12.2 (2023-02-15) * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go index 5642479ff..7df0ea98a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sso/go_module_metadata.go @@ -3,4 +3,4 @@ package sso // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.12.2" +const goModuleVersion = "1.12.3" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md index 5cf95de4e..edd514666 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.14.3 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.14.2 (2023-02-15) * **Announcement**: When receiving an error response in restJson-based services, an incorrect error type may have been returned based on the content of the response. This has been fixed via PR #2012 tracked in issue #1910. diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go index 405e5a812..deae1307a 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/ssooidc/go_module_metadata.go @@ -3,4 +3,4 @@ package ssooidc // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.14.2" +const goModuleVersion = "1.14.3" diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md index a9ed5300f..4de81eaba 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/CHANGELOG.md @@ -1,3 +1,7 @@ +# v1.18.4 (2023-02-20) + +* **Dependency Update**: Updated to the latest SDK module versions + # v1.18.3 (2023-02-03) * **Dependency Update**: Updated to the latest SDK module versions diff --git a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go index dc11195ec..e20d49607 100644 --- a/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go +++ b/vendor/github.com/aws/aws-sdk-go-v2/service/sts/go_module_metadata.go @@ -3,4 +3,4 @@ package sts // goModuleVersion is the tagged release for this module -const goModuleVersion = "1.18.3" +const goModuleVersion = "1.18.4" 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 6f4ad8ef1..fb403f5d9 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 @@ -14673,6 +14673,9 @@ var awsPartition = partition{ endpointKey{ Region: "eu-west-3", }: endpoint{}, + endpointKey{ + Region: "me-central-1", + }: endpoint{}, endpointKey{ Region: "me-south-1", }: endpoint{}, diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go index bdd18b271..0d409595e 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.204" +const SDKVersion = "1.44.206" diff --git a/vendor/github.com/json-iterator/go/.codecov.yml b/vendor/github.com/json-iterator/go/.codecov.yml new file mode 100644 index 000000000..955dc0be5 --- /dev/null +++ b/vendor/github.com/json-iterator/go/.codecov.yml @@ -0,0 +1,3 @@ +ignore: + - "output_tests/.*" + diff --git a/vendor/github.com/json-iterator/go/.gitignore b/vendor/github.com/json-iterator/go/.gitignore new file mode 100644 index 000000000..15556530a --- /dev/null +++ b/vendor/github.com/json-iterator/go/.gitignore @@ -0,0 +1,4 @@ +/vendor +/bug_test.go +/coverage.txt +/.idea diff --git a/vendor/github.com/json-iterator/go/.travis.yml b/vendor/github.com/json-iterator/go/.travis.yml new file mode 100644 index 000000000..449e67cd0 --- /dev/null +++ b/vendor/github.com/json-iterator/go/.travis.yml @@ -0,0 +1,14 @@ +language: go + +go: + - 1.8.x + - 1.x + +before_install: + - go get -t -v ./... + +script: + - ./test.sh + +after_success: + - bash <(curl -s https://codecov.io/bash) diff --git a/vendor/github.com/json-iterator/go/Gopkg.lock b/vendor/github.com/json-iterator/go/Gopkg.lock new file mode 100644 index 000000000..c8a9fbb38 --- /dev/null +++ b/vendor/github.com/json-iterator/go/Gopkg.lock @@ -0,0 +1,21 @@ +# This file is autogenerated, do not edit; changes may be undone by the next 'dep ensure'. + + +[[projects]] + name = "github.com/modern-go/concurrent" + packages = ["."] + revision = "e0a39a4cb4216ea8db28e22a69f4ec25610d513a" + version = "1.0.0" + +[[projects]] + name = "github.com/modern-go/reflect2" + packages = ["."] + revision = "4b7aa43c6742a2c18fdef89dd197aaae7dac7ccd" + version = "1.0.1" + +[solve-meta] + analyzer-name = "dep" + analyzer-version = 1 + inputs-digest = "ea54a775e5a354cb015502d2e7aa4b74230fc77e894f34a838b268c25ec8eeb8" + solver-name = "gps-cdcl" + solver-version = 1 diff --git a/vendor/github.com/json-iterator/go/Gopkg.toml b/vendor/github.com/json-iterator/go/Gopkg.toml new file mode 100644 index 000000000..313a0f887 --- /dev/null +++ b/vendor/github.com/json-iterator/go/Gopkg.toml @@ -0,0 +1,26 @@ +# Gopkg.toml example +# +# Refer to https://github.com/golang/dep/blob/master/docs/Gopkg.toml.md +# for detailed Gopkg.toml documentation. +# +# required = ["github.com/user/thing/cmd/thing"] +# ignored = ["github.com/user/project/pkgX", "bitbucket.org/user/project/pkgA/pkgY"] +# +# [[constraint]] +# name = "github.com/user/project" +# version = "1.0.0" +# +# [[constraint]] +# name = "github.com/user/project2" +# branch = "dev" +# source = "github.com/myfork/project2" +# +# [[override]] +# name = "github.com/x/y" +# version = "2.4.0" + +ignored = ["github.com/davecgh/go-spew*","github.com/google/gofuzz*","github.com/stretchr/testify*"] + +[[constraint]] + name = "github.com/modern-go/reflect2" + version = "1.0.1" diff --git a/vendor/github.com/json-iterator/go/LICENSE b/vendor/github.com/json-iterator/go/LICENSE new file mode 100644 index 000000000..2cf4f5ab2 --- /dev/null +++ b/vendor/github.com/json-iterator/go/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 json-iterator + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/json-iterator/go/README.md b/vendor/github.com/json-iterator/go/README.md new file mode 100644 index 000000000..c589addf9 --- /dev/null +++ b/vendor/github.com/json-iterator/go/README.md @@ -0,0 +1,85 @@ +[![Sourcegraph](https://sourcegraph.com/github.com/json-iterator/go/-/badge.svg)](https://sourcegraph.com/github.com/json-iterator/go?badge) +[![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](https://pkg.go.dev/github.com/json-iterator/go) +[![Build Status](https://travis-ci.org/json-iterator/go.svg?branch=master)](https://travis-ci.org/json-iterator/go) +[![codecov](https://codecov.io/gh/json-iterator/go/branch/master/graph/badge.svg)](https://codecov.io/gh/json-iterator/go) +[![rcard](https://goreportcard.com/badge/github.com/json-iterator/go)](https://goreportcard.com/report/github.com/json-iterator/go) +[![License](http://img.shields.io/badge/license-mit-blue.svg?style=flat-square)](https://raw.githubusercontent.com/json-iterator/go/master/LICENSE) +[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/json-iterator/Lobby) + +A high-performance 100% compatible drop-in replacement of "encoding/json" + +# Benchmark + +![benchmark](http://jsoniter.com/benchmarks/go-benchmark.png) + +Source code: https://github.com/json-iterator/go-benchmark/blob/master/src/github.com/json-iterator/go-benchmark/benchmark_medium_payload_test.go + +Raw Result (easyjson requires static code generation) + +| | ns/op | allocation bytes | allocation times | +| --------------- | ----------- | ---------------- | ---------------- | +| std decode | 35510 ns/op | 1960 B/op | 99 allocs/op | +| easyjson decode | 8499 ns/op | 160 B/op | 4 allocs/op | +| jsoniter decode | 5623 ns/op | 160 B/op | 3 allocs/op | +| std encode | 2213 ns/op | 712 B/op | 5 allocs/op | +| easyjson encode | 883 ns/op | 576 B/op | 3 allocs/op | +| jsoniter encode | 837 ns/op | 384 B/op | 4 allocs/op | + +Always benchmark with your own workload. +The result depends heavily on the data input. + +# Usage + +100% compatibility with standard lib + +Replace + +```go +import "encoding/json" +json.Marshal(&data) +``` + +with + +```go +import jsoniter "github.com/json-iterator/go" + +var json = jsoniter.ConfigCompatibleWithStandardLibrary +json.Marshal(&data) +``` + +Replace + +```go +import "encoding/json" +json.Unmarshal(input, &data) +``` + +with + +```go +import jsoniter "github.com/json-iterator/go" + +var json = jsoniter.ConfigCompatibleWithStandardLibrary +json.Unmarshal(input, &data) +``` + +[More documentation](http://jsoniter.com/migrate-from-go-std.html) + +# How to get + +``` +go get github.com/json-iterator/go +``` + +# Contribution Welcomed ! + +Contributors + +- [thockin](https://github.com/thockin) +- [mattn](https://github.com/mattn) +- [cch123](https://github.com/cch123) +- [Oleg Shaldybin](https://github.com/olegshaldybin) +- [Jason Toffaletti](https://github.com/toffaletti) + +Report issue or pull request, or email taowen@gmail.com, or [![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/json-iterator/Lobby) diff --git a/vendor/github.com/json-iterator/go/adapter.go b/vendor/github.com/json-iterator/go/adapter.go new file mode 100644 index 000000000..92d2cc4a3 --- /dev/null +++ b/vendor/github.com/json-iterator/go/adapter.go @@ -0,0 +1,150 @@ +package jsoniter + +import ( + "bytes" + "io" +) + +// RawMessage to make replace json with jsoniter +type RawMessage []byte + +// Unmarshal adapts to json/encoding Unmarshal API +// +// Unmarshal parses the JSON-encoded data and stores the result in the value pointed to by v. +// Refer to https://godoc.org/encoding/json#Unmarshal for more information +func Unmarshal(data []byte, v interface{}) error { + return ConfigDefault.Unmarshal(data, v) +} + +// UnmarshalFromString is a convenient method to read from string instead of []byte +func UnmarshalFromString(str string, v interface{}) error { + return ConfigDefault.UnmarshalFromString(str, v) +} + +// Get quick method to get value from deeply nested JSON structure +func Get(data []byte, path ...interface{}) Any { + return ConfigDefault.Get(data, path...) +} + +// Marshal adapts to json/encoding Marshal API +// +// Marshal returns the JSON encoding of v, adapts to json/encoding Marshal API +// Refer to https://godoc.org/encoding/json#Marshal for more information +func Marshal(v interface{}) ([]byte, error) { + return ConfigDefault.Marshal(v) +} + +// MarshalIndent same as json.MarshalIndent. Prefix is not supported. +func MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { + return ConfigDefault.MarshalIndent(v, prefix, indent) +} + +// MarshalToString convenient method to write as string instead of []byte +func MarshalToString(v interface{}) (string, error) { + return ConfigDefault.MarshalToString(v) +} + +// NewDecoder adapts to json/stream NewDecoder API. +// +// NewDecoder returns a new decoder that reads from r. +// +// Instead of a json/encoding Decoder, an Decoder is returned +// Refer to https://godoc.org/encoding/json#NewDecoder for more information +func NewDecoder(reader io.Reader) *Decoder { + return ConfigDefault.NewDecoder(reader) +} + +// Decoder reads and decodes JSON values from an input stream. +// Decoder provides identical APIs with json/stream Decoder (Token() and UseNumber() are in progress) +type Decoder struct { + iter *Iterator +} + +// Decode decode JSON into interface{} +func (adapter *Decoder) Decode(obj interface{}) error { + if adapter.iter.head == adapter.iter.tail && adapter.iter.reader != nil { + if !adapter.iter.loadMore() { + return io.EOF + } + } + adapter.iter.ReadVal(obj) + err := adapter.iter.Error + if err == io.EOF { + return nil + } + return adapter.iter.Error +} + +// More is there more? +func (adapter *Decoder) More() bool { + iter := adapter.iter + if iter.Error != nil { + return false + } + c := iter.nextToken() + if c == 0 { + return false + } + iter.unreadByte() + return c != ']' && c != '}' +} + +// Buffered remaining buffer +func (adapter *Decoder) Buffered() io.Reader { + remaining := adapter.iter.buf[adapter.iter.head:adapter.iter.tail] + return bytes.NewReader(remaining) +} + +// UseNumber causes the Decoder to unmarshal a number into an interface{} as a +// Number instead of as a float64. +func (adapter *Decoder) UseNumber() { + cfg := adapter.iter.cfg.configBeforeFrozen + cfg.UseNumber = true + adapter.iter.cfg = cfg.frozeWithCacheReuse(adapter.iter.cfg.extraExtensions) +} + +// DisallowUnknownFields causes the Decoder to return an error when the destination +// is a struct and the input contains object keys which do not match any +// non-ignored, exported fields in the destination. +func (adapter *Decoder) DisallowUnknownFields() { + cfg := adapter.iter.cfg.configBeforeFrozen + cfg.DisallowUnknownFields = true + adapter.iter.cfg = cfg.frozeWithCacheReuse(adapter.iter.cfg.extraExtensions) +} + +// NewEncoder same as json.NewEncoder +func NewEncoder(writer io.Writer) *Encoder { + return ConfigDefault.NewEncoder(writer) +} + +// Encoder same as json.Encoder +type Encoder struct { + stream *Stream +} + +// Encode encode interface{} as JSON to io.Writer +func (adapter *Encoder) Encode(val interface{}) error { + adapter.stream.WriteVal(val) + adapter.stream.WriteRaw("\n") + adapter.stream.Flush() + return adapter.stream.Error +} + +// SetIndent set the indention. Prefix is not supported +func (adapter *Encoder) SetIndent(prefix, indent string) { + config := adapter.stream.cfg.configBeforeFrozen + config.IndentionStep = len(indent) + adapter.stream.cfg = config.frozeWithCacheReuse(adapter.stream.cfg.extraExtensions) +} + +// SetEscapeHTML escape html by default, set to false to disable +func (adapter *Encoder) SetEscapeHTML(escapeHTML bool) { + config := adapter.stream.cfg.configBeforeFrozen + config.EscapeHTML = escapeHTML + adapter.stream.cfg = config.frozeWithCacheReuse(adapter.stream.cfg.extraExtensions) +} + +// Valid reports whether data is a valid JSON encoding. +func Valid(data []byte) bool { + return ConfigDefault.Valid(data) +} diff --git a/vendor/github.com/json-iterator/go/any.go b/vendor/github.com/json-iterator/go/any.go new file mode 100644 index 000000000..f6b8aeab0 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any.go @@ -0,0 +1,325 @@ +package jsoniter + +import ( + "errors" + "fmt" + "github.com/modern-go/reflect2" + "io" + "reflect" + "strconv" + "unsafe" +) + +// Any generic object representation. +// The lazy json implementation holds []byte and parse lazily. +type Any interface { + LastError() error + ValueType() ValueType + MustBeValid() Any + ToBool() bool + ToInt() int + ToInt32() int32 + ToInt64() int64 + ToUint() uint + ToUint32() uint32 + ToUint64() uint64 + ToFloat32() float32 + ToFloat64() float64 + ToString() string + ToVal(val interface{}) + Get(path ...interface{}) Any + Size() int + Keys() []string + GetInterface() interface{} + WriteTo(stream *Stream) +} + +type baseAny struct{} + +func (any *baseAny) Get(path ...interface{}) Any { + return &invalidAny{baseAny{}, fmt.Errorf("GetIndex %v from simple value", path)} +} + +func (any *baseAny) Size() int { + return 0 +} + +func (any *baseAny) Keys() []string { + return []string{} +} + +func (any *baseAny) ToVal(obj interface{}) { + panic("not implemented") +} + +// WrapInt32 turn int32 into Any interface +func WrapInt32(val int32) Any { + return &int32Any{baseAny{}, val} +} + +// WrapInt64 turn int64 into Any interface +func WrapInt64(val int64) Any { + return &int64Any{baseAny{}, val} +} + +// WrapUint32 turn uint32 into Any interface +func WrapUint32(val uint32) Any { + return &uint32Any{baseAny{}, val} +} + +// WrapUint64 turn uint64 into Any interface +func WrapUint64(val uint64) Any { + return &uint64Any{baseAny{}, val} +} + +// WrapFloat64 turn float64 into Any interface +func WrapFloat64(val float64) Any { + return &floatAny{baseAny{}, val} +} + +// WrapString turn string into Any interface +func WrapString(val string) Any { + return &stringAny{baseAny{}, val} +} + +// Wrap turn a go object into Any interface +func Wrap(val interface{}) Any { + if val == nil { + return &nilAny{} + } + asAny, isAny := val.(Any) + if isAny { + return asAny + } + typ := reflect2.TypeOf(val) + switch typ.Kind() { + case reflect.Slice: + return wrapArray(val) + case reflect.Struct: + return wrapStruct(val) + case reflect.Map: + return wrapMap(val) + case reflect.String: + return WrapString(val.(string)) + case reflect.Int: + if strconv.IntSize == 32 { + return WrapInt32(int32(val.(int))) + } + return WrapInt64(int64(val.(int))) + case reflect.Int8: + return WrapInt32(int32(val.(int8))) + case reflect.Int16: + return WrapInt32(int32(val.(int16))) + case reflect.Int32: + return WrapInt32(val.(int32)) + case reflect.Int64: + return WrapInt64(val.(int64)) + case reflect.Uint: + if strconv.IntSize == 32 { + return WrapUint32(uint32(val.(uint))) + } + return WrapUint64(uint64(val.(uint))) + case reflect.Uintptr: + if ptrSize == 32 { + return WrapUint32(uint32(val.(uintptr))) + } + return WrapUint64(uint64(val.(uintptr))) + case reflect.Uint8: + return WrapUint32(uint32(val.(uint8))) + case reflect.Uint16: + return WrapUint32(uint32(val.(uint16))) + case reflect.Uint32: + return WrapUint32(uint32(val.(uint32))) + case reflect.Uint64: + return WrapUint64(val.(uint64)) + case reflect.Float32: + return WrapFloat64(float64(val.(float32))) + case reflect.Float64: + return WrapFloat64(val.(float64)) + case reflect.Bool: + if val.(bool) == true { + return &trueAny{} + } + return &falseAny{} + } + return &invalidAny{baseAny{}, fmt.Errorf("unsupported type: %v", typ)} +} + +// ReadAny read next JSON element as an Any object. It is a better json.RawMessage. +func (iter *Iterator) ReadAny() Any { + return iter.readAny() +} + +func (iter *Iterator) readAny() Any { + c := iter.nextToken() + switch c { + case '"': + iter.unreadByte() + return &stringAny{baseAny{}, iter.ReadString()} + case 'n': + iter.skipThreeBytes('u', 'l', 'l') // null + return &nilAny{} + case 't': + iter.skipThreeBytes('r', 'u', 'e') // true + return &trueAny{} + case 'f': + iter.skipFourBytes('a', 'l', 's', 'e') // false + return &falseAny{} + case '{': + return iter.readObjectAny() + case '[': + return iter.readArrayAny() + case '-': + return iter.readNumberAny(false) + case 0: + return &invalidAny{baseAny{}, errors.New("input is empty")} + default: + return iter.readNumberAny(true) + } +} + +func (iter *Iterator) readNumberAny(positive bool) Any { + iter.startCapture(iter.head - 1) + iter.skipNumber() + lazyBuf := iter.stopCapture() + return &numberLazyAny{baseAny{}, iter.cfg, lazyBuf, nil} +} + +func (iter *Iterator) readObjectAny() Any { + iter.startCapture(iter.head - 1) + iter.skipObject() + lazyBuf := iter.stopCapture() + return &objectLazyAny{baseAny{}, iter.cfg, lazyBuf, nil} +} + +func (iter *Iterator) readArrayAny() Any { + iter.startCapture(iter.head - 1) + iter.skipArray() + lazyBuf := iter.stopCapture() + return &arrayLazyAny{baseAny{}, iter.cfg, lazyBuf, nil} +} + +func locateObjectField(iter *Iterator, target string) []byte { + var found []byte + iter.ReadObjectCB(func(iter *Iterator, field string) bool { + if field == target { + found = iter.SkipAndReturnBytes() + return false + } + iter.Skip() + return true + }) + return found +} + +func locateArrayElement(iter *Iterator, target int) []byte { + var found []byte + n := 0 + iter.ReadArrayCB(func(iter *Iterator) bool { + if n == target { + found = iter.SkipAndReturnBytes() + return false + } + iter.Skip() + n++ + return true + }) + return found +} + +func locatePath(iter *Iterator, path []interface{}) Any { + for i, pathKeyObj := range path { + switch pathKey := pathKeyObj.(type) { + case string: + valueBytes := locateObjectField(iter, pathKey) + if valueBytes == nil { + return newInvalidAny(path[i:]) + } + iter.ResetBytes(valueBytes) + case int: + valueBytes := locateArrayElement(iter, pathKey) + if valueBytes == nil { + return newInvalidAny(path[i:]) + } + iter.ResetBytes(valueBytes) + case int32: + if '*' == pathKey { + return iter.readAny().Get(path[i:]...) + } + return newInvalidAny(path[i:]) + default: + return newInvalidAny(path[i:]) + } + } + if iter.Error != nil && iter.Error != io.EOF { + return &invalidAny{baseAny{}, iter.Error} + } + return iter.readAny() +} + +var anyType = reflect2.TypeOfPtr((*Any)(nil)).Elem() + +func createDecoderOfAny(ctx *ctx, typ reflect2.Type) ValDecoder { + if typ == anyType { + return &directAnyCodec{} + } + if typ.Implements(anyType) { + return &anyCodec{ + valType: typ, + } + } + return nil +} + +func createEncoderOfAny(ctx *ctx, typ reflect2.Type) ValEncoder { + if typ == anyType { + return &directAnyCodec{} + } + if typ.Implements(anyType) { + return &anyCodec{ + valType: typ, + } + } + return nil +} + +type anyCodec struct { + valType reflect2.Type +} + +func (codec *anyCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + panic("not implemented") +} + +func (codec *anyCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + obj := codec.valType.UnsafeIndirect(ptr) + any := obj.(Any) + any.WriteTo(stream) +} + +func (codec *anyCodec) IsEmpty(ptr unsafe.Pointer) bool { + obj := codec.valType.UnsafeIndirect(ptr) + any := obj.(Any) + return any.Size() == 0 +} + +type directAnyCodec struct { +} + +func (codec *directAnyCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + *(*Any)(ptr) = iter.readAny() +} + +func (codec *directAnyCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + any := *(*Any)(ptr) + if any == nil { + stream.WriteNil() + return + } + any.WriteTo(stream) +} + +func (codec *directAnyCodec) IsEmpty(ptr unsafe.Pointer) bool { + any := *(*Any)(ptr) + return any.Size() == 0 +} diff --git a/vendor/github.com/json-iterator/go/any_array.go b/vendor/github.com/json-iterator/go/any_array.go new file mode 100644 index 000000000..0449e9aa4 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_array.go @@ -0,0 +1,278 @@ +package jsoniter + +import ( + "reflect" + "unsafe" +) + +type arrayLazyAny struct { + baseAny + cfg *frozenConfig + buf []byte + err error +} + +func (any *arrayLazyAny) ValueType() ValueType { + return ArrayValue +} + +func (any *arrayLazyAny) MustBeValid() Any { + return any +} + +func (any *arrayLazyAny) LastError() error { + return any.err +} + +func (any *arrayLazyAny) ToBool() bool { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + return iter.ReadArray() +} + +func (any *arrayLazyAny) ToInt() int { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToInt32() int32 { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToInt64() int64 { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToUint() uint { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToUint32() uint32 { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToUint64() uint64 { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToFloat32() float32 { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToFloat64() float64 { + if any.ToBool() { + return 1 + } + return 0 +} + +func (any *arrayLazyAny) ToString() string { + return *(*string)(unsafe.Pointer(&any.buf)) +} + +func (any *arrayLazyAny) ToVal(val interface{}) { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + iter.ReadVal(val) +} + +func (any *arrayLazyAny) Get(path ...interface{}) Any { + if len(path) == 0 { + return any + } + switch firstPath := path[0].(type) { + case int: + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + valueBytes := locateArrayElement(iter, firstPath) + if valueBytes == nil { + return newInvalidAny(path) + } + iter.ResetBytes(valueBytes) + return locatePath(iter, path[1:]) + case int32: + if '*' == firstPath { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + arr := make([]Any, 0) + iter.ReadArrayCB(func(iter *Iterator) bool { + found := iter.readAny().Get(path[1:]...) + if found.ValueType() != InvalidValue { + arr = append(arr, found) + } + return true + }) + return wrapArray(arr) + } + return newInvalidAny(path) + default: + return newInvalidAny(path) + } +} + +func (any *arrayLazyAny) Size() int { + size := 0 + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + iter.ReadArrayCB(func(iter *Iterator) bool { + size++ + iter.Skip() + return true + }) + return size +} + +func (any *arrayLazyAny) WriteTo(stream *Stream) { + stream.Write(any.buf) +} + +func (any *arrayLazyAny) GetInterface() interface{} { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + return iter.Read() +} + +type arrayAny struct { + baseAny + val reflect.Value +} + +func wrapArray(val interface{}) *arrayAny { + return &arrayAny{baseAny{}, reflect.ValueOf(val)} +} + +func (any *arrayAny) ValueType() ValueType { + return ArrayValue +} + +func (any *arrayAny) MustBeValid() Any { + return any +} + +func (any *arrayAny) LastError() error { + return nil +} + +func (any *arrayAny) ToBool() bool { + return any.val.Len() != 0 +} + +func (any *arrayAny) ToInt() int { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToInt32() int32 { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToInt64() int64 { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToUint() uint { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToUint32() uint32 { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToUint64() uint64 { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToFloat32() float32 { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToFloat64() float64 { + if any.val.Len() == 0 { + return 0 + } + return 1 +} + +func (any *arrayAny) ToString() string { + str, _ := MarshalToString(any.val.Interface()) + return str +} + +func (any *arrayAny) Get(path ...interface{}) Any { + if len(path) == 0 { + return any + } + switch firstPath := path[0].(type) { + case int: + if firstPath < 0 || firstPath >= any.val.Len() { + return newInvalidAny(path) + } + return Wrap(any.val.Index(firstPath).Interface()) + case int32: + if '*' == firstPath { + mappedAll := make([]Any, 0) + for i := 0; i < any.val.Len(); i++ { + mapped := Wrap(any.val.Index(i).Interface()).Get(path[1:]...) + if mapped.ValueType() != InvalidValue { + mappedAll = append(mappedAll, mapped) + } + } + return wrapArray(mappedAll) + } + return newInvalidAny(path) + default: + return newInvalidAny(path) + } +} + +func (any *arrayAny) Size() int { + return any.val.Len() +} + +func (any *arrayAny) WriteTo(stream *Stream) { + stream.WriteVal(any.val) +} + +func (any *arrayAny) GetInterface() interface{} { + return any.val.Interface() +} diff --git a/vendor/github.com/json-iterator/go/any_bool.go b/vendor/github.com/json-iterator/go/any_bool.go new file mode 100644 index 000000000..9452324af --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_bool.go @@ -0,0 +1,137 @@ +package jsoniter + +type trueAny struct { + baseAny +} + +func (any *trueAny) LastError() error { + return nil +} + +func (any *trueAny) ToBool() bool { + return true +} + +func (any *trueAny) ToInt() int { + return 1 +} + +func (any *trueAny) ToInt32() int32 { + return 1 +} + +func (any *trueAny) ToInt64() int64 { + return 1 +} + +func (any *trueAny) ToUint() uint { + return 1 +} + +func (any *trueAny) ToUint32() uint32 { + return 1 +} + +func (any *trueAny) ToUint64() uint64 { + return 1 +} + +func (any *trueAny) ToFloat32() float32 { + return 1 +} + +func (any *trueAny) ToFloat64() float64 { + return 1 +} + +func (any *trueAny) ToString() string { + return "true" +} + +func (any *trueAny) WriteTo(stream *Stream) { + stream.WriteTrue() +} + +func (any *trueAny) Parse() *Iterator { + return nil +} + +func (any *trueAny) GetInterface() interface{} { + return true +} + +func (any *trueAny) ValueType() ValueType { + return BoolValue +} + +func (any *trueAny) MustBeValid() Any { + return any +} + +type falseAny struct { + baseAny +} + +func (any *falseAny) LastError() error { + return nil +} + +func (any *falseAny) ToBool() bool { + return false +} + +func (any *falseAny) ToInt() int { + return 0 +} + +func (any *falseAny) ToInt32() int32 { + return 0 +} + +func (any *falseAny) ToInt64() int64 { + return 0 +} + +func (any *falseAny) ToUint() uint { + return 0 +} + +func (any *falseAny) ToUint32() uint32 { + return 0 +} + +func (any *falseAny) ToUint64() uint64 { + return 0 +} + +func (any *falseAny) ToFloat32() float32 { + return 0 +} + +func (any *falseAny) ToFloat64() float64 { + return 0 +} + +func (any *falseAny) ToString() string { + return "false" +} + +func (any *falseAny) WriteTo(stream *Stream) { + stream.WriteFalse() +} + +func (any *falseAny) Parse() *Iterator { + return nil +} + +func (any *falseAny) GetInterface() interface{} { + return false +} + +func (any *falseAny) ValueType() ValueType { + return BoolValue +} + +func (any *falseAny) MustBeValid() Any { + return any +} diff --git a/vendor/github.com/json-iterator/go/any_float.go b/vendor/github.com/json-iterator/go/any_float.go new file mode 100644 index 000000000..35fdb0949 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_float.go @@ -0,0 +1,83 @@ +package jsoniter + +import ( + "strconv" +) + +type floatAny struct { + baseAny + val float64 +} + +func (any *floatAny) Parse() *Iterator { + return nil +} + +func (any *floatAny) ValueType() ValueType { + return NumberValue +} + +func (any *floatAny) MustBeValid() Any { + return any +} + +func (any *floatAny) LastError() error { + return nil +} + +func (any *floatAny) ToBool() bool { + return any.ToFloat64() != 0 +} + +func (any *floatAny) ToInt() int { + return int(any.val) +} + +func (any *floatAny) ToInt32() int32 { + return int32(any.val) +} + +func (any *floatAny) ToInt64() int64 { + return int64(any.val) +} + +func (any *floatAny) ToUint() uint { + if any.val > 0 { + return uint(any.val) + } + return 0 +} + +func (any *floatAny) ToUint32() uint32 { + if any.val > 0 { + return uint32(any.val) + } + return 0 +} + +func (any *floatAny) ToUint64() uint64 { + if any.val > 0 { + return uint64(any.val) + } + return 0 +} + +func (any *floatAny) ToFloat32() float32 { + return float32(any.val) +} + +func (any *floatAny) ToFloat64() float64 { + return any.val +} + +func (any *floatAny) ToString() string { + return strconv.FormatFloat(any.val, 'E', -1, 64) +} + +func (any *floatAny) WriteTo(stream *Stream) { + stream.WriteFloat64(any.val) +} + +func (any *floatAny) GetInterface() interface{} { + return any.val +} diff --git a/vendor/github.com/json-iterator/go/any_int32.go b/vendor/github.com/json-iterator/go/any_int32.go new file mode 100644 index 000000000..1b56f3991 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_int32.go @@ -0,0 +1,74 @@ +package jsoniter + +import ( + "strconv" +) + +type int32Any struct { + baseAny + val int32 +} + +func (any *int32Any) LastError() error { + return nil +} + +func (any *int32Any) ValueType() ValueType { + return NumberValue +} + +func (any *int32Any) MustBeValid() Any { + return any +} + +func (any *int32Any) ToBool() bool { + return any.val != 0 +} + +func (any *int32Any) ToInt() int { + return int(any.val) +} + +func (any *int32Any) ToInt32() int32 { + return any.val +} + +func (any *int32Any) ToInt64() int64 { + return int64(any.val) +} + +func (any *int32Any) ToUint() uint { + return uint(any.val) +} + +func (any *int32Any) ToUint32() uint32 { + return uint32(any.val) +} + +func (any *int32Any) ToUint64() uint64 { + return uint64(any.val) +} + +func (any *int32Any) ToFloat32() float32 { + return float32(any.val) +} + +func (any *int32Any) ToFloat64() float64 { + return float64(any.val) +} + +func (any *int32Any) ToString() string { + return strconv.FormatInt(int64(any.val), 10) +} + +func (any *int32Any) WriteTo(stream *Stream) { + stream.WriteInt32(any.val) +} + +func (any *int32Any) Parse() *Iterator { + return nil +} + +func (any *int32Any) GetInterface() interface{} { + return any.val +} diff --git a/vendor/github.com/json-iterator/go/any_int64.go b/vendor/github.com/json-iterator/go/any_int64.go new file mode 100644 index 000000000..c440d72b6 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_int64.go @@ -0,0 +1,74 @@ +package jsoniter + +import ( + "strconv" +) + +type int64Any struct { + baseAny + val int64 +} + +func (any *int64Any) LastError() error { + return nil +} + +func (any *int64Any) ValueType() ValueType { + return NumberValue +} + +func (any *int64Any) MustBeValid() Any { + return any +} + +func (any *int64Any) ToBool() bool { + return any.val != 0 +} + +func (any *int64Any) ToInt() int { + return int(any.val) +} + +func (any *int64Any) ToInt32() int32 { + return int32(any.val) +} + +func (any *int64Any) ToInt64() int64 { + return any.val +} + +func (any *int64Any) ToUint() uint { + return uint(any.val) +} + +func (any *int64Any) ToUint32() uint32 { + return uint32(any.val) +} + +func (any *int64Any) ToUint64() uint64 { + return uint64(any.val) +} + +func (any *int64Any) ToFloat32() float32 { + return float32(any.val) +} + +func (any *int64Any) ToFloat64() float64 { + return float64(any.val) +} + +func (any *int64Any) ToString() string { + return strconv.FormatInt(any.val, 10) +} + +func (any *int64Any) WriteTo(stream *Stream) { + stream.WriteInt64(any.val) +} + +func (any *int64Any) Parse() *Iterator { + return nil +} + +func (any *int64Any) GetInterface() interface{} { + return any.val +} diff --git a/vendor/github.com/json-iterator/go/any_invalid.go b/vendor/github.com/json-iterator/go/any_invalid.go new file mode 100644 index 000000000..1d859eac3 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_invalid.go @@ -0,0 +1,82 @@ +package jsoniter + +import "fmt" + +type invalidAny struct { + baseAny + err error +} + +func newInvalidAny(path []interface{}) *invalidAny { + return &invalidAny{baseAny{}, fmt.Errorf("%v not found", path)} +} + +func (any *invalidAny) LastError() error { + return any.err +} + +func (any *invalidAny) ValueType() ValueType { + return InvalidValue +} + +func (any *invalidAny) MustBeValid() Any { + panic(any.err) +} + +func (any *invalidAny) ToBool() bool { + return false +} + +func (any *invalidAny) ToInt() int { + return 0 +} + +func (any *invalidAny) ToInt32() int32 { + return 0 +} + +func (any *invalidAny) ToInt64() int64 { + return 0 +} + +func (any *invalidAny) ToUint() uint { + return 0 +} + +func (any *invalidAny) ToUint32() uint32 { + return 0 +} + +func (any *invalidAny) ToUint64() uint64 { + return 0 +} + +func (any *invalidAny) ToFloat32() float32 { + return 0 +} + +func (any *invalidAny) ToFloat64() float64 { + return 0 +} + +func (any *invalidAny) ToString() string { + return "" +} + +func (any *invalidAny) WriteTo(stream *Stream) { +} + +func (any *invalidAny) Get(path ...interface{}) Any { + if any.err == nil { + return &invalidAny{baseAny{}, fmt.Errorf("get %v from invalid", path)} + } + return &invalidAny{baseAny{}, fmt.Errorf("%v, get %v from invalid", any.err, path)} +} + +func (any *invalidAny) Parse() *Iterator { + return nil +} + +func (any *invalidAny) GetInterface() interface{} { + return nil +} diff --git a/vendor/github.com/json-iterator/go/any_nil.go b/vendor/github.com/json-iterator/go/any_nil.go new file mode 100644 index 000000000..d04cb54c1 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_nil.go @@ -0,0 +1,69 @@ +package jsoniter + +type nilAny struct { + baseAny +} + +func (any *nilAny) LastError() error { + return nil +} + +func (any *nilAny) ValueType() ValueType { + return NilValue +} + +func (any *nilAny) MustBeValid() Any { + return any +} + +func (any *nilAny) ToBool() bool { + return false +} + +func (any *nilAny) ToInt() int { + return 0 +} + +func (any *nilAny) ToInt32() int32 { + return 0 +} + +func (any *nilAny) ToInt64() int64 { + return 0 +} + +func (any *nilAny) ToUint() uint { + return 0 +} + +func (any *nilAny) ToUint32() uint32 { + return 0 +} + +func (any *nilAny) ToUint64() uint64 { + return 0 +} + +func (any *nilAny) ToFloat32() float32 { + return 0 +} + +func (any *nilAny) ToFloat64() float64 { + return 0 +} + +func (any *nilAny) ToString() string { + return "" +} + +func (any *nilAny) WriteTo(stream *Stream) { + stream.WriteNil() +} + +func (any *nilAny) Parse() *Iterator { + return nil +} + +func (any *nilAny) GetInterface() interface{} { + return nil +} diff --git a/vendor/github.com/json-iterator/go/any_number.go b/vendor/github.com/json-iterator/go/any_number.go new file mode 100644 index 000000000..9d1e901a6 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_number.go @@ -0,0 +1,123 @@ +package jsoniter + +import ( + "io" + "unsafe" +) + +type numberLazyAny struct { + baseAny + cfg *frozenConfig + buf []byte + err error +} + +func (any *numberLazyAny) ValueType() ValueType { + return NumberValue +} + +func (any *numberLazyAny) MustBeValid() Any { + return any +} + +func (any *numberLazyAny) LastError() error { + return any.err +} + +func (any *numberLazyAny) ToBool() bool { + return any.ToFloat64() != 0 +} + +func (any *numberLazyAny) ToInt() int { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadInt() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToInt32() int32 { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadInt32() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToInt64() int64 { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadInt64() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToUint() uint { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadUint() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToUint32() uint32 { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadUint32() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToUint64() uint64 { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadUint64() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToFloat32() float32 { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadFloat32() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToFloat64() float64 { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + val := iter.ReadFloat64() + if iter.Error != nil && iter.Error != io.EOF { + any.err = iter.Error + } + return val +} + +func (any *numberLazyAny) ToString() string { + return *(*string)(unsafe.Pointer(&any.buf)) +} + +func (any *numberLazyAny) WriteTo(stream *Stream) { + stream.Write(any.buf) +} + +func (any *numberLazyAny) GetInterface() interface{} { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + return iter.Read() +} diff --git a/vendor/github.com/json-iterator/go/any_object.go b/vendor/github.com/json-iterator/go/any_object.go new file mode 100644 index 000000000..c44ef5c98 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_object.go @@ -0,0 +1,374 @@ +package jsoniter + +import ( + "reflect" + "unsafe" +) + +type objectLazyAny struct { + baseAny + cfg *frozenConfig + buf []byte + err error +} + +func (any *objectLazyAny) ValueType() ValueType { + return ObjectValue +} + +func (any *objectLazyAny) MustBeValid() Any { + return any +} + +func (any *objectLazyAny) LastError() error { + return any.err +} + +func (any *objectLazyAny) ToBool() bool { + return true +} + +func (any *objectLazyAny) ToInt() int { + return 0 +} + +func (any *objectLazyAny) ToInt32() int32 { + return 0 +} + +func (any *objectLazyAny) ToInt64() int64 { + return 0 +} + +func (any *objectLazyAny) ToUint() uint { + return 0 +} + +func (any *objectLazyAny) ToUint32() uint32 { + return 0 +} + +func (any *objectLazyAny) ToUint64() uint64 { + return 0 +} + +func (any *objectLazyAny) ToFloat32() float32 { + return 0 +} + +func (any *objectLazyAny) ToFloat64() float64 { + return 0 +} + +func (any *objectLazyAny) ToString() string { + return *(*string)(unsafe.Pointer(&any.buf)) +} + +func (any *objectLazyAny) ToVal(obj interface{}) { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + iter.ReadVal(obj) +} + +func (any *objectLazyAny) Get(path ...interface{}) Any { + if len(path) == 0 { + return any + } + switch firstPath := path[0].(type) { + case string: + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + valueBytes := locateObjectField(iter, firstPath) + if valueBytes == nil { + return newInvalidAny(path) + } + iter.ResetBytes(valueBytes) + return locatePath(iter, path[1:]) + case int32: + if '*' == firstPath { + mappedAll := map[string]Any{} + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + iter.ReadMapCB(func(iter *Iterator, field string) bool { + mapped := locatePath(iter, path[1:]) + if mapped.ValueType() != InvalidValue { + mappedAll[field] = mapped + } + return true + }) + return wrapMap(mappedAll) + } + return newInvalidAny(path) + default: + return newInvalidAny(path) + } +} + +func (any *objectLazyAny) Keys() []string { + keys := []string{} + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + iter.ReadMapCB(func(iter *Iterator, field string) bool { + iter.Skip() + keys = append(keys, field) + return true + }) + return keys +} + +func (any *objectLazyAny) Size() int { + size := 0 + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + iter.ReadObjectCB(func(iter *Iterator, field string) bool { + iter.Skip() + size++ + return true + }) + return size +} + +func (any *objectLazyAny) WriteTo(stream *Stream) { + stream.Write(any.buf) +} + +func (any *objectLazyAny) GetInterface() interface{} { + iter := any.cfg.BorrowIterator(any.buf) + defer any.cfg.ReturnIterator(iter) + return iter.Read() +} + +type objectAny struct { + baseAny + err error + val reflect.Value +} + +func wrapStruct(val interface{}) *objectAny { + return &objectAny{baseAny{}, nil, reflect.ValueOf(val)} +} + +func (any *objectAny) ValueType() ValueType { + return ObjectValue +} + +func (any *objectAny) MustBeValid() Any { + return any +} + +func (any *objectAny) Parse() *Iterator { + return nil +} + +func (any *objectAny) LastError() error { + return any.err +} + +func (any *objectAny) ToBool() bool { + return any.val.NumField() != 0 +} + +func (any *objectAny) ToInt() int { + return 0 +} + +func (any *objectAny) ToInt32() int32 { + return 0 +} + +func (any *objectAny) ToInt64() int64 { + return 0 +} + +func (any *objectAny) ToUint() uint { + return 0 +} + +func (any *objectAny) ToUint32() uint32 { + return 0 +} + +func (any *objectAny) ToUint64() uint64 { + return 0 +} + +func (any *objectAny) ToFloat32() float32 { + return 0 +} + +func (any *objectAny) ToFloat64() float64 { + return 0 +} + +func (any *objectAny) ToString() string { + str, err := MarshalToString(any.val.Interface()) + any.err = err + return str +} + +func (any *objectAny) Get(path ...interface{}) Any { + if len(path) == 0 { + return any + } + switch firstPath := path[0].(type) { + case string: + field := any.val.FieldByName(firstPath) + if !field.IsValid() { + return newInvalidAny(path) + } + return Wrap(field.Interface()) + case int32: + if '*' == firstPath { + mappedAll := map[string]Any{} + for i := 0; i < any.val.NumField(); i++ { + field := any.val.Field(i) + if field.CanInterface() { + mapped := Wrap(field.Interface()).Get(path[1:]...) + if mapped.ValueType() != InvalidValue { + mappedAll[any.val.Type().Field(i).Name] = mapped + } + } + } + return wrapMap(mappedAll) + } + return newInvalidAny(path) + default: + return newInvalidAny(path) + } +} + +func (any *objectAny) Keys() []string { + keys := make([]string, 0, any.val.NumField()) + for i := 0; i < any.val.NumField(); i++ { + keys = append(keys, any.val.Type().Field(i).Name) + } + return keys +} + +func (any *objectAny) Size() int { + return any.val.NumField() +} + +func (any *objectAny) WriteTo(stream *Stream) { + stream.WriteVal(any.val) +} + +func (any *objectAny) GetInterface() interface{} { + return any.val.Interface() +} + +type mapAny struct { + baseAny + err error + val reflect.Value +} + +func wrapMap(val interface{}) *mapAny { + return &mapAny{baseAny{}, nil, reflect.ValueOf(val)} +} + +func (any *mapAny) ValueType() ValueType { + return ObjectValue +} + +func (any *mapAny) MustBeValid() Any { + return any +} + +func (any *mapAny) Parse() *Iterator { + return nil +} + +func (any *mapAny) LastError() error { + return any.err +} + +func (any *mapAny) ToBool() bool { + return true +} + +func (any *mapAny) ToInt() int { + return 0 +} + +func (any *mapAny) ToInt32() int32 { + return 0 +} + +func (any *mapAny) ToInt64() int64 { + return 0 +} + +func (any *mapAny) ToUint() uint { + return 0 +} + +func (any *mapAny) ToUint32() uint32 { + return 0 +} + +func (any *mapAny) ToUint64() uint64 { + return 0 +} + +func (any *mapAny) ToFloat32() float32 { + return 0 +} + +func (any *mapAny) ToFloat64() float64 { + return 0 +} + +func (any *mapAny) ToString() string { + str, err := MarshalToString(any.val.Interface()) + any.err = err + return str +} + +func (any *mapAny) Get(path ...interface{}) Any { + if len(path) == 0 { + return any + } + switch firstPath := path[0].(type) { + case int32: + if '*' == firstPath { + mappedAll := map[string]Any{} + for _, key := range any.val.MapKeys() { + keyAsStr := key.String() + element := Wrap(any.val.MapIndex(key).Interface()) + mapped := element.Get(path[1:]...) + if mapped.ValueType() != InvalidValue { + mappedAll[keyAsStr] = mapped + } + } + return wrapMap(mappedAll) + } + return newInvalidAny(path) + default: + value := any.val.MapIndex(reflect.ValueOf(firstPath)) + if !value.IsValid() { + return newInvalidAny(path) + } + return Wrap(value.Interface()) + } +} + +func (any *mapAny) Keys() []string { + keys := make([]string, 0, any.val.Len()) + for _, key := range any.val.MapKeys() { + keys = append(keys, key.String()) + } + return keys +} + +func (any *mapAny) Size() int { + return any.val.Len() +} + +func (any *mapAny) WriteTo(stream *Stream) { + stream.WriteVal(any.val) +} + +func (any *mapAny) GetInterface() interface{} { + return any.val.Interface() +} diff --git a/vendor/github.com/json-iterator/go/any_str.go b/vendor/github.com/json-iterator/go/any_str.go new file mode 100644 index 000000000..1f12f6612 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_str.go @@ -0,0 +1,166 @@ +package jsoniter + +import ( + "fmt" + "strconv" +) + +type stringAny struct { + baseAny + val string +} + +func (any *stringAny) Get(path ...interface{}) Any { + if len(path) == 0 { + return any + } + return &invalidAny{baseAny{}, fmt.Errorf("GetIndex %v from simple value", path)} +} + +func (any *stringAny) Parse() *Iterator { + return nil +} + +func (any *stringAny) ValueType() ValueType { + return StringValue +} + +func (any *stringAny) MustBeValid() Any { + return any +} + +func (any *stringAny) LastError() error { + return nil +} + +func (any *stringAny) ToBool() bool { + str := any.ToString() + if str == "0" { + return false + } + for _, c := range str { + switch c { + case ' ', '\n', '\r', '\t': + default: + return true + } + } + return false +} + +func (any *stringAny) ToInt() int { + return int(any.ToInt64()) + +} + +func (any *stringAny) ToInt32() int32 { + return int32(any.ToInt64()) +} + +func (any *stringAny) ToInt64() int64 { + if any.val == "" { + return 0 + } + + flag := 1 + startPos := 0 + if any.val[0] == '+' || any.val[0] == '-' { + startPos = 1 + } + + if any.val[0] == '-' { + flag = -1 + } + + endPos := startPos + for i := startPos; i < len(any.val); i++ { + if any.val[i] >= '0' && any.val[i] <= '9' { + endPos = i + 1 + } else { + break + } + } + parsed, _ := strconv.ParseInt(any.val[startPos:endPos], 10, 64) + return int64(flag) * parsed +} + +func (any *stringAny) ToUint() uint { + return uint(any.ToUint64()) +} + +func (any *stringAny) ToUint32() uint32 { + return uint32(any.ToUint64()) +} + +func (any *stringAny) ToUint64() uint64 { + if any.val == "" { + return 0 + } + + startPos := 0 + + if any.val[0] == '-' { + return 0 + } + if any.val[0] == '+' { + startPos = 1 + } + + endPos := startPos + for i := startPos; i < len(any.val); i++ { + if any.val[i] >= '0' && any.val[i] <= '9' { + endPos = i + 1 + } else { + break + } + } + parsed, _ := strconv.ParseUint(any.val[startPos:endPos], 10, 64) + return parsed +} + +func (any *stringAny) ToFloat32() float32 { + return float32(any.ToFloat64()) +} + +func (any *stringAny) ToFloat64() float64 { + if len(any.val) == 0 { + return 0 + } + + // first char invalid + if any.val[0] != '+' && any.val[0] != '-' && (any.val[0] > '9' || any.val[0] < '0') { + return 0 + } + + // extract valid num expression from string + // eg 123true => 123, -12.12xxa => -12.12 + endPos := 1 + for i := 1; i < len(any.val); i++ { + if any.val[i] == '.' || any.val[i] == 'e' || any.val[i] == 'E' || any.val[i] == '+' || any.val[i] == '-' { + endPos = i + 1 + continue + } + + // end position is the first char which is not digit + if any.val[i] >= '0' && any.val[i] <= '9' { + endPos = i + 1 + } else { + endPos = i + break + } + } + parsed, _ := strconv.ParseFloat(any.val[:endPos], 64) + return parsed +} + +func (any *stringAny) ToString() string { + return any.val +} + +func (any *stringAny) WriteTo(stream *Stream) { + stream.WriteString(any.val) +} + +func (any *stringAny) GetInterface() interface{} { + return any.val +} diff --git a/vendor/github.com/json-iterator/go/any_uint32.go b/vendor/github.com/json-iterator/go/any_uint32.go new file mode 100644 index 000000000..656bbd33d --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_uint32.go @@ -0,0 +1,74 @@ +package jsoniter + +import ( + "strconv" +) + +type uint32Any struct { + baseAny + val uint32 +} + +func (any *uint32Any) LastError() error { + return nil +} + +func (any *uint32Any) ValueType() ValueType { + return NumberValue +} + +func (any *uint32Any) MustBeValid() Any { + return any +} + +func (any *uint32Any) ToBool() bool { + return any.val != 0 +} + +func (any *uint32Any) ToInt() int { + return int(any.val) +} + +func (any *uint32Any) ToInt32() int32 { + return int32(any.val) +} + +func (any *uint32Any) ToInt64() int64 { + return int64(any.val) +} + +func (any *uint32Any) ToUint() uint { + return uint(any.val) +} + +func (any *uint32Any) ToUint32() uint32 { + return any.val +} + +func (any *uint32Any) ToUint64() uint64 { + return uint64(any.val) +} + +func (any *uint32Any) ToFloat32() float32 { + return float32(any.val) +} + +func (any *uint32Any) ToFloat64() float64 { + return float64(any.val) +} + +func (any *uint32Any) ToString() string { + return strconv.FormatInt(int64(any.val), 10) +} + +func (any *uint32Any) WriteTo(stream *Stream) { + stream.WriteUint32(any.val) +} + +func (any *uint32Any) Parse() *Iterator { + return nil +} + +func (any *uint32Any) GetInterface() interface{} { + return any.val +} diff --git a/vendor/github.com/json-iterator/go/any_uint64.go b/vendor/github.com/json-iterator/go/any_uint64.go new file mode 100644 index 000000000..7df2fce33 --- /dev/null +++ b/vendor/github.com/json-iterator/go/any_uint64.go @@ -0,0 +1,74 @@ +package jsoniter + +import ( + "strconv" +) + +type uint64Any struct { + baseAny + val uint64 +} + +func (any *uint64Any) LastError() error { + return nil +} + +func (any *uint64Any) ValueType() ValueType { + return NumberValue +} + +func (any *uint64Any) MustBeValid() Any { + return any +} + +func (any *uint64Any) ToBool() bool { + return any.val != 0 +} + +func (any *uint64Any) ToInt() int { + return int(any.val) +} + +func (any *uint64Any) ToInt32() int32 { + return int32(any.val) +} + +func (any *uint64Any) ToInt64() int64 { + return int64(any.val) +} + +func (any *uint64Any) ToUint() uint { + return uint(any.val) +} + +func (any *uint64Any) ToUint32() uint32 { + return uint32(any.val) +} + +func (any *uint64Any) ToUint64() uint64 { + return any.val +} + +func (any *uint64Any) ToFloat32() float32 { + return float32(any.val) +} + +func (any *uint64Any) ToFloat64() float64 { + return float64(any.val) +} + +func (any *uint64Any) ToString() string { + return strconv.FormatUint(any.val, 10) +} + +func (any *uint64Any) WriteTo(stream *Stream) { + stream.WriteUint64(any.val) +} + +func (any *uint64Any) Parse() *Iterator { + return nil +} + +func (any *uint64Any) GetInterface() interface{} { + return any.val +} diff --git a/vendor/github.com/json-iterator/go/build.sh b/vendor/github.com/json-iterator/go/build.sh new file mode 100644 index 000000000..b45ef6883 --- /dev/null +++ b/vendor/github.com/json-iterator/go/build.sh @@ -0,0 +1,12 @@ +#!/bin/bash +set -e +set -x + +if [ ! -d /tmp/build-golang/src/github.com/json-iterator ]; then + mkdir -p /tmp/build-golang/src/github.com/json-iterator + ln -s $PWD /tmp/build-golang/src/github.com/json-iterator/go +fi +export GOPATH=/tmp/build-golang +go get -u github.com/golang/dep/cmd/dep +cd /tmp/build-golang/src/github.com/json-iterator/go +exec $GOPATH/bin/dep ensure -update diff --git a/vendor/github.com/json-iterator/go/config.go b/vendor/github.com/json-iterator/go/config.go new file mode 100644 index 000000000..2adcdc3b7 --- /dev/null +++ b/vendor/github.com/json-iterator/go/config.go @@ -0,0 +1,375 @@ +package jsoniter + +import ( + "encoding/json" + "io" + "reflect" + "sync" + "unsafe" + + "github.com/modern-go/concurrent" + "github.com/modern-go/reflect2" +) + +// Config customize how the API should behave. +// The API is created from Config by Froze. +type Config struct { + IndentionStep int + MarshalFloatWith6Digits bool + EscapeHTML bool + SortMapKeys bool + UseNumber bool + DisallowUnknownFields bool + TagKey string + OnlyTaggedField bool + ValidateJsonRawMessage bool + ObjectFieldMustBeSimpleString bool + CaseSensitive bool +} + +// API the public interface of this package. +// Primary Marshal and Unmarshal. +type API interface { + IteratorPool + StreamPool + MarshalToString(v interface{}) (string, error) + Marshal(v interface{}) ([]byte, error) + MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) + UnmarshalFromString(str string, v interface{}) error + Unmarshal(data []byte, v interface{}) error + Get(data []byte, path ...interface{}) Any + NewEncoder(writer io.Writer) *Encoder + NewDecoder(reader io.Reader) *Decoder + Valid(data []byte) bool + RegisterExtension(extension Extension) + DecoderOf(typ reflect2.Type) ValDecoder + EncoderOf(typ reflect2.Type) ValEncoder +} + +// ConfigDefault the default API +var ConfigDefault = Config{ + EscapeHTML: true, +}.Froze() + +// ConfigCompatibleWithStandardLibrary tries to be 100% compatible with standard library behavior +var ConfigCompatibleWithStandardLibrary = Config{ + EscapeHTML: true, + SortMapKeys: true, + ValidateJsonRawMessage: true, +}.Froze() + +// ConfigFastest marshals float with only 6 digits precision +var ConfigFastest = Config{ + EscapeHTML: false, + MarshalFloatWith6Digits: true, // will lose precession + ObjectFieldMustBeSimpleString: true, // do not unescape object field +}.Froze() + +type frozenConfig struct { + configBeforeFrozen Config + sortMapKeys bool + indentionStep int + objectFieldMustBeSimpleString bool + onlyTaggedField bool + disallowUnknownFields bool + decoderCache *concurrent.Map + encoderCache *concurrent.Map + encoderExtension Extension + decoderExtension Extension + extraExtensions []Extension + streamPool *sync.Pool + iteratorPool *sync.Pool + caseSensitive bool +} + +func (cfg *frozenConfig) initCache() { + cfg.decoderCache = concurrent.NewMap() + cfg.encoderCache = concurrent.NewMap() +} + +func (cfg *frozenConfig) addDecoderToCache(cacheKey uintptr, decoder ValDecoder) { + cfg.decoderCache.Store(cacheKey, decoder) +} + +func (cfg *frozenConfig) addEncoderToCache(cacheKey uintptr, encoder ValEncoder) { + cfg.encoderCache.Store(cacheKey, encoder) +} + +func (cfg *frozenConfig) getDecoderFromCache(cacheKey uintptr) ValDecoder { + decoder, found := cfg.decoderCache.Load(cacheKey) + if found { + return decoder.(ValDecoder) + } + return nil +} + +func (cfg *frozenConfig) getEncoderFromCache(cacheKey uintptr) ValEncoder { + encoder, found := cfg.encoderCache.Load(cacheKey) + if found { + return encoder.(ValEncoder) + } + return nil +} + +var cfgCache = concurrent.NewMap() + +func getFrozenConfigFromCache(cfg Config) *frozenConfig { + obj, found := cfgCache.Load(cfg) + if found { + return obj.(*frozenConfig) + } + return nil +} + +func addFrozenConfigToCache(cfg Config, frozenConfig *frozenConfig) { + cfgCache.Store(cfg, frozenConfig) +} + +// Froze forge API from config +func (cfg Config) Froze() API { + api := &frozenConfig{ + sortMapKeys: cfg.SortMapKeys, + indentionStep: cfg.IndentionStep, + objectFieldMustBeSimpleString: cfg.ObjectFieldMustBeSimpleString, + onlyTaggedField: cfg.OnlyTaggedField, + disallowUnknownFields: cfg.DisallowUnknownFields, + caseSensitive: cfg.CaseSensitive, + } + api.streamPool = &sync.Pool{ + New: func() interface{} { + return NewStream(api, nil, 512) + }, + } + api.iteratorPool = &sync.Pool{ + New: func() interface{} { + return NewIterator(api) + }, + } + api.initCache() + encoderExtension := EncoderExtension{} + decoderExtension := DecoderExtension{} + if cfg.MarshalFloatWith6Digits { + api.marshalFloatWith6Digits(encoderExtension) + } + if cfg.EscapeHTML { + api.escapeHTML(encoderExtension) + } + if cfg.UseNumber { + api.useNumber(decoderExtension) + } + if cfg.ValidateJsonRawMessage { + api.validateJsonRawMessage(encoderExtension) + } + api.encoderExtension = encoderExtension + api.decoderExtension = decoderExtension + api.configBeforeFrozen = cfg + return api +} + +func (cfg Config) frozeWithCacheReuse(extraExtensions []Extension) *frozenConfig { + api := getFrozenConfigFromCache(cfg) + if api != nil { + return api + } + api = cfg.Froze().(*frozenConfig) + for _, extension := range extraExtensions { + api.RegisterExtension(extension) + } + addFrozenConfigToCache(cfg, api) + return api +} + +func (cfg *frozenConfig) validateJsonRawMessage(extension EncoderExtension) { + encoder := &funcEncoder{func(ptr unsafe.Pointer, stream *Stream) { + rawMessage := *(*json.RawMessage)(ptr) + iter := cfg.BorrowIterator([]byte(rawMessage)) + defer cfg.ReturnIterator(iter) + iter.Read() + if iter.Error != nil && iter.Error != io.EOF { + stream.WriteRaw("null") + } else { + stream.WriteRaw(string(rawMessage)) + } + }, func(ptr unsafe.Pointer) bool { + return len(*((*json.RawMessage)(ptr))) == 0 + }} + extension[reflect2.TypeOfPtr((*json.RawMessage)(nil)).Elem()] = encoder + extension[reflect2.TypeOfPtr((*RawMessage)(nil)).Elem()] = encoder +} + +func (cfg *frozenConfig) useNumber(extension DecoderExtension) { + extension[reflect2.TypeOfPtr((*interface{})(nil)).Elem()] = &funcDecoder{func(ptr unsafe.Pointer, iter *Iterator) { + exitingValue := *((*interface{})(ptr)) + if exitingValue != nil && reflect.TypeOf(exitingValue).Kind() == reflect.Ptr { + iter.ReadVal(exitingValue) + return + } + if iter.WhatIsNext() == NumberValue { + *((*interface{})(ptr)) = json.Number(iter.readNumberAsString()) + } else { + *((*interface{})(ptr)) = iter.Read() + } + }} +} +func (cfg *frozenConfig) getTagKey() string { + tagKey := cfg.configBeforeFrozen.TagKey + if tagKey == "" { + return "json" + } + return tagKey +} + +func (cfg *frozenConfig) RegisterExtension(extension Extension) { + cfg.extraExtensions = append(cfg.extraExtensions, extension) + copied := cfg.configBeforeFrozen + cfg.configBeforeFrozen = copied +} + +type lossyFloat32Encoder struct { +} + +func (encoder *lossyFloat32Encoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteFloat32Lossy(*((*float32)(ptr))) +} + +func (encoder *lossyFloat32Encoder) IsEmpty(ptr unsafe.Pointer) bool { + return *((*float32)(ptr)) == 0 +} + +type lossyFloat64Encoder struct { +} + +func (encoder *lossyFloat64Encoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteFloat64Lossy(*((*float64)(ptr))) +} + +func (encoder *lossyFloat64Encoder) IsEmpty(ptr unsafe.Pointer) bool { + return *((*float64)(ptr)) == 0 +} + +// EnableLossyFloatMarshalling keeps 10**(-6) precision +// for float variables for better performance. +func (cfg *frozenConfig) marshalFloatWith6Digits(extension EncoderExtension) { + // for better performance + extension[reflect2.TypeOfPtr((*float32)(nil)).Elem()] = &lossyFloat32Encoder{} + extension[reflect2.TypeOfPtr((*float64)(nil)).Elem()] = &lossyFloat64Encoder{} +} + +type htmlEscapedStringEncoder struct { +} + +func (encoder *htmlEscapedStringEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + str := *((*string)(ptr)) + stream.WriteStringWithHTMLEscaped(str) +} + +func (encoder *htmlEscapedStringEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return *((*string)(ptr)) == "" +} + +func (cfg *frozenConfig) escapeHTML(encoderExtension EncoderExtension) { + encoderExtension[reflect2.TypeOfPtr((*string)(nil)).Elem()] = &htmlEscapedStringEncoder{} +} + +func (cfg *frozenConfig) cleanDecoders() { + typeDecoders = map[string]ValDecoder{} + fieldDecoders = map[string]ValDecoder{} + *cfg = *(cfg.configBeforeFrozen.Froze().(*frozenConfig)) +} + +func (cfg *frozenConfig) cleanEncoders() { + typeEncoders = map[string]ValEncoder{} + fieldEncoders = map[string]ValEncoder{} + *cfg = *(cfg.configBeforeFrozen.Froze().(*frozenConfig)) +} + +func (cfg *frozenConfig) MarshalToString(v interface{}) (string, error) { + stream := cfg.BorrowStream(nil) + defer cfg.ReturnStream(stream) + stream.WriteVal(v) + if stream.Error != nil { + return "", stream.Error + } + return string(stream.Buffer()), nil +} + +func (cfg *frozenConfig) Marshal(v interface{}) ([]byte, error) { + stream := cfg.BorrowStream(nil) + defer cfg.ReturnStream(stream) + stream.WriteVal(v) + if stream.Error != nil { + return nil, stream.Error + } + result := stream.Buffer() + copied := make([]byte, len(result)) + copy(copied, result) + return copied, nil +} + +func (cfg *frozenConfig) MarshalIndent(v interface{}, prefix, indent string) ([]byte, error) { + if prefix != "" { + panic("prefix is not supported") + } + for _, r := range indent { + if r != ' ' { + panic("indent can only be space") + } + } + newCfg := cfg.configBeforeFrozen + newCfg.IndentionStep = len(indent) + return newCfg.frozeWithCacheReuse(cfg.extraExtensions).Marshal(v) +} + +func (cfg *frozenConfig) UnmarshalFromString(str string, v interface{}) error { + data := []byte(str) + iter := cfg.BorrowIterator(data) + defer cfg.ReturnIterator(iter) + iter.ReadVal(v) + c := iter.nextToken() + if c == 0 { + if iter.Error == io.EOF { + return nil + } + return iter.Error + } + iter.ReportError("Unmarshal", "there are bytes left after unmarshal") + return iter.Error +} + +func (cfg *frozenConfig) Get(data []byte, path ...interface{}) Any { + iter := cfg.BorrowIterator(data) + defer cfg.ReturnIterator(iter) + return locatePath(iter, path) +} + +func (cfg *frozenConfig) Unmarshal(data []byte, v interface{}) error { + iter := cfg.BorrowIterator(data) + defer cfg.ReturnIterator(iter) + iter.ReadVal(v) + c := iter.nextToken() + if c == 0 { + if iter.Error == io.EOF { + return nil + } + return iter.Error + } + iter.ReportError("Unmarshal", "there are bytes left after unmarshal") + return iter.Error +} + +func (cfg *frozenConfig) NewEncoder(writer io.Writer) *Encoder { + stream := NewStream(cfg, writer, 512) + return &Encoder{stream} +} + +func (cfg *frozenConfig) NewDecoder(reader io.Reader) *Decoder { + iter := Parse(cfg, reader, 512) + return &Decoder{iter} +} + +func (cfg *frozenConfig) Valid(data []byte) bool { + iter := cfg.BorrowIterator(data) + defer cfg.ReturnIterator(iter) + iter.Skip() + return iter.Error == nil +} diff --git a/vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md b/vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md new file mode 100644 index 000000000..3095662b0 --- /dev/null +++ b/vendor/github.com/json-iterator/go/fuzzy_mode_convert_table.md @@ -0,0 +1,7 @@ +| json type \ dest type | bool | int | uint | float |string| +| --- | --- | --- | --- |--|--| +| number | positive => true
negative => true
zero => false| 23.2 => 23
-32.1 => -32| 12.1 => 12
-12.1 => 0|as normal|same as origin| +| string | empty string => false
string "0" => false
other strings => true | "123.32" => 123
"-123.4" => -123
"123.23xxxw" => 123
"abcde12" => 0
"-32.1" => -32| 13.2 => 13
-1.1 => 0 |12.1 => 12.1
-12.3 => -12.3
12.4xxa => 12.4
+1.1e2 =>110 |same as origin| +| bool | true => true
false => false| true => 1
false => 0 | true => 1
false => 0 |true => 1
false => 0|true => "true"
false => "false"| +| object | true | 0 | 0 |0|originnal json| +| array | empty array => false
nonempty array => true| [] => 0
[1,2] => 1 | [] => 0
[1,2] => 1 |[] => 0
[1,2] => 1|original json| \ No newline at end of file diff --git a/vendor/github.com/json-iterator/go/iter.go b/vendor/github.com/json-iterator/go/iter.go new file mode 100644 index 000000000..29b31cf78 --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter.go @@ -0,0 +1,349 @@ +package jsoniter + +import ( + "encoding/json" + "fmt" + "io" +) + +// ValueType the type for JSON element +type ValueType int + +const ( + // InvalidValue invalid JSON element + InvalidValue ValueType = iota + // StringValue JSON element "string" + StringValue + // NumberValue JSON element 100 or 0.10 + NumberValue + // NilValue JSON element null + NilValue + // BoolValue JSON element true or false + BoolValue + // ArrayValue JSON element [] + ArrayValue + // ObjectValue JSON element {} + ObjectValue +) + +var hexDigits []byte +var valueTypes []ValueType + +func init() { + hexDigits = make([]byte, 256) + for i := 0; i < len(hexDigits); i++ { + hexDigits[i] = 255 + } + for i := '0'; i <= '9'; i++ { + hexDigits[i] = byte(i - '0') + } + for i := 'a'; i <= 'f'; i++ { + hexDigits[i] = byte((i - 'a') + 10) + } + for i := 'A'; i <= 'F'; i++ { + hexDigits[i] = byte((i - 'A') + 10) + } + valueTypes = make([]ValueType, 256) + for i := 0; i < len(valueTypes); i++ { + valueTypes[i] = InvalidValue + } + valueTypes['"'] = StringValue + valueTypes['-'] = NumberValue + valueTypes['0'] = NumberValue + valueTypes['1'] = NumberValue + valueTypes['2'] = NumberValue + valueTypes['3'] = NumberValue + valueTypes['4'] = NumberValue + valueTypes['5'] = NumberValue + valueTypes['6'] = NumberValue + valueTypes['7'] = NumberValue + valueTypes['8'] = NumberValue + valueTypes['9'] = NumberValue + valueTypes['t'] = BoolValue + valueTypes['f'] = BoolValue + valueTypes['n'] = NilValue + valueTypes['['] = ArrayValue + valueTypes['{'] = ObjectValue +} + +// Iterator is a io.Reader like object, with JSON specific read functions. +// Error is not returned as return value, but stored as Error member on this iterator instance. +type Iterator struct { + cfg *frozenConfig + reader io.Reader + buf []byte + head int + tail int + depth int + captureStartedAt int + captured []byte + Error error + Attachment interface{} // open for customized decoder +} + +// NewIterator creates an empty Iterator instance +func NewIterator(cfg API) *Iterator { + return &Iterator{ + cfg: cfg.(*frozenConfig), + reader: nil, + buf: nil, + head: 0, + tail: 0, + depth: 0, + } +} + +// Parse creates an Iterator instance from io.Reader +func Parse(cfg API, reader io.Reader, bufSize int) *Iterator { + return &Iterator{ + cfg: cfg.(*frozenConfig), + reader: reader, + buf: make([]byte, bufSize), + head: 0, + tail: 0, + depth: 0, + } +} + +// ParseBytes creates an Iterator instance from byte array +func ParseBytes(cfg API, input []byte) *Iterator { + return &Iterator{ + cfg: cfg.(*frozenConfig), + reader: nil, + buf: input, + head: 0, + tail: len(input), + depth: 0, + } +} + +// ParseString creates an Iterator instance from string +func ParseString(cfg API, input string) *Iterator { + return ParseBytes(cfg, []byte(input)) +} + +// Pool returns a pool can provide more iterator with same configuration +func (iter *Iterator) Pool() IteratorPool { + return iter.cfg +} + +// Reset reuse iterator instance by specifying another reader +func (iter *Iterator) Reset(reader io.Reader) *Iterator { + iter.reader = reader + iter.head = 0 + iter.tail = 0 + iter.depth = 0 + return iter +} + +// ResetBytes reuse iterator instance by specifying another byte array as input +func (iter *Iterator) ResetBytes(input []byte) *Iterator { + iter.reader = nil + iter.buf = input + iter.head = 0 + iter.tail = len(input) + iter.depth = 0 + return iter +} + +// WhatIsNext gets ValueType of relatively next json element +func (iter *Iterator) WhatIsNext() ValueType { + valueType := valueTypes[iter.nextToken()] + iter.unreadByte() + return valueType +} + +func (iter *Iterator) skipWhitespacesWithoutLoadMore() bool { + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + switch c { + case ' ', '\n', '\t', '\r': + continue + } + iter.head = i + return false + } + return true +} + +func (iter *Iterator) isObjectEnd() bool { + c := iter.nextToken() + if c == ',' { + return false + } + if c == '}' { + return true + } + iter.ReportError("isObjectEnd", "object ended prematurely, unexpected char "+string([]byte{c})) + return true +} + +func (iter *Iterator) nextToken() byte { + // a variation of skip whitespaces, returning the next non-whitespace token + for { + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + switch c { + case ' ', '\n', '\t', '\r': + continue + } + iter.head = i + 1 + return c + } + if !iter.loadMore() { + return 0 + } + } +} + +// ReportError record a error in iterator instance with current position. +func (iter *Iterator) ReportError(operation string, msg string) { + if iter.Error != nil { + if iter.Error != io.EOF { + return + } + } + peekStart := iter.head - 10 + if peekStart < 0 { + peekStart = 0 + } + peekEnd := iter.head + 10 + if peekEnd > iter.tail { + peekEnd = iter.tail + } + parsing := string(iter.buf[peekStart:peekEnd]) + contextStart := iter.head - 50 + if contextStart < 0 { + contextStart = 0 + } + contextEnd := iter.head + 50 + if contextEnd > iter.tail { + contextEnd = iter.tail + } + context := string(iter.buf[contextStart:contextEnd]) + iter.Error = fmt.Errorf("%s: %s, error found in #%v byte of ...|%s|..., bigger context ...|%s|...", + operation, msg, iter.head-peekStart, parsing, context) +} + +// CurrentBuffer gets current buffer as string for debugging purpose +func (iter *Iterator) CurrentBuffer() string { + peekStart := iter.head - 10 + if peekStart < 0 { + peekStart = 0 + } + return fmt.Sprintf("parsing #%v byte, around ...|%s|..., whole buffer ...|%s|...", iter.head, + string(iter.buf[peekStart:iter.head]), string(iter.buf[0:iter.tail])) +} + +func (iter *Iterator) readByte() (ret byte) { + if iter.head == iter.tail { + if iter.loadMore() { + ret = iter.buf[iter.head] + iter.head++ + return ret + } + return 0 + } + ret = iter.buf[iter.head] + iter.head++ + return ret +} + +func (iter *Iterator) loadMore() bool { + if iter.reader == nil { + if iter.Error == nil { + iter.head = iter.tail + iter.Error = io.EOF + } + return false + } + if iter.captured != nil { + iter.captured = append(iter.captured, + iter.buf[iter.captureStartedAt:iter.tail]...) + iter.captureStartedAt = 0 + } + for { + n, err := iter.reader.Read(iter.buf) + if n == 0 { + if err != nil { + if iter.Error == nil { + iter.Error = err + } + return false + } + } else { + iter.head = 0 + iter.tail = n + return true + } + } +} + +func (iter *Iterator) unreadByte() { + if iter.Error != nil { + return + } + iter.head-- + return +} + +// Read read the next JSON element as generic interface{}. +func (iter *Iterator) Read() interface{} { + valueType := iter.WhatIsNext() + switch valueType { + case StringValue: + return iter.ReadString() + case NumberValue: + if iter.cfg.configBeforeFrozen.UseNumber { + return json.Number(iter.readNumberAsString()) + } + return iter.ReadFloat64() + case NilValue: + iter.skipFourBytes('n', 'u', 'l', 'l') + return nil + case BoolValue: + return iter.ReadBool() + case ArrayValue: + arr := []interface{}{} + iter.ReadArrayCB(func(iter *Iterator) bool { + var elem interface{} + iter.ReadVal(&elem) + arr = append(arr, elem) + return true + }) + return arr + case ObjectValue: + obj := map[string]interface{}{} + iter.ReadMapCB(func(Iter *Iterator, field string) bool { + var elem interface{} + iter.ReadVal(&elem) + obj[field] = elem + return true + }) + return obj + default: + iter.ReportError("Read", fmt.Sprintf("unexpected value type: %v", valueType)) + return nil + } +} + +// limit maximum depth of nesting, as allowed by https://tools.ietf.org/html/rfc7159#section-9 +const maxDepth = 10000 + +func (iter *Iterator) incrementDepth() (success bool) { + iter.depth++ + if iter.depth <= maxDepth { + return true + } + iter.ReportError("incrementDepth", "exceeded max depth") + return false +} + +func (iter *Iterator) decrementDepth() (success bool) { + iter.depth-- + if iter.depth >= 0 { + return true + } + iter.ReportError("decrementDepth", "unexpected negative nesting") + return false +} diff --git a/vendor/github.com/json-iterator/go/iter_array.go b/vendor/github.com/json-iterator/go/iter_array.go new file mode 100644 index 000000000..204fe0e09 --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_array.go @@ -0,0 +1,64 @@ +package jsoniter + +// ReadArray read array element, tells if the array has more element to read. +func (iter *Iterator) ReadArray() (ret bool) { + c := iter.nextToken() + switch c { + case 'n': + iter.skipThreeBytes('u', 'l', 'l') + return false // null + case '[': + c = iter.nextToken() + if c != ']' { + iter.unreadByte() + return true + } + return false + case ']': + return false + case ',': + return true + default: + iter.ReportError("ReadArray", "expect [ or , or ] or n, but found "+string([]byte{c})) + return + } +} + +// ReadArrayCB read array with callback +func (iter *Iterator) ReadArrayCB(callback func(*Iterator) bool) (ret bool) { + c := iter.nextToken() + if c == '[' { + if !iter.incrementDepth() { + return false + } + c = iter.nextToken() + if c != ']' { + iter.unreadByte() + if !callback(iter) { + iter.decrementDepth() + return false + } + c = iter.nextToken() + for c == ',' { + if !callback(iter) { + iter.decrementDepth() + return false + } + c = iter.nextToken() + } + if c != ']' { + iter.ReportError("ReadArrayCB", "expect ] in the end, but found "+string([]byte{c})) + iter.decrementDepth() + return false + } + return iter.decrementDepth() + } + return iter.decrementDepth() + } + if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + return true // null + } + iter.ReportError("ReadArrayCB", "expect [ or n, but found "+string([]byte{c})) + return false +} diff --git a/vendor/github.com/json-iterator/go/iter_float.go b/vendor/github.com/json-iterator/go/iter_float.go new file mode 100644 index 000000000..8a3d8b6fb --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_float.go @@ -0,0 +1,342 @@ +package jsoniter + +import ( + "encoding/json" + "io" + "math/big" + "strconv" + "strings" + "unsafe" +) + +var floatDigits []int8 + +const invalidCharForNumber = int8(-1) +const endOfNumber = int8(-2) +const dotInNumber = int8(-3) + +func init() { + floatDigits = make([]int8, 256) + for i := 0; i < len(floatDigits); i++ { + floatDigits[i] = invalidCharForNumber + } + for i := int8('0'); i <= int8('9'); i++ { + floatDigits[i] = i - int8('0') + } + floatDigits[','] = endOfNumber + floatDigits[']'] = endOfNumber + floatDigits['}'] = endOfNumber + floatDigits[' '] = endOfNumber + floatDigits['\t'] = endOfNumber + floatDigits['\n'] = endOfNumber + floatDigits['.'] = dotInNumber +} + +// ReadBigFloat read big.Float +func (iter *Iterator) ReadBigFloat() (ret *big.Float) { + str := iter.readNumberAsString() + if iter.Error != nil && iter.Error != io.EOF { + return nil + } + prec := 64 + if len(str) > prec { + prec = len(str) + } + val, _, err := big.ParseFloat(str, 10, uint(prec), big.ToZero) + if err != nil { + iter.Error = err + return nil + } + return val +} + +// ReadBigInt read big.Int +func (iter *Iterator) ReadBigInt() (ret *big.Int) { + str := iter.readNumberAsString() + if iter.Error != nil && iter.Error != io.EOF { + return nil + } + ret = big.NewInt(0) + var success bool + ret, success = ret.SetString(str, 10) + if !success { + iter.ReportError("ReadBigInt", "invalid big int") + return nil + } + return ret +} + +//ReadFloat32 read float32 +func (iter *Iterator) ReadFloat32() (ret float32) { + c := iter.nextToken() + if c == '-' { + return -iter.readPositiveFloat32() + } + iter.unreadByte() + return iter.readPositiveFloat32() +} + +func (iter *Iterator) readPositiveFloat32() (ret float32) { + i := iter.head + // first char + if i == iter.tail { + return iter.readFloat32SlowPath() + } + c := iter.buf[i] + i++ + ind := floatDigits[c] + switch ind { + case invalidCharForNumber: + return iter.readFloat32SlowPath() + case endOfNumber: + iter.ReportError("readFloat32", "empty number") + return + case dotInNumber: + iter.ReportError("readFloat32", "leading dot is invalid") + return + case 0: + if i == iter.tail { + return iter.readFloat32SlowPath() + } + c = iter.buf[i] + switch c { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + iter.ReportError("readFloat32", "leading zero is invalid") + return + } + } + value := uint64(ind) + // chars before dot +non_decimal_loop: + for ; i < iter.tail; i++ { + c = iter.buf[i] + ind := floatDigits[c] + switch ind { + case invalidCharForNumber: + return iter.readFloat32SlowPath() + case endOfNumber: + iter.head = i + return float32(value) + case dotInNumber: + break non_decimal_loop + } + if value > uint64SafeToMultiple10 { + return iter.readFloat32SlowPath() + } + value = (value << 3) + (value << 1) + uint64(ind) // value = value * 10 + ind; + } + // chars after dot + if c == '.' { + i++ + decimalPlaces := 0 + if i == iter.tail { + return iter.readFloat32SlowPath() + } + for ; i < iter.tail; i++ { + c = iter.buf[i] + ind := floatDigits[c] + switch ind { + case endOfNumber: + if decimalPlaces > 0 && decimalPlaces < len(pow10) { + iter.head = i + return float32(float64(value) / float64(pow10[decimalPlaces])) + } + // too many decimal places + return iter.readFloat32SlowPath() + case invalidCharForNumber, dotInNumber: + return iter.readFloat32SlowPath() + } + decimalPlaces++ + if value > uint64SafeToMultiple10 { + return iter.readFloat32SlowPath() + } + value = (value << 3) + (value << 1) + uint64(ind) + } + } + return iter.readFloat32SlowPath() +} + +func (iter *Iterator) readNumberAsString() (ret string) { + strBuf := [16]byte{} + str := strBuf[0:0] +load_loop: + for { + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + switch c { + case '+', '-', '.', 'e', 'E', '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + str = append(str, c) + continue + default: + iter.head = i + break load_loop + } + } + if !iter.loadMore() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF { + return + } + if len(str) == 0 { + iter.ReportError("readNumberAsString", "invalid number") + } + return *(*string)(unsafe.Pointer(&str)) +} + +func (iter *Iterator) readFloat32SlowPath() (ret float32) { + str := iter.readNumberAsString() + if iter.Error != nil && iter.Error != io.EOF { + return + } + errMsg := validateFloat(str) + if errMsg != "" { + iter.ReportError("readFloat32SlowPath", errMsg) + return + } + val, err := strconv.ParseFloat(str, 32) + if err != nil { + iter.Error = err + return + } + return float32(val) +} + +// ReadFloat64 read float64 +func (iter *Iterator) ReadFloat64() (ret float64) { + c := iter.nextToken() + if c == '-' { + return -iter.readPositiveFloat64() + } + iter.unreadByte() + return iter.readPositiveFloat64() +} + +func (iter *Iterator) readPositiveFloat64() (ret float64) { + i := iter.head + // first char + if i == iter.tail { + return iter.readFloat64SlowPath() + } + c := iter.buf[i] + i++ + ind := floatDigits[c] + switch ind { + case invalidCharForNumber: + return iter.readFloat64SlowPath() + case endOfNumber: + iter.ReportError("readFloat64", "empty number") + return + case dotInNumber: + iter.ReportError("readFloat64", "leading dot is invalid") + return + case 0: + if i == iter.tail { + return iter.readFloat64SlowPath() + } + c = iter.buf[i] + switch c { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + iter.ReportError("readFloat64", "leading zero is invalid") + return + } + } + value := uint64(ind) + // chars before dot +non_decimal_loop: + for ; i < iter.tail; i++ { + c = iter.buf[i] + ind := floatDigits[c] + switch ind { + case invalidCharForNumber: + return iter.readFloat64SlowPath() + case endOfNumber: + iter.head = i + return float64(value) + case dotInNumber: + break non_decimal_loop + } + if value > uint64SafeToMultiple10 { + return iter.readFloat64SlowPath() + } + value = (value << 3) + (value << 1) + uint64(ind) // value = value * 10 + ind; + } + // chars after dot + if c == '.' { + i++ + decimalPlaces := 0 + if i == iter.tail { + return iter.readFloat64SlowPath() + } + for ; i < iter.tail; i++ { + c = iter.buf[i] + ind := floatDigits[c] + switch ind { + case endOfNumber: + if decimalPlaces > 0 && decimalPlaces < len(pow10) { + iter.head = i + return float64(value) / float64(pow10[decimalPlaces]) + } + // too many decimal places + return iter.readFloat64SlowPath() + case invalidCharForNumber, dotInNumber: + return iter.readFloat64SlowPath() + } + decimalPlaces++ + if value > uint64SafeToMultiple10 { + return iter.readFloat64SlowPath() + } + value = (value << 3) + (value << 1) + uint64(ind) + if value > maxFloat64 { + return iter.readFloat64SlowPath() + } + } + } + return iter.readFloat64SlowPath() +} + +func (iter *Iterator) readFloat64SlowPath() (ret float64) { + str := iter.readNumberAsString() + if iter.Error != nil && iter.Error != io.EOF { + return + } + errMsg := validateFloat(str) + if errMsg != "" { + iter.ReportError("readFloat64SlowPath", errMsg) + return + } + val, err := strconv.ParseFloat(str, 64) + if err != nil { + iter.Error = err + return + } + return val +} + +func validateFloat(str string) string { + // strconv.ParseFloat is not validating `1.` or `1.e1` + if len(str) == 0 { + return "empty number" + } + if str[0] == '-' { + return "-- is not valid" + } + dotPos := strings.IndexByte(str, '.') + if dotPos != -1 { + if dotPos == len(str)-1 { + return "dot can not be last character" + } + switch str[dotPos+1] { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + default: + return "missing digit after dot" + } + } + return "" +} + +// ReadNumber read json.Number +func (iter *Iterator) ReadNumber() (ret json.Number) { + return json.Number(iter.readNumberAsString()) +} diff --git a/vendor/github.com/json-iterator/go/iter_int.go b/vendor/github.com/json-iterator/go/iter_int.go new file mode 100644 index 000000000..d786a89fe --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_int.go @@ -0,0 +1,346 @@ +package jsoniter + +import ( + "math" + "strconv" +) + +var intDigits []int8 + +const uint32SafeToMultiply10 = uint32(0xffffffff)/10 - 1 +const uint64SafeToMultiple10 = uint64(0xffffffffffffffff)/10 - 1 +const maxFloat64 = 1<<53 - 1 + +func init() { + intDigits = make([]int8, 256) + for i := 0; i < len(intDigits); i++ { + intDigits[i] = invalidCharForNumber + } + for i := int8('0'); i <= int8('9'); i++ { + intDigits[i] = i - int8('0') + } +} + +// ReadUint read uint +func (iter *Iterator) ReadUint() uint { + if strconv.IntSize == 32 { + return uint(iter.ReadUint32()) + } + return uint(iter.ReadUint64()) +} + +// ReadInt read int +func (iter *Iterator) ReadInt() int { + if strconv.IntSize == 32 { + return int(iter.ReadInt32()) + } + return int(iter.ReadInt64()) +} + +// ReadInt8 read int8 +func (iter *Iterator) ReadInt8() (ret int8) { + c := iter.nextToken() + if c == '-' { + val := iter.readUint32(iter.readByte()) + if val > math.MaxInt8+1 { + iter.ReportError("ReadInt8", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return -int8(val) + } + val := iter.readUint32(c) + if val > math.MaxInt8 { + iter.ReportError("ReadInt8", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return int8(val) +} + +// ReadUint8 read uint8 +func (iter *Iterator) ReadUint8() (ret uint8) { + val := iter.readUint32(iter.nextToken()) + if val > math.MaxUint8 { + iter.ReportError("ReadUint8", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return uint8(val) +} + +// ReadInt16 read int16 +func (iter *Iterator) ReadInt16() (ret int16) { + c := iter.nextToken() + if c == '-' { + val := iter.readUint32(iter.readByte()) + if val > math.MaxInt16+1 { + iter.ReportError("ReadInt16", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return -int16(val) + } + val := iter.readUint32(c) + if val > math.MaxInt16 { + iter.ReportError("ReadInt16", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return int16(val) +} + +// ReadUint16 read uint16 +func (iter *Iterator) ReadUint16() (ret uint16) { + val := iter.readUint32(iter.nextToken()) + if val > math.MaxUint16 { + iter.ReportError("ReadUint16", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return uint16(val) +} + +// ReadInt32 read int32 +func (iter *Iterator) ReadInt32() (ret int32) { + c := iter.nextToken() + if c == '-' { + val := iter.readUint32(iter.readByte()) + if val > math.MaxInt32+1 { + iter.ReportError("ReadInt32", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return -int32(val) + } + val := iter.readUint32(c) + if val > math.MaxInt32 { + iter.ReportError("ReadInt32", "overflow: "+strconv.FormatInt(int64(val), 10)) + return + } + return int32(val) +} + +// ReadUint32 read uint32 +func (iter *Iterator) ReadUint32() (ret uint32) { + return iter.readUint32(iter.nextToken()) +} + +func (iter *Iterator) readUint32(c byte) (ret uint32) { + ind := intDigits[c] + if ind == 0 { + iter.assertInteger() + return 0 // single zero + } + if ind == invalidCharForNumber { + iter.ReportError("readUint32", "unexpected character: "+string([]byte{byte(ind)})) + return + } + value := uint32(ind) + if iter.tail-iter.head > 10 { + i := iter.head + ind2 := intDigits[iter.buf[i]] + if ind2 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value + } + i++ + ind3 := intDigits[iter.buf[i]] + if ind3 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*10 + uint32(ind2) + } + //iter.head = i + 1 + //value = value * 100 + uint32(ind2) * 10 + uint32(ind3) + i++ + ind4 := intDigits[iter.buf[i]] + if ind4 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*100 + uint32(ind2)*10 + uint32(ind3) + } + i++ + ind5 := intDigits[iter.buf[i]] + if ind5 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*1000 + uint32(ind2)*100 + uint32(ind3)*10 + uint32(ind4) + } + i++ + ind6 := intDigits[iter.buf[i]] + if ind6 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*10000 + uint32(ind2)*1000 + uint32(ind3)*100 + uint32(ind4)*10 + uint32(ind5) + } + i++ + ind7 := intDigits[iter.buf[i]] + if ind7 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*100000 + uint32(ind2)*10000 + uint32(ind3)*1000 + uint32(ind4)*100 + uint32(ind5)*10 + uint32(ind6) + } + i++ + ind8 := intDigits[iter.buf[i]] + if ind8 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*1000000 + uint32(ind2)*100000 + uint32(ind3)*10000 + uint32(ind4)*1000 + uint32(ind5)*100 + uint32(ind6)*10 + uint32(ind7) + } + i++ + ind9 := intDigits[iter.buf[i]] + value = value*10000000 + uint32(ind2)*1000000 + uint32(ind3)*100000 + uint32(ind4)*10000 + uint32(ind5)*1000 + uint32(ind6)*100 + uint32(ind7)*10 + uint32(ind8) + iter.head = i + if ind9 == invalidCharForNumber { + iter.assertInteger() + return value + } + } + for { + for i := iter.head; i < iter.tail; i++ { + ind = intDigits[iter.buf[i]] + if ind == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value + } + if value > uint32SafeToMultiply10 { + value2 := (value << 3) + (value << 1) + uint32(ind) + if value2 < value { + iter.ReportError("readUint32", "overflow") + return + } + value = value2 + continue + } + value = (value << 3) + (value << 1) + uint32(ind) + } + if !iter.loadMore() { + iter.assertInteger() + return value + } + } +} + +// ReadInt64 read int64 +func (iter *Iterator) ReadInt64() (ret int64) { + c := iter.nextToken() + if c == '-' { + val := iter.readUint64(iter.readByte()) + if val > math.MaxInt64+1 { + iter.ReportError("ReadInt64", "overflow: "+strconv.FormatUint(uint64(val), 10)) + return + } + return -int64(val) + } + val := iter.readUint64(c) + if val > math.MaxInt64 { + iter.ReportError("ReadInt64", "overflow: "+strconv.FormatUint(uint64(val), 10)) + return + } + return int64(val) +} + +// ReadUint64 read uint64 +func (iter *Iterator) ReadUint64() uint64 { + return iter.readUint64(iter.nextToken()) +} + +func (iter *Iterator) readUint64(c byte) (ret uint64) { + ind := intDigits[c] + if ind == 0 { + iter.assertInteger() + return 0 // single zero + } + if ind == invalidCharForNumber { + iter.ReportError("readUint64", "unexpected character: "+string([]byte{byte(ind)})) + return + } + value := uint64(ind) + if iter.tail-iter.head > 10 { + i := iter.head + ind2 := intDigits[iter.buf[i]] + if ind2 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value + } + i++ + ind3 := intDigits[iter.buf[i]] + if ind3 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*10 + uint64(ind2) + } + //iter.head = i + 1 + //value = value * 100 + uint32(ind2) * 10 + uint32(ind3) + i++ + ind4 := intDigits[iter.buf[i]] + if ind4 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*100 + uint64(ind2)*10 + uint64(ind3) + } + i++ + ind5 := intDigits[iter.buf[i]] + if ind5 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*1000 + uint64(ind2)*100 + uint64(ind3)*10 + uint64(ind4) + } + i++ + ind6 := intDigits[iter.buf[i]] + if ind6 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*10000 + uint64(ind2)*1000 + uint64(ind3)*100 + uint64(ind4)*10 + uint64(ind5) + } + i++ + ind7 := intDigits[iter.buf[i]] + if ind7 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*100000 + uint64(ind2)*10000 + uint64(ind3)*1000 + uint64(ind4)*100 + uint64(ind5)*10 + uint64(ind6) + } + i++ + ind8 := intDigits[iter.buf[i]] + if ind8 == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value*1000000 + uint64(ind2)*100000 + uint64(ind3)*10000 + uint64(ind4)*1000 + uint64(ind5)*100 + uint64(ind6)*10 + uint64(ind7) + } + i++ + ind9 := intDigits[iter.buf[i]] + value = value*10000000 + uint64(ind2)*1000000 + uint64(ind3)*100000 + uint64(ind4)*10000 + uint64(ind5)*1000 + uint64(ind6)*100 + uint64(ind7)*10 + uint64(ind8) + iter.head = i + if ind9 == invalidCharForNumber { + iter.assertInteger() + return value + } + } + for { + for i := iter.head; i < iter.tail; i++ { + ind = intDigits[iter.buf[i]] + if ind == invalidCharForNumber { + iter.head = i + iter.assertInteger() + return value + } + if value > uint64SafeToMultiple10 { + value2 := (value << 3) + (value << 1) + uint64(ind) + if value2 < value { + iter.ReportError("readUint64", "overflow") + return + } + value = value2 + continue + } + value = (value << 3) + (value << 1) + uint64(ind) + } + if !iter.loadMore() { + iter.assertInteger() + return value + } + } +} + +func (iter *Iterator) assertInteger() { + if iter.head < iter.tail && iter.buf[iter.head] == '.' { + iter.ReportError("assertInteger", "can not decode float as int") + } +} diff --git a/vendor/github.com/json-iterator/go/iter_object.go b/vendor/github.com/json-iterator/go/iter_object.go new file mode 100644 index 000000000..58ee89c84 --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_object.go @@ -0,0 +1,267 @@ +package jsoniter + +import ( + "fmt" + "strings" +) + +// ReadObject read one field from object. +// If object ended, returns empty string. +// Otherwise, returns the field name. +func (iter *Iterator) ReadObject() (ret string) { + c := iter.nextToken() + switch c { + case 'n': + iter.skipThreeBytes('u', 'l', 'l') + return "" // null + case '{': + c = iter.nextToken() + if c == '"' { + iter.unreadByte() + field := iter.ReadString() + c = iter.nextToken() + if c != ':' { + iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c})) + } + return field + } + if c == '}' { + return "" // end of object + } + iter.ReportError("ReadObject", `expect " after {, but found `+string([]byte{c})) + return + case ',': + field := iter.ReadString() + c = iter.nextToken() + if c != ':' { + iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c})) + } + return field + case '}': + return "" // end of object + default: + iter.ReportError("ReadObject", fmt.Sprintf(`expect { or , or } or n, but found %s`, string([]byte{c}))) + return + } +} + +// CaseInsensitive +func (iter *Iterator) readFieldHash() int64 { + hash := int64(0x811c9dc5) + c := iter.nextToken() + if c != '"' { + iter.ReportError("readFieldHash", `expect ", but found `+string([]byte{c})) + return 0 + } + for { + for i := iter.head; i < iter.tail; i++ { + // require ascii string and no escape + b := iter.buf[i] + if b == '\\' { + iter.head = i + for _, b := range iter.readStringSlowPath() { + if 'A' <= b && b <= 'Z' && !iter.cfg.caseSensitive { + b += 'a' - 'A' + } + hash ^= int64(b) + hash *= 0x1000193 + } + c = iter.nextToken() + if c != ':' { + iter.ReportError("readFieldHash", `expect :, but found `+string([]byte{c})) + return 0 + } + return hash + } + if b == '"' { + iter.head = i + 1 + c = iter.nextToken() + if c != ':' { + iter.ReportError("readFieldHash", `expect :, but found `+string([]byte{c})) + return 0 + } + return hash + } + if 'A' <= b && b <= 'Z' && !iter.cfg.caseSensitive { + b += 'a' - 'A' + } + hash ^= int64(b) + hash *= 0x1000193 + } + if !iter.loadMore() { + iter.ReportError("readFieldHash", `incomplete field name`) + return 0 + } + } +} + +func calcHash(str string, caseSensitive bool) int64 { + if !caseSensitive { + str = strings.ToLower(str) + } + hash := int64(0x811c9dc5) + for _, b := range []byte(str) { + hash ^= int64(b) + hash *= 0x1000193 + } + return int64(hash) +} + +// ReadObjectCB read object with callback, the key is ascii only and field name not copied +func (iter *Iterator) ReadObjectCB(callback func(*Iterator, string) bool) bool { + c := iter.nextToken() + var field string + if c == '{' { + if !iter.incrementDepth() { + return false + } + c = iter.nextToken() + if c == '"' { + iter.unreadByte() + field = iter.ReadString() + c = iter.nextToken() + if c != ':' { + iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c})) + } + if !callback(iter, field) { + iter.decrementDepth() + return false + } + c = iter.nextToken() + for c == ',' { + field = iter.ReadString() + c = iter.nextToken() + if c != ':' { + iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c})) + } + if !callback(iter, field) { + iter.decrementDepth() + return false + } + c = iter.nextToken() + } + if c != '}' { + iter.ReportError("ReadObjectCB", `object not ended with }`) + iter.decrementDepth() + return false + } + return iter.decrementDepth() + } + if c == '}' { + return iter.decrementDepth() + } + iter.ReportError("ReadObjectCB", `expect " after {, but found `+string([]byte{c})) + iter.decrementDepth() + return false + } + if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + return true // null + } + iter.ReportError("ReadObjectCB", `expect { or n, but found `+string([]byte{c})) + return false +} + +// ReadMapCB read map with callback, the key can be any string +func (iter *Iterator) ReadMapCB(callback func(*Iterator, string) bool) bool { + c := iter.nextToken() + if c == '{' { + if !iter.incrementDepth() { + return false + } + c = iter.nextToken() + if c == '"' { + iter.unreadByte() + field := iter.ReadString() + if iter.nextToken() != ':' { + iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c})) + iter.decrementDepth() + return false + } + if !callback(iter, field) { + iter.decrementDepth() + return false + } + c = iter.nextToken() + for c == ',' { + field = iter.ReadString() + if iter.nextToken() != ':' { + iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c})) + iter.decrementDepth() + return false + } + if !callback(iter, field) { + iter.decrementDepth() + return false + } + c = iter.nextToken() + } + if c != '}' { + iter.ReportError("ReadMapCB", `object not ended with }`) + iter.decrementDepth() + return false + } + return iter.decrementDepth() + } + if c == '}' { + return iter.decrementDepth() + } + iter.ReportError("ReadMapCB", `expect " after {, but found `+string([]byte{c})) + iter.decrementDepth() + return false + } + if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + return true // null + } + iter.ReportError("ReadMapCB", `expect { or n, but found `+string([]byte{c})) + return false +} + +func (iter *Iterator) readObjectStart() bool { + c := iter.nextToken() + if c == '{' { + c = iter.nextToken() + if c == '}' { + return false + } + iter.unreadByte() + return true + } else if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + return false + } + iter.ReportError("readObjectStart", "expect { or n, but found "+string([]byte{c})) + return false +} + +func (iter *Iterator) readObjectFieldAsBytes() (ret []byte) { + str := iter.ReadStringAsSlice() + if iter.skipWhitespacesWithoutLoadMore() { + if ret == nil { + ret = make([]byte, len(str)) + copy(ret, str) + } + if !iter.loadMore() { + return + } + } + if iter.buf[iter.head] != ':' { + iter.ReportError("readObjectFieldAsBytes", "expect : after object field, but found "+string([]byte{iter.buf[iter.head]})) + return + } + iter.head++ + if iter.skipWhitespacesWithoutLoadMore() { + if ret == nil { + ret = make([]byte, len(str)) + copy(ret, str) + } + if !iter.loadMore() { + return + } + } + if ret == nil { + return str + } + return ret +} diff --git a/vendor/github.com/json-iterator/go/iter_skip.go b/vendor/github.com/json-iterator/go/iter_skip.go new file mode 100644 index 000000000..e91eefb15 --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_skip.go @@ -0,0 +1,130 @@ +package jsoniter + +import "fmt" + +// ReadNil reads a json object as nil and +// returns whether it's a nil or not +func (iter *Iterator) ReadNil() (ret bool) { + c := iter.nextToken() + if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') // null + return true + } + iter.unreadByte() + return false +} + +// ReadBool reads a json object as BoolValue +func (iter *Iterator) ReadBool() (ret bool) { + c := iter.nextToken() + if c == 't' { + iter.skipThreeBytes('r', 'u', 'e') + return true + } + if c == 'f' { + iter.skipFourBytes('a', 'l', 's', 'e') + return false + } + iter.ReportError("ReadBool", "expect t or f, but found "+string([]byte{c})) + return +} + +// SkipAndReturnBytes skip next JSON element, and return its content as []byte. +// The []byte can be kept, it is a copy of data. +func (iter *Iterator) SkipAndReturnBytes() []byte { + iter.startCapture(iter.head) + iter.Skip() + return iter.stopCapture() +} + +// SkipAndAppendBytes skips next JSON element and appends its content to +// buffer, returning the result. +func (iter *Iterator) SkipAndAppendBytes(buf []byte) []byte { + iter.startCaptureTo(buf, iter.head) + iter.Skip() + return iter.stopCapture() +} + +func (iter *Iterator) startCaptureTo(buf []byte, captureStartedAt int) { + if iter.captured != nil { + panic("already in capture mode") + } + iter.captureStartedAt = captureStartedAt + iter.captured = buf +} + +func (iter *Iterator) startCapture(captureStartedAt int) { + iter.startCaptureTo(make([]byte, 0, 32), captureStartedAt) +} + +func (iter *Iterator) stopCapture() []byte { + if iter.captured == nil { + panic("not in capture mode") + } + captured := iter.captured + remaining := iter.buf[iter.captureStartedAt:iter.head] + iter.captureStartedAt = -1 + iter.captured = nil + return append(captured, remaining...) +} + +// Skip skips a json object and positions to relatively the next json object +func (iter *Iterator) Skip() { + c := iter.nextToken() + switch c { + case '"': + iter.skipString() + case 'n': + iter.skipThreeBytes('u', 'l', 'l') // null + case 't': + iter.skipThreeBytes('r', 'u', 'e') // true + case 'f': + iter.skipFourBytes('a', 'l', 's', 'e') // false + case '0': + iter.unreadByte() + iter.ReadFloat32() + case '-', '1', '2', '3', '4', '5', '6', '7', '8', '9': + iter.skipNumber() + case '[': + iter.skipArray() + case '{': + iter.skipObject() + default: + iter.ReportError("Skip", fmt.Sprintf("do not know how to skip: %v", c)) + return + } +} + +func (iter *Iterator) skipFourBytes(b1, b2, b3, b4 byte) { + if iter.readByte() != b1 { + iter.ReportError("skipFourBytes", fmt.Sprintf("expect %s", string([]byte{b1, b2, b3, b4}))) + return + } + if iter.readByte() != b2 { + iter.ReportError("skipFourBytes", fmt.Sprintf("expect %s", string([]byte{b1, b2, b3, b4}))) + return + } + if iter.readByte() != b3 { + iter.ReportError("skipFourBytes", fmt.Sprintf("expect %s", string([]byte{b1, b2, b3, b4}))) + return + } + if iter.readByte() != b4 { + iter.ReportError("skipFourBytes", fmt.Sprintf("expect %s", string([]byte{b1, b2, b3, b4}))) + return + } +} + +func (iter *Iterator) skipThreeBytes(b1, b2, b3 byte) { + if iter.readByte() != b1 { + iter.ReportError("skipThreeBytes", fmt.Sprintf("expect %s", string([]byte{b1, b2, b3}))) + return + } + if iter.readByte() != b2 { + iter.ReportError("skipThreeBytes", fmt.Sprintf("expect %s", string([]byte{b1, b2, b3}))) + return + } + if iter.readByte() != b3 { + iter.ReportError("skipThreeBytes", fmt.Sprintf("expect %s", string([]byte{b1, b2, b3}))) + return + } +} diff --git a/vendor/github.com/json-iterator/go/iter_skip_sloppy.go b/vendor/github.com/json-iterator/go/iter_skip_sloppy.go new file mode 100644 index 000000000..9303de41e --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_skip_sloppy.go @@ -0,0 +1,163 @@ +//+build jsoniter_sloppy + +package jsoniter + +// sloppy but faster implementation, do not validate the input json + +func (iter *Iterator) skipNumber() { + for { + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + switch c { + case ' ', '\n', '\r', '\t', ',', '}', ']': + iter.head = i + return + } + } + if !iter.loadMore() { + return + } + } +} + +func (iter *Iterator) skipArray() { + level := 1 + if !iter.incrementDepth() { + return + } + for { + for i := iter.head; i < iter.tail; i++ { + switch iter.buf[i] { + case '"': // If inside string, skip it + iter.head = i + 1 + iter.skipString() + i = iter.head - 1 // it will be i++ soon + case '[': // If open symbol, increase level + level++ + if !iter.incrementDepth() { + return + } + case ']': // If close symbol, increase level + level-- + if !iter.decrementDepth() { + return + } + + // If we have returned to the original level, we're done + if level == 0 { + iter.head = i + 1 + return + } + } + } + if !iter.loadMore() { + iter.ReportError("skipObject", "incomplete array") + return + } + } +} + +func (iter *Iterator) skipObject() { + level := 1 + if !iter.incrementDepth() { + return + } + + for { + for i := iter.head; i < iter.tail; i++ { + switch iter.buf[i] { + case '"': // If inside string, skip it + iter.head = i + 1 + iter.skipString() + i = iter.head - 1 // it will be i++ soon + case '{': // If open symbol, increase level + level++ + if !iter.incrementDepth() { + return + } + case '}': // If close symbol, increase level + level-- + if !iter.decrementDepth() { + return + } + + // If we have returned to the original level, we're done + if level == 0 { + iter.head = i + 1 + return + } + } + } + if !iter.loadMore() { + iter.ReportError("skipObject", "incomplete object") + return + } + } +} + +func (iter *Iterator) skipString() { + for { + end, escaped := iter.findStringEnd() + if end == -1 { + if !iter.loadMore() { + iter.ReportError("skipString", "incomplete string") + return + } + if escaped { + iter.head = 1 // skip the first char as last char read is \ + } + } else { + iter.head = end + return + } + } +} + +// adapted from: https://github.com/buger/jsonparser/blob/master/parser.go +// Tries to find the end of string +// Support if string contains escaped quote symbols. +func (iter *Iterator) findStringEnd() (int, bool) { + escaped := false + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + if c == '"' { + if !escaped { + return i + 1, false + } + j := i - 1 + for { + if j < iter.head || iter.buf[j] != '\\' { + // even number of backslashes + // either end of buffer, or " found + return i + 1, true + } + j-- + if j < iter.head || iter.buf[j] != '\\' { + // odd number of backslashes + // it is \" or \\\" + break + } + j-- + } + } else if c == '\\' { + escaped = true + } + } + j := iter.tail - 1 + for { + if j < iter.head || iter.buf[j] != '\\' { + // even number of backslashes + // either end of buffer, or " found + return -1, false // do not end with \ + } + j-- + if j < iter.head || iter.buf[j] != '\\' { + // odd number of backslashes + // it is \" or \\\" + break + } + j-- + + } + return -1, true // end with \ +} diff --git a/vendor/github.com/json-iterator/go/iter_skip_strict.go b/vendor/github.com/json-iterator/go/iter_skip_strict.go new file mode 100644 index 000000000..6cf66d043 --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_skip_strict.go @@ -0,0 +1,99 @@ +//+build !jsoniter_sloppy + +package jsoniter + +import ( + "fmt" + "io" +) + +func (iter *Iterator) skipNumber() { + if !iter.trySkipNumber() { + iter.unreadByte() + if iter.Error != nil && iter.Error != io.EOF { + return + } + iter.ReadFloat64() + if iter.Error != nil && iter.Error != io.EOF { + iter.Error = nil + iter.ReadBigFloat() + } + } +} + +func (iter *Iterator) trySkipNumber() bool { + dotFound := false + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + switch c { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + case '.': + if dotFound { + iter.ReportError("validateNumber", `more than one dot found in number`) + return true // already failed + } + if i+1 == iter.tail { + return false + } + c = iter.buf[i+1] + switch c { + case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9': + default: + iter.ReportError("validateNumber", `missing digit after dot`) + return true // already failed + } + dotFound = true + default: + switch c { + case ',', ']', '}', ' ', '\t', '\n', '\r': + if iter.head == i { + return false // if - without following digits + } + iter.head = i + return true // must be valid + } + return false // may be invalid + } + } + return false +} + +func (iter *Iterator) skipString() { + if !iter.trySkipString() { + iter.unreadByte() + iter.ReadString() + } +} + +func (iter *Iterator) trySkipString() bool { + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + if c == '"' { + iter.head = i + 1 + return true // valid + } else if c == '\\' { + return false + } else if c < ' ' { + iter.ReportError("trySkipString", + fmt.Sprintf(`invalid control character found: %d`, c)) + return true // already failed + } + } + return false +} + +func (iter *Iterator) skipObject() { + iter.unreadByte() + iter.ReadObjectCB(func(iter *Iterator, field string) bool { + iter.Skip() + return true + }) +} + +func (iter *Iterator) skipArray() { + iter.unreadByte() + iter.ReadArrayCB(func(iter *Iterator) bool { + iter.Skip() + return true + }) +} diff --git a/vendor/github.com/json-iterator/go/iter_str.go b/vendor/github.com/json-iterator/go/iter_str.go new file mode 100644 index 000000000..adc487ea8 --- /dev/null +++ b/vendor/github.com/json-iterator/go/iter_str.go @@ -0,0 +1,215 @@ +package jsoniter + +import ( + "fmt" + "unicode/utf16" +) + +// ReadString read string from iterator +func (iter *Iterator) ReadString() (ret string) { + c := iter.nextToken() + if c == '"' { + for i := iter.head; i < iter.tail; i++ { + c := iter.buf[i] + if c == '"' { + ret = string(iter.buf[iter.head:i]) + iter.head = i + 1 + return ret + } else if c == '\\' { + break + } else if c < ' ' { + iter.ReportError("ReadString", + fmt.Sprintf(`invalid control character found: %d`, c)) + return + } + } + return iter.readStringSlowPath() + } else if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + return "" + } + iter.ReportError("ReadString", `expects " or n, but found `+string([]byte{c})) + return +} + +func (iter *Iterator) readStringSlowPath() (ret string) { + var str []byte + var c byte + for iter.Error == nil { + c = iter.readByte() + if c == '"' { + return string(str) + } + if c == '\\' { + c = iter.readByte() + str = iter.readEscapedChar(c, str) + } else { + str = append(str, c) + } + } + iter.ReportError("readStringSlowPath", "unexpected end of input") + return +} + +func (iter *Iterator) readEscapedChar(c byte, str []byte) []byte { + switch c { + case 'u': + r := iter.readU4() + if utf16.IsSurrogate(r) { + c = iter.readByte() + if iter.Error != nil { + return nil + } + if c != '\\' { + iter.unreadByte() + str = appendRune(str, r) + return str + } + c = iter.readByte() + if iter.Error != nil { + return nil + } + if c != 'u' { + str = appendRune(str, r) + return iter.readEscapedChar(c, str) + } + r2 := iter.readU4() + if iter.Error != nil { + return nil + } + combined := utf16.DecodeRune(r, r2) + if combined == '\uFFFD' { + str = appendRune(str, r) + str = appendRune(str, r2) + } else { + str = appendRune(str, combined) + } + } else { + str = appendRune(str, r) + } + case '"': + str = append(str, '"') + case '\\': + str = append(str, '\\') + case '/': + str = append(str, '/') + case 'b': + str = append(str, '\b') + case 'f': + str = append(str, '\f') + case 'n': + str = append(str, '\n') + case 'r': + str = append(str, '\r') + case 't': + str = append(str, '\t') + default: + iter.ReportError("readEscapedChar", + `invalid escape char after \`) + return nil + } + return str +} + +// ReadStringAsSlice read string from iterator without copying into string form. +// The []byte can not be kept, as it will change after next iterator call. +func (iter *Iterator) ReadStringAsSlice() (ret []byte) { + c := iter.nextToken() + if c == '"' { + for i := iter.head; i < iter.tail; i++ { + // require ascii string and no escape + // for: field name, base64, number + if iter.buf[i] == '"' { + // fast path: reuse the underlying buffer + ret = iter.buf[iter.head:i] + iter.head = i + 1 + return ret + } + } + readLen := iter.tail - iter.head + copied := make([]byte, readLen, readLen*2) + copy(copied, iter.buf[iter.head:iter.tail]) + iter.head = iter.tail + for iter.Error == nil { + c := iter.readByte() + if c == '"' { + return copied + } + copied = append(copied, c) + } + return copied + } + iter.ReportError("ReadStringAsSlice", `expects " or n, but found `+string([]byte{c})) + return +} + +func (iter *Iterator) readU4() (ret rune) { + for i := 0; i < 4; i++ { + c := iter.readByte() + if iter.Error != nil { + return + } + if c >= '0' && c <= '9' { + ret = ret*16 + rune(c-'0') + } else if c >= 'a' && c <= 'f' { + ret = ret*16 + rune(c-'a'+10) + } else if c >= 'A' && c <= 'F' { + ret = ret*16 + rune(c-'A'+10) + } else { + iter.ReportError("readU4", "expects 0~9 or a~f, but found "+string([]byte{c})) + return + } + } + return ret +} + +const ( + t1 = 0x00 // 0000 0000 + tx = 0x80 // 1000 0000 + t2 = 0xC0 // 1100 0000 + t3 = 0xE0 // 1110 0000 + t4 = 0xF0 // 1111 0000 + t5 = 0xF8 // 1111 1000 + + maskx = 0x3F // 0011 1111 + mask2 = 0x1F // 0001 1111 + mask3 = 0x0F // 0000 1111 + mask4 = 0x07 // 0000 0111 + + rune1Max = 1<<7 - 1 + rune2Max = 1<<11 - 1 + rune3Max = 1<<16 - 1 + + surrogateMin = 0xD800 + surrogateMax = 0xDFFF + + maxRune = '\U0010FFFF' // Maximum valid Unicode code point. + runeError = '\uFFFD' // the "error" Rune or "Unicode replacement character" +) + +func appendRune(p []byte, r rune) []byte { + // Negative values are erroneous. Making it unsigned addresses the problem. + switch i := uint32(r); { + case i <= rune1Max: + p = append(p, byte(r)) + return p + case i <= rune2Max: + p = append(p, t2|byte(r>>6)) + p = append(p, tx|byte(r)&maskx) + return p + case i > maxRune, surrogateMin <= i && i <= surrogateMax: + r = runeError + fallthrough + case i <= rune3Max: + p = append(p, t3|byte(r>>12)) + p = append(p, tx|byte(r>>6)&maskx) + p = append(p, tx|byte(r)&maskx) + return p + default: + p = append(p, t4|byte(r>>18)) + p = append(p, tx|byte(r>>12)&maskx) + p = append(p, tx|byte(r>>6)&maskx) + p = append(p, tx|byte(r)&maskx) + return p + } +} diff --git a/vendor/github.com/json-iterator/go/jsoniter.go b/vendor/github.com/json-iterator/go/jsoniter.go new file mode 100644 index 000000000..c2934f916 --- /dev/null +++ b/vendor/github.com/json-iterator/go/jsoniter.go @@ -0,0 +1,18 @@ +// Package jsoniter implements encoding and decoding of JSON as defined in +// RFC 4627 and provides interfaces with identical syntax of standard lib encoding/json. +// Converting from encoding/json to jsoniter is no more than replacing the package with jsoniter +// and variable type declarations (if any). +// jsoniter interfaces gives 100% compatibility with code using standard lib. +// +// "JSON and Go" +// (https://golang.org/doc/articles/json_and_go.html) +// gives a description of how Marshal/Unmarshal operate +// between arbitrary or predefined json objects and bytes, +// and it applies to jsoniter.Marshal/Unmarshal as well. +// +// Besides, jsoniter.Iterator provides a different set of interfaces +// iterating given bytes/string/reader +// and yielding parsed elements one by one. +// This set of interfaces reads input as required and gives +// better performance. +package jsoniter diff --git a/vendor/github.com/json-iterator/go/pool.go b/vendor/github.com/json-iterator/go/pool.go new file mode 100644 index 000000000..e2389b56c --- /dev/null +++ b/vendor/github.com/json-iterator/go/pool.go @@ -0,0 +1,42 @@ +package jsoniter + +import ( + "io" +) + +// IteratorPool a thread safe pool of iterators with same configuration +type IteratorPool interface { + BorrowIterator(data []byte) *Iterator + ReturnIterator(iter *Iterator) +} + +// StreamPool a thread safe pool of streams with same configuration +type StreamPool interface { + BorrowStream(writer io.Writer) *Stream + ReturnStream(stream *Stream) +} + +func (cfg *frozenConfig) BorrowStream(writer io.Writer) *Stream { + stream := cfg.streamPool.Get().(*Stream) + stream.Reset(writer) + return stream +} + +func (cfg *frozenConfig) ReturnStream(stream *Stream) { + stream.out = nil + stream.Error = nil + stream.Attachment = nil + cfg.streamPool.Put(stream) +} + +func (cfg *frozenConfig) BorrowIterator(data []byte) *Iterator { + iter := cfg.iteratorPool.Get().(*Iterator) + iter.ResetBytes(data) + return iter +} + +func (cfg *frozenConfig) ReturnIterator(iter *Iterator) { + iter.Error = nil + iter.Attachment = nil + cfg.iteratorPool.Put(iter) +} diff --git a/vendor/github.com/json-iterator/go/reflect.go b/vendor/github.com/json-iterator/go/reflect.go new file mode 100644 index 000000000..39acb320a --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect.go @@ -0,0 +1,337 @@ +package jsoniter + +import ( + "fmt" + "reflect" + "unsafe" + + "github.com/modern-go/reflect2" +) + +// ValDecoder is an internal type registered to cache as needed. +// Don't confuse jsoniter.ValDecoder with json.Decoder. +// For json.Decoder's adapter, refer to jsoniter.AdapterDecoder(todo link). +// +// Reflection on type to create decoders, which is then cached +// Reflection on value is avoided as we can, as the reflect.Value itself will allocate, with following exceptions +// 1. create instance of new value, for example *int will need a int to be allocated +// 2. append to slice, if the existing cap is not enough, allocate will be done using Reflect.New +// 3. assignment to map, both key and value will be reflect.Value +// For a simple struct binding, it will be reflect.Value free and allocation free +type ValDecoder interface { + Decode(ptr unsafe.Pointer, iter *Iterator) +} + +// ValEncoder is an internal type registered to cache as needed. +// Don't confuse jsoniter.ValEncoder with json.Encoder. +// For json.Encoder's adapter, refer to jsoniter.AdapterEncoder(todo godoc link). +type ValEncoder interface { + IsEmpty(ptr unsafe.Pointer) bool + Encode(ptr unsafe.Pointer, stream *Stream) +} + +type checkIsEmpty interface { + IsEmpty(ptr unsafe.Pointer) bool +} + +type ctx struct { + *frozenConfig + prefix string + encoders map[reflect2.Type]ValEncoder + decoders map[reflect2.Type]ValDecoder +} + +func (b *ctx) caseSensitive() bool { + if b.frozenConfig == nil { + // default is case-insensitive + return false + } + return b.frozenConfig.caseSensitive +} + +func (b *ctx) append(prefix string) *ctx { + return &ctx{ + frozenConfig: b.frozenConfig, + prefix: b.prefix + " " + prefix, + encoders: b.encoders, + decoders: b.decoders, + } +} + +// ReadVal copy the underlying JSON into go interface, same as json.Unmarshal +func (iter *Iterator) ReadVal(obj interface{}) { + depth := iter.depth + cacheKey := reflect2.RTypeOf(obj) + decoder := iter.cfg.getDecoderFromCache(cacheKey) + if decoder == nil { + typ := reflect2.TypeOf(obj) + if typ == nil || typ.Kind() != reflect.Ptr { + iter.ReportError("ReadVal", "can only unmarshal into pointer") + return + } + decoder = iter.cfg.DecoderOf(typ) + } + ptr := reflect2.PtrOf(obj) + if ptr == nil { + iter.ReportError("ReadVal", "can not read into nil pointer") + return + } + decoder.Decode(ptr, iter) + if iter.depth != depth { + iter.ReportError("ReadVal", "unexpected mismatched nesting") + return + } +} + +// WriteVal copy the go interface into underlying JSON, same as json.Marshal +func (stream *Stream) WriteVal(val interface{}) { + if nil == val { + stream.WriteNil() + return + } + cacheKey := reflect2.RTypeOf(val) + encoder := stream.cfg.getEncoderFromCache(cacheKey) + if encoder == nil { + typ := reflect2.TypeOf(val) + encoder = stream.cfg.EncoderOf(typ) + } + encoder.Encode(reflect2.PtrOf(val), stream) +} + +func (cfg *frozenConfig) DecoderOf(typ reflect2.Type) ValDecoder { + cacheKey := typ.RType() + decoder := cfg.getDecoderFromCache(cacheKey) + if decoder != nil { + return decoder + } + ctx := &ctx{ + frozenConfig: cfg, + prefix: "", + decoders: map[reflect2.Type]ValDecoder{}, + encoders: map[reflect2.Type]ValEncoder{}, + } + ptrType := typ.(*reflect2.UnsafePtrType) + decoder = decoderOfType(ctx, ptrType.Elem()) + cfg.addDecoderToCache(cacheKey, decoder) + return decoder +} + +func decoderOfType(ctx *ctx, typ reflect2.Type) ValDecoder { + decoder := getTypeDecoderFromExtension(ctx, typ) + if decoder != nil { + return decoder + } + decoder = createDecoderOfType(ctx, typ) + for _, extension := range extensions { + decoder = extension.DecorateDecoder(typ, decoder) + } + decoder = ctx.decoderExtension.DecorateDecoder(typ, decoder) + for _, extension := range ctx.extraExtensions { + decoder = extension.DecorateDecoder(typ, decoder) + } + return decoder +} + +func createDecoderOfType(ctx *ctx, typ reflect2.Type) ValDecoder { + decoder := ctx.decoders[typ] + if decoder != nil { + return decoder + } + placeholder := &placeholderDecoder{} + ctx.decoders[typ] = placeholder + decoder = _createDecoderOfType(ctx, typ) + placeholder.decoder = decoder + return decoder +} + +func _createDecoderOfType(ctx *ctx, typ reflect2.Type) ValDecoder { + decoder := createDecoderOfJsonRawMessage(ctx, typ) + if decoder != nil { + return decoder + } + decoder = createDecoderOfJsonNumber(ctx, typ) + if decoder != nil { + return decoder + } + decoder = createDecoderOfMarshaler(ctx, typ) + if decoder != nil { + return decoder + } + decoder = createDecoderOfAny(ctx, typ) + if decoder != nil { + return decoder + } + decoder = createDecoderOfNative(ctx, typ) + if decoder != nil { + return decoder + } + switch typ.Kind() { + case reflect.Interface: + ifaceType, isIFace := typ.(*reflect2.UnsafeIFaceType) + if isIFace { + return &ifaceDecoder{valType: ifaceType} + } + return &efaceDecoder{} + case reflect.Struct: + return decoderOfStruct(ctx, typ) + case reflect.Array: + return decoderOfArray(ctx, typ) + case reflect.Slice: + return decoderOfSlice(ctx, typ) + case reflect.Map: + return decoderOfMap(ctx, typ) + case reflect.Ptr: + return decoderOfOptional(ctx, typ) + default: + return &lazyErrorDecoder{err: fmt.Errorf("%s%s is unsupported type", ctx.prefix, typ.String())} + } +} + +func (cfg *frozenConfig) EncoderOf(typ reflect2.Type) ValEncoder { + cacheKey := typ.RType() + encoder := cfg.getEncoderFromCache(cacheKey) + if encoder != nil { + return encoder + } + ctx := &ctx{ + frozenConfig: cfg, + prefix: "", + decoders: map[reflect2.Type]ValDecoder{}, + encoders: map[reflect2.Type]ValEncoder{}, + } + encoder = encoderOfType(ctx, typ) + if typ.LikePtr() { + encoder = &onePtrEncoder{encoder} + } + cfg.addEncoderToCache(cacheKey, encoder) + return encoder +} + +type onePtrEncoder struct { + encoder ValEncoder +} + +func (encoder *onePtrEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.encoder.IsEmpty(unsafe.Pointer(&ptr)) +} + +func (encoder *onePtrEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + encoder.encoder.Encode(unsafe.Pointer(&ptr), stream) +} + +func encoderOfType(ctx *ctx, typ reflect2.Type) ValEncoder { + encoder := getTypeEncoderFromExtension(ctx, typ) + if encoder != nil { + return encoder + } + encoder = createEncoderOfType(ctx, typ) + for _, extension := range extensions { + encoder = extension.DecorateEncoder(typ, encoder) + } + encoder = ctx.encoderExtension.DecorateEncoder(typ, encoder) + for _, extension := range ctx.extraExtensions { + encoder = extension.DecorateEncoder(typ, encoder) + } + return encoder +} + +func createEncoderOfType(ctx *ctx, typ reflect2.Type) ValEncoder { + encoder := ctx.encoders[typ] + if encoder != nil { + return encoder + } + placeholder := &placeholderEncoder{} + ctx.encoders[typ] = placeholder + encoder = _createEncoderOfType(ctx, typ) + placeholder.encoder = encoder + return encoder +} +func _createEncoderOfType(ctx *ctx, typ reflect2.Type) ValEncoder { + encoder := createEncoderOfJsonRawMessage(ctx, typ) + if encoder != nil { + return encoder + } + encoder = createEncoderOfJsonNumber(ctx, typ) + if encoder != nil { + return encoder + } + encoder = createEncoderOfMarshaler(ctx, typ) + if encoder != nil { + return encoder + } + encoder = createEncoderOfAny(ctx, typ) + if encoder != nil { + return encoder + } + encoder = createEncoderOfNative(ctx, typ) + if encoder != nil { + return encoder + } + kind := typ.Kind() + switch kind { + case reflect.Interface: + return &dynamicEncoder{typ} + case reflect.Struct: + return encoderOfStruct(ctx, typ) + case reflect.Array: + return encoderOfArray(ctx, typ) + case reflect.Slice: + return encoderOfSlice(ctx, typ) + case reflect.Map: + return encoderOfMap(ctx, typ) + case reflect.Ptr: + return encoderOfOptional(ctx, typ) + default: + return &lazyErrorEncoder{err: fmt.Errorf("%s%s is unsupported type", ctx.prefix, typ.String())} + } +} + +type lazyErrorDecoder struct { + err error +} + +func (decoder *lazyErrorDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if iter.WhatIsNext() != NilValue { + if iter.Error == nil { + iter.Error = decoder.err + } + } else { + iter.Skip() + } +} + +type lazyErrorEncoder struct { + err error +} + +func (encoder *lazyErrorEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + if ptr == nil { + stream.WriteNil() + } else if stream.Error == nil { + stream.Error = encoder.err + } +} + +func (encoder *lazyErrorEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return false +} + +type placeholderDecoder struct { + decoder ValDecoder +} + +func (decoder *placeholderDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + decoder.decoder.Decode(ptr, iter) +} + +type placeholderEncoder struct { + encoder ValEncoder +} + +func (encoder *placeholderEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + encoder.encoder.Encode(ptr, stream) +} + +func (encoder *placeholderEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.encoder.IsEmpty(ptr) +} diff --git a/vendor/github.com/json-iterator/go/reflect_array.go b/vendor/github.com/json-iterator/go/reflect_array.go new file mode 100644 index 000000000..13a0b7b08 --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_array.go @@ -0,0 +1,104 @@ +package jsoniter + +import ( + "fmt" + "github.com/modern-go/reflect2" + "io" + "unsafe" +) + +func decoderOfArray(ctx *ctx, typ reflect2.Type) ValDecoder { + arrayType := typ.(*reflect2.UnsafeArrayType) + decoder := decoderOfType(ctx.append("[arrayElem]"), arrayType.Elem()) + return &arrayDecoder{arrayType, decoder} +} + +func encoderOfArray(ctx *ctx, typ reflect2.Type) ValEncoder { + arrayType := typ.(*reflect2.UnsafeArrayType) + if arrayType.Len() == 0 { + return emptyArrayEncoder{} + } + encoder := encoderOfType(ctx.append("[arrayElem]"), arrayType.Elem()) + return &arrayEncoder{arrayType, encoder} +} + +type emptyArrayEncoder struct{} + +func (encoder emptyArrayEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteEmptyArray() +} + +func (encoder emptyArrayEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return true +} + +type arrayEncoder struct { + arrayType *reflect2.UnsafeArrayType + elemEncoder ValEncoder +} + +func (encoder *arrayEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteArrayStart() + elemPtr := unsafe.Pointer(ptr) + encoder.elemEncoder.Encode(elemPtr, stream) + for i := 1; i < encoder.arrayType.Len(); i++ { + stream.WriteMore() + elemPtr = encoder.arrayType.UnsafeGetIndex(ptr, i) + encoder.elemEncoder.Encode(elemPtr, stream) + } + stream.WriteArrayEnd() + if stream.Error != nil && stream.Error != io.EOF { + stream.Error = fmt.Errorf("%v: %s", encoder.arrayType, stream.Error.Error()) + } +} + +func (encoder *arrayEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return false +} + +type arrayDecoder struct { + arrayType *reflect2.UnsafeArrayType + elemDecoder ValDecoder +} + +func (decoder *arrayDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + decoder.doDecode(ptr, iter) + if iter.Error != nil && iter.Error != io.EOF { + iter.Error = fmt.Errorf("%v: %s", decoder.arrayType, iter.Error.Error()) + } +} + +func (decoder *arrayDecoder) doDecode(ptr unsafe.Pointer, iter *Iterator) { + c := iter.nextToken() + arrayType := decoder.arrayType + if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + return + } + if c != '[' { + iter.ReportError("decode array", "expect [ or n, but found "+string([]byte{c})) + return + } + c = iter.nextToken() + if c == ']' { + return + } + iter.unreadByte() + elemPtr := arrayType.UnsafeGetIndex(ptr, 0) + decoder.elemDecoder.Decode(elemPtr, iter) + length := 1 + for c = iter.nextToken(); c == ','; c = iter.nextToken() { + if length >= arrayType.Len() { + iter.Skip() + continue + } + idx := length + length += 1 + elemPtr = arrayType.UnsafeGetIndex(ptr, idx) + decoder.elemDecoder.Decode(elemPtr, iter) + } + if c != ']' { + iter.ReportError("decode array", "expect ], but found "+string([]byte{c})) + return + } +} diff --git a/vendor/github.com/json-iterator/go/reflect_dynamic.go b/vendor/github.com/json-iterator/go/reflect_dynamic.go new file mode 100644 index 000000000..8b6bc8b43 --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_dynamic.go @@ -0,0 +1,70 @@ +package jsoniter + +import ( + "github.com/modern-go/reflect2" + "reflect" + "unsafe" +) + +type dynamicEncoder struct { + valType reflect2.Type +} + +func (encoder *dynamicEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + obj := encoder.valType.UnsafeIndirect(ptr) + stream.WriteVal(obj) +} + +func (encoder *dynamicEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.valType.UnsafeIndirect(ptr) == nil +} + +type efaceDecoder struct { +} + +func (decoder *efaceDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + pObj := (*interface{})(ptr) + obj := *pObj + if obj == nil { + *pObj = iter.Read() + return + } + typ := reflect2.TypeOf(obj) + if typ.Kind() != reflect.Ptr { + *pObj = iter.Read() + return + } + ptrType := typ.(*reflect2.UnsafePtrType) + ptrElemType := ptrType.Elem() + if iter.WhatIsNext() == NilValue { + if ptrElemType.Kind() != reflect.Ptr { + iter.skipFourBytes('n', 'u', 'l', 'l') + *pObj = nil + return + } + } + if reflect2.IsNil(obj) { + obj := ptrElemType.New() + iter.ReadVal(obj) + *pObj = obj + return + } + iter.ReadVal(obj) +} + +type ifaceDecoder struct { + valType *reflect2.UnsafeIFaceType +} + +func (decoder *ifaceDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if iter.ReadNil() { + decoder.valType.UnsafeSet(ptr, decoder.valType.UnsafeNew()) + return + } + obj := decoder.valType.UnsafeIndirect(ptr) + if reflect2.IsNil(obj) { + iter.ReportError("decode non empty interface", "can not unmarshal into nil") + return + } + iter.ReadVal(obj) +} diff --git a/vendor/github.com/json-iterator/go/reflect_extension.go b/vendor/github.com/json-iterator/go/reflect_extension.go new file mode 100644 index 000000000..74a97bfe5 --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_extension.go @@ -0,0 +1,483 @@ +package jsoniter + +import ( + "fmt" + "github.com/modern-go/reflect2" + "reflect" + "sort" + "strings" + "unicode" + "unsafe" +) + +var typeDecoders = map[string]ValDecoder{} +var fieldDecoders = map[string]ValDecoder{} +var typeEncoders = map[string]ValEncoder{} +var fieldEncoders = map[string]ValEncoder{} +var extensions = []Extension{} + +// StructDescriptor describe how should we encode/decode the struct +type StructDescriptor struct { + Type reflect2.Type + Fields []*Binding +} + +// GetField get one field from the descriptor by its name. +// Can not use map here to keep field orders. +func (structDescriptor *StructDescriptor) GetField(fieldName string) *Binding { + for _, binding := range structDescriptor.Fields { + if binding.Field.Name() == fieldName { + return binding + } + } + return nil +} + +// Binding describe how should we encode/decode the struct field +type Binding struct { + levels []int + Field reflect2.StructField + FromNames []string + ToNames []string + Encoder ValEncoder + Decoder ValDecoder +} + +// Extension the one for all SPI. Customize encoding/decoding by specifying alternate encoder/decoder. +// Can also rename fields by UpdateStructDescriptor. +type Extension interface { + UpdateStructDescriptor(structDescriptor *StructDescriptor) + CreateMapKeyDecoder(typ reflect2.Type) ValDecoder + CreateMapKeyEncoder(typ reflect2.Type) ValEncoder + CreateDecoder(typ reflect2.Type) ValDecoder + CreateEncoder(typ reflect2.Type) ValEncoder + DecorateDecoder(typ reflect2.Type, decoder ValDecoder) ValDecoder + DecorateEncoder(typ reflect2.Type, encoder ValEncoder) ValEncoder +} + +// DummyExtension embed this type get dummy implementation for all methods of Extension +type DummyExtension struct { +} + +// UpdateStructDescriptor No-op +func (extension *DummyExtension) UpdateStructDescriptor(structDescriptor *StructDescriptor) { +} + +// CreateMapKeyDecoder No-op +func (extension *DummyExtension) CreateMapKeyDecoder(typ reflect2.Type) ValDecoder { + return nil +} + +// CreateMapKeyEncoder No-op +func (extension *DummyExtension) CreateMapKeyEncoder(typ reflect2.Type) ValEncoder { + return nil +} + +// CreateDecoder No-op +func (extension *DummyExtension) CreateDecoder(typ reflect2.Type) ValDecoder { + return nil +} + +// CreateEncoder No-op +func (extension *DummyExtension) CreateEncoder(typ reflect2.Type) ValEncoder { + return nil +} + +// DecorateDecoder No-op +func (extension *DummyExtension) DecorateDecoder(typ reflect2.Type, decoder ValDecoder) ValDecoder { + return decoder +} + +// DecorateEncoder No-op +func (extension *DummyExtension) DecorateEncoder(typ reflect2.Type, encoder ValEncoder) ValEncoder { + return encoder +} + +type EncoderExtension map[reflect2.Type]ValEncoder + +// UpdateStructDescriptor No-op +func (extension EncoderExtension) UpdateStructDescriptor(structDescriptor *StructDescriptor) { +} + +// CreateDecoder No-op +func (extension EncoderExtension) CreateDecoder(typ reflect2.Type) ValDecoder { + return nil +} + +// CreateEncoder get encoder from map +func (extension EncoderExtension) CreateEncoder(typ reflect2.Type) ValEncoder { + return extension[typ] +} + +// CreateMapKeyDecoder No-op +func (extension EncoderExtension) CreateMapKeyDecoder(typ reflect2.Type) ValDecoder { + return nil +} + +// CreateMapKeyEncoder No-op +func (extension EncoderExtension) CreateMapKeyEncoder(typ reflect2.Type) ValEncoder { + return nil +} + +// DecorateDecoder No-op +func (extension EncoderExtension) DecorateDecoder(typ reflect2.Type, decoder ValDecoder) ValDecoder { + return decoder +} + +// DecorateEncoder No-op +func (extension EncoderExtension) DecorateEncoder(typ reflect2.Type, encoder ValEncoder) ValEncoder { + return encoder +} + +type DecoderExtension map[reflect2.Type]ValDecoder + +// UpdateStructDescriptor No-op +func (extension DecoderExtension) UpdateStructDescriptor(structDescriptor *StructDescriptor) { +} + +// CreateMapKeyDecoder No-op +func (extension DecoderExtension) CreateMapKeyDecoder(typ reflect2.Type) ValDecoder { + return nil +} + +// CreateMapKeyEncoder No-op +func (extension DecoderExtension) CreateMapKeyEncoder(typ reflect2.Type) ValEncoder { + return nil +} + +// CreateDecoder get decoder from map +func (extension DecoderExtension) CreateDecoder(typ reflect2.Type) ValDecoder { + return extension[typ] +} + +// CreateEncoder No-op +func (extension DecoderExtension) CreateEncoder(typ reflect2.Type) ValEncoder { + return nil +} + +// DecorateDecoder No-op +func (extension DecoderExtension) DecorateDecoder(typ reflect2.Type, decoder ValDecoder) ValDecoder { + return decoder +} + +// DecorateEncoder No-op +func (extension DecoderExtension) DecorateEncoder(typ reflect2.Type, encoder ValEncoder) ValEncoder { + return encoder +} + +type funcDecoder struct { + fun DecoderFunc +} + +func (decoder *funcDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + decoder.fun(ptr, iter) +} + +type funcEncoder struct { + fun EncoderFunc + isEmptyFunc func(ptr unsafe.Pointer) bool +} + +func (encoder *funcEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + encoder.fun(ptr, stream) +} + +func (encoder *funcEncoder) IsEmpty(ptr unsafe.Pointer) bool { + if encoder.isEmptyFunc == nil { + return false + } + return encoder.isEmptyFunc(ptr) +} + +// DecoderFunc the function form of TypeDecoder +type DecoderFunc func(ptr unsafe.Pointer, iter *Iterator) + +// EncoderFunc the function form of TypeEncoder +type EncoderFunc func(ptr unsafe.Pointer, stream *Stream) + +// RegisterTypeDecoderFunc register TypeDecoder for a type with function +func RegisterTypeDecoderFunc(typ string, fun DecoderFunc) { + typeDecoders[typ] = &funcDecoder{fun} +} + +// RegisterTypeDecoder register TypeDecoder for a typ +func RegisterTypeDecoder(typ string, decoder ValDecoder) { + typeDecoders[typ] = decoder +} + +// RegisterFieldDecoderFunc register TypeDecoder for a struct field with function +func RegisterFieldDecoderFunc(typ string, field string, fun DecoderFunc) { + RegisterFieldDecoder(typ, field, &funcDecoder{fun}) +} + +// RegisterFieldDecoder register TypeDecoder for a struct field +func RegisterFieldDecoder(typ string, field string, decoder ValDecoder) { + fieldDecoders[fmt.Sprintf("%s/%s", typ, field)] = decoder +} + +// RegisterTypeEncoderFunc register TypeEncoder for a type with encode/isEmpty function +func RegisterTypeEncoderFunc(typ string, fun EncoderFunc, isEmptyFunc func(unsafe.Pointer) bool) { + typeEncoders[typ] = &funcEncoder{fun, isEmptyFunc} +} + +// RegisterTypeEncoder register TypeEncoder for a type +func RegisterTypeEncoder(typ string, encoder ValEncoder) { + typeEncoders[typ] = encoder +} + +// RegisterFieldEncoderFunc register TypeEncoder for a struct field with encode/isEmpty function +func RegisterFieldEncoderFunc(typ string, field string, fun EncoderFunc, isEmptyFunc func(unsafe.Pointer) bool) { + RegisterFieldEncoder(typ, field, &funcEncoder{fun, isEmptyFunc}) +} + +// RegisterFieldEncoder register TypeEncoder for a struct field +func RegisterFieldEncoder(typ string, field string, encoder ValEncoder) { + fieldEncoders[fmt.Sprintf("%s/%s", typ, field)] = encoder +} + +// RegisterExtension register extension +func RegisterExtension(extension Extension) { + extensions = append(extensions, extension) +} + +func getTypeDecoderFromExtension(ctx *ctx, typ reflect2.Type) ValDecoder { + decoder := _getTypeDecoderFromExtension(ctx, typ) + if decoder != nil { + for _, extension := range extensions { + decoder = extension.DecorateDecoder(typ, decoder) + } + decoder = ctx.decoderExtension.DecorateDecoder(typ, decoder) + for _, extension := range ctx.extraExtensions { + decoder = extension.DecorateDecoder(typ, decoder) + } + } + return decoder +} +func _getTypeDecoderFromExtension(ctx *ctx, typ reflect2.Type) ValDecoder { + for _, extension := range extensions { + decoder := extension.CreateDecoder(typ) + if decoder != nil { + return decoder + } + } + decoder := ctx.decoderExtension.CreateDecoder(typ) + if decoder != nil { + return decoder + } + for _, extension := range ctx.extraExtensions { + decoder := extension.CreateDecoder(typ) + if decoder != nil { + return decoder + } + } + typeName := typ.String() + decoder = typeDecoders[typeName] + if decoder != nil { + return decoder + } + if typ.Kind() == reflect.Ptr { + ptrType := typ.(*reflect2.UnsafePtrType) + decoder := typeDecoders[ptrType.Elem().String()] + if decoder != nil { + return &OptionalDecoder{ptrType.Elem(), decoder} + } + } + return nil +} + +func getTypeEncoderFromExtension(ctx *ctx, typ reflect2.Type) ValEncoder { + encoder := _getTypeEncoderFromExtension(ctx, typ) + if encoder != nil { + for _, extension := range extensions { + encoder = extension.DecorateEncoder(typ, encoder) + } + encoder = ctx.encoderExtension.DecorateEncoder(typ, encoder) + for _, extension := range ctx.extraExtensions { + encoder = extension.DecorateEncoder(typ, encoder) + } + } + return encoder +} + +func _getTypeEncoderFromExtension(ctx *ctx, typ reflect2.Type) ValEncoder { + for _, extension := range extensions { + encoder := extension.CreateEncoder(typ) + if encoder != nil { + return encoder + } + } + encoder := ctx.encoderExtension.CreateEncoder(typ) + if encoder != nil { + return encoder + } + for _, extension := range ctx.extraExtensions { + encoder := extension.CreateEncoder(typ) + if encoder != nil { + return encoder + } + } + typeName := typ.String() + encoder = typeEncoders[typeName] + if encoder != nil { + return encoder + } + if typ.Kind() == reflect.Ptr { + typePtr := typ.(*reflect2.UnsafePtrType) + encoder := typeEncoders[typePtr.Elem().String()] + if encoder != nil { + return &OptionalEncoder{encoder} + } + } + return nil +} + +func describeStruct(ctx *ctx, typ reflect2.Type) *StructDescriptor { + structType := typ.(*reflect2.UnsafeStructType) + embeddedBindings := []*Binding{} + bindings := []*Binding{} + for i := 0; i < structType.NumField(); i++ { + field := structType.Field(i) + tag, hastag := field.Tag().Lookup(ctx.getTagKey()) + if ctx.onlyTaggedField && !hastag && !field.Anonymous() { + continue + } + if tag == "-" || field.Name() == "_" { + continue + } + tagParts := strings.Split(tag, ",") + if field.Anonymous() && (tag == "" || tagParts[0] == "") { + if field.Type().Kind() == reflect.Struct { + structDescriptor := describeStruct(ctx, field.Type()) + for _, binding := range structDescriptor.Fields { + binding.levels = append([]int{i}, binding.levels...) + omitempty := binding.Encoder.(*structFieldEncoder).omitempty + binding.Encoder = &structFieldEncoder{field, binding.Encoder, omitempty} + binding.Decoder = &structFieldDecoder{field, binding.Decoder} + embeddedBindings = append(embeddedBindings, binding) + } + continue + } else if field.Type().Kind() == reflect.Ptr { + ptrType := field.Type().(*reflect2.UnsafePtrType) + if ptrType.Elem().Kind() == reflect.Struct { + structDescriptor := describeStruct(ctx, ptrType.Elem()) + for _, binding := range structDescriptor.Fields { + binding.levels = append([]int{i}, binding.levels...) + omitempty := binding.Encoder.(*structFieldEncoder).omitempty + binding.Encoder = &dereferenceEncoder{binding.Encoder} + binding.Encoder = &structFieldEncoder{field, binding.Encoder, omitempty} + binding.Decoder = &dereferenceDecoder{ptrType.Elem(), binding.Decoder} + binding.Decoder = &structFieldDecoder{field, binding.Decoder} + embeddedBindings = append(embeddedBindings, binding) + } + continue + } + } + } + fieldNames := calcFieldNames(field.Name(), tagParts[0], tag) + fieldCacheKey := fmt.Sprintf("%s/%s", typ.String(), field.Name()) + decoder := fieldDecoders[fieldCacheKey] + if decoder == nil { + decoder = decoderOfType(ctx.append(field.Name()), field.Type()) + } + encoder := fieldEncoders[fieldCacheKey] + if encoder == nil { + encoder = encoderOfType(ctx.append(field.Name()), field.Type()) + } + binding := &Binding{ + Field: field, + FromNames: fieldNames, + ToNames: fieldNames, + Decoder: decoder, + Encoder: encoder, + } + binding.levels = []int{i} + bindings = append(bindings, binding) + } + return createStructDescriptor(ctx, typ, bindings, embeddedBindings) +} +func createStructDescriptor(ctx *ctx, typ reflect2.Type, bindings []*Binding, embeddedBindings []*Binding) *StructDescriptor { + structDescriptor := &StructDescriptor{ + Type: typ, + Fields: bindings, + } + for _, extension := range extensions { + extension.UpdateStructDescriptor(structDescriptor) + } + ctx.encoderExtension.UpdateStructDescriptor(structDescriptor) + ctx.decoderExtension.UpdateStructDescriptor(structDescriptor) + for _, extension := range ctx.extraExtensions { + extension.UpdateStructDescriptor(structDescriptor) + } + processTags(structDescriptor, ctx.frozenConfig) + // merge normal & embedded bindings & sort with original order + allBindings := sortableBindings(append(embeddedBindings, structDescriptor.Fields...)) + sort.Sort(allBindings) + structDescriptor.Fields = allBindings + return structDescriptor +} + +type sortableBindings []*Binding + +func (bindings sortableBindings) Len() int { + return len(bindings) +} + +func (bindings sortableBindings) Less(i, j int) bool { + left := bindings[i].levels + right := bindings[j].levels + k := 0 + for { + if left[k] < right[k] { + return true + } else if left[k] > right[k] { + return false + } + k++ + } +} + +func (bindings sortableBindings) Swap(i, j int) { + bindings[i], bindings[j] = bindings[j], bindings[i] +} + +func processTags(structDescriptor *StructDescriptor, cfg *frozenConfig) { + for _, binding := range structDescriptor.Fields { + shouldOmitEmpty := false + tagParts := strings.Split(binding.Field.Tag().Get(cfg.getTagKey()), ",") + for _, tagPart := range tagParts[1:] { + if tagPart == "omitempty" { + shouldOmitEmpty = true + } else if tagPart == "string" { + if binding.Field.Type().Kind() == reflect.String { + binding.Decoder = &stringModeStringDecoder{binding.Decoder, cfg} + binding.Encoder = &stringModeStringEncoder{binding.Encoder, cfg} + } else { + binding.Decoder = &stringModeNumberDecoder{binding.Decoder} + binding.Encoder = &stringModeNumberEncoder{binding.Encoder} + } + } + } + binding.Decoder = &structFieldDecoder{binding.Field, binding.Decoder} + binding.Encoder = &structFieldEncoder{binding.Field, binding.Encoder, shouldOmitEmpty} + } +} + +func calcFieldNames(originalFieldName string, tagProvidedFieldName string, wholeTag string) []string { + // ignore? + if wholeTag == "-" { + return []string{} + } + // rename? + var fieldNames []string + if tagProvidedFieldName == "" { + fieldNames = []string{originalFieldName} + } else { + fieldNames = []string{tagProvidedFieldName} + } + // private? + isNotExported := unicode.IsLower(rune(originalFieldName[0])) || originalFieldName[0] == '_' + if isNotExported { + fieldNames = []string{} + } + return fieldNames +} diff --git a/vendor/github.com/json-iterator/go/reflect_json_number.go b/vendor/github.com/json-iterator/go/reflect_json_number.go new file mode 100644 index 000000000..98d45c1ec --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_json_number.go @@ -0,0 +1,112 @@ +package jsoniter + +import ( + "encoding/json" + "github.com/modern-go/reflect2" + "strconv" + "unsafe" +) + +type Number string + +// String returns the literal text of the number. +func (n Number) String() string { return string(n) } + +// Float64 returns the number as a float64. +func (n Number) Float64() (float64, error) { + return strconv.ParseFloat(string(n), 64) +} + +// Int64 returns the number as an int64. +func (n Number) Int64() (int64, error) { + return strconv.ParseInt(string(n), 10, 64) +} + +func CastJsonNumber(val interface{}) (string, bool) { + switch typedVal := val.(type) { + case json.Number: + return string(typedVal), true + case Number: + return string(typedVal), true + } + return "", false +} + +var jsonNumberType = reflect2.TypeOfPtr((*json.Number)(nil)).Elem() +var jsoniterNumberType = reflect2.TypeOfPtr((*Number)(nil)).Elem() + +func createDecoderOfJsonNumber(ctx *ctx, typ reflect2.Type) ValDecoder { + if typ.AssignableTo(jsonNumberType) { + return &jsonNumberCodec{} + } + if typ.AssignableTo(jsoniterNumberType) { + return &jsoniterNumberCodec{} + } + return nil +} + +func createEncoderOfJsonNumber(ctx *ctx, typ reflect2.Type) ValEncoder { + if typ.AssignableTo(jsonNumberType) { + return &jsonNumberCodec{} + } + if typ.AssignableTo(jsoniterNumberType) { + return &jsoniterNumberCodec{} + } + return nil +} + +type jsonNumberCodec struct { +} + +func (codec *jsonNumberCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + switch iter.WhatIsNext() { + case StringValue: + *((*json.Number)(ptr)) = json.Number(iter.ReadString()) + case NilValue: + iter.skipFourBytes('n', 'u', 'l', 'l') + *((*json.Number)(ptr)) = "" + default: + *((*json.Number)(ptr)) = json.Number([]byte(iter.readNumberAsString())) + } +} + +func (codec *jsonNumberCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + number := *((*json.Number)(ptr)) + if len(number) == 0 { + stream.writeByte('0') + } else { + stream.WriteRaw(string(number)) + } +} + +func (codec *jsonNumberCodec) IsEmpty(ptr unsafe.Pointer) bool { + return len(*((*json.Number)(ptr))) == 0 +} + +type jsoniterNumberCodec struct { +} + +func (codec *jsoniterNumberCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + switch iter.WhatIsNext() { + case StringValue: + *((*Number)(ptr)) = Number(iter.ReadString()) + case NilValue: + iter.skipFourBytes('n', 'u', 'l', 'l') + *((*Number)(ptr)) = "" + default: + *((*Number)(ptr)) = Number([]byte(iter.readNumberAsString())) + } +} + +func (codec *jsoniterNumberCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + number := *((*Number)(ptr)) + if len(number) == 0 { + stream.writeByte('0') + } else { + stream.WriteRaw(string(number)) + } +} + +func (codec *jsoniterNumberCodec) IsEmpty(ptr unsafe.Pointer) bool { + return len(*((*Number)(ptr))) == 0 +} diff --git a/vendor/github.com/json-iterator/go/reflect_json_raw_message.go b/vendor/github.com/json-iterator/go/reflect_json_raw_message.go new file mode 100644 index 000000000..eba434f2f --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_json_raw_message.go @@ -0,0 +1,76 @@ +package jsoniter + +import ( + "encoding/json" + "github.com/modern-go/reflect2" + "unsafe" +) + +var jsonRawMessageType = reflect2.TypeOfPtr((*json.RawMessage)(nil)).Elem() +var jsoniterRawMessageType = reflect2.TypeOfPtr((*RawMessage)(nil)).Elem() + +func createEncoderOfJsonRawMessage(ctx *ctx, typ reflect2.Type) ValEncoder { + if typ == jsonRawMessageType { + return &jsonRawMessageCodec{} + } + if typ == jsoniterRawMessageType { + return &jsoniterRawMessageCodec{} + } + return nil +} + +func createDecoderOfJsonRawMessage(ctx *ctx, typ reflect2.Type) ValDecoder { + if typ == jsonRawMessageType { + return &jsonRawMessageCodec{} + } + if typ == jsoniterRawMessageType { + return &jsoniterRawMessageCodec{} + } + return nil +} + +type jsonRawMessageCodec struct { +} + +func (codec *jsonRawMessageCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if iter.ReadNil() { + *((*json.RawMessage)(ptr)) = nil + } else { + *((*json.RawMessage)(ptr)) = iter.SkipAndReturnBytes() + } +} + +func (codec *jsonRawMessageCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + if *((*json.RawMessage)(ptr)) == nil { + stream.WriteNil() + } else { + stream.WriteRaw(string(*((*json.RawMessage)(ptr)))) + } +} + +func (codec *jsonRawMessageCodec) IsEmpty(ptr unsafe.Pointer) bool { + return len(*((*json.RawMessage)(ptr))) == 0 +} + +type jsoniterRawMessageCodec struct { +} + +func (codec *jsoniterRawMessageCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if iter.ReadNil() { + *((*RawMessage)(ptr)) = nil + } else { + *((*RawMessage)(ptr)) = iter.SkipAndReturnBytes() + } +} + +func (codec *jsoniterRawMessageCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + if *((*RawMessage)(ptr)) == nil { + stream.WriteNil() + } else { + stream.WriteRaw(string(*((*RawMessage)(ptr)))) + } +} + +func (codec *jsoniterRawMessageCodec) IsEmpty(ptr unsafe.Pointer) bool { + return len(*((*RawMessage)(ptr))) == 0 +} diff --git a/vendor/github.com/json-iterator/go/reflect_map.go b/vendor/github.com/json-iterator/go/reflect_map.go new file mode 100644 index 000000000..582967130 --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_map.go @@ -0,0 +1,346 @@ +package jsoniter + +import ( + "fmt" + "github.com/modern-go/reflect2" + "io" + "reflect" + "sort" + "unsafe" +) + +func decoderOfMap(ctx *ctx, typ reflect2.Type) ValDecoder { + mapType := typ.(*reflect2.UnsafeMapType) + keyDecoder := decoderOfMapKey(ctx.append("[mapKey]"), mapType.Key()) + elemDecoder := decoderOfType(ctx.append("[mapElem]"), mapType.Elem()) + return &mapDecoder{ + mapType: mapType, + keyType: mapType.Key(), + elemType: mapType.Elem(), + keyDecoder: keyDecoder, + elemDecoder: elemDecoder, + } +} + +func encoderOfMap(ctx *ctx, typ reflect2.Type) ValEncoder { + mapType := typ.(*reflect2.UnsafeMapType) + if ctx.sortMapKeys { + return &sortKeysMapEncoder{ + mapType: mapType, + keyEncoder: encoderOfMapKey(ctx.append("[mapKey]"), mapType.Key()), + elemEncoder: encoderOfType(ctx.append("[mapElem]"), mapType.Elem()), + } + } + return &mapEncoder{ + mapType: mapType, + keyEncoder: encoderOfMapKey(ctx.append("[mapKey]"), mapType.Key()), + elemEncoder: encoderOfType(ctx.append("[mapElem]"), mapType.Elem()), + } +} + +func decoderOfMapKey(ctx *ctx, typ reflect2.Type) ValDecoder { + decoder := ctx.decoderExtension.CreateMapKeyDecoder(typ) + if decoder != nil { + return decoder + } + for _, extension := range ctx.extraExtensions { + decoder := extension.CreateMapKeyDecoder(typ) + if decoder != nil { + return decoder + } + } + + ptrType := reflect2.PtrTo(typ) + if ptrType.Implements(unmarshalerType) { + return &referenceDecoder{ + &unmarshalerDecoder{ + valType: ptrType, + }, + } + } + if typ.Implements(unmarshalerType) { + return &unmarshalerDecoder{ + valType: typ, + } + } + if ptrType.Implements(textUnmarshalerType) { + return &referenceDecoder{ + &textUnmarshalerDecoder{ + valType: ptrType, + }, + } + } + if typ.Implements(textUnmarshalerType) { + return &textUnmarshalerDecoder{ + valType: typ, + } + } + + switch typ.Kind() { + case reflect.String: + return decoderOfType(ctx, reflect2.DefaultTypeOfKind(reflect.String)) + case reflect.Bool, + reflect.Uint8, reflect.Int8, + reflect.Uint16, reflect.Int16, + reflect.Uint32, reflect.Int32, + reflect.Uint64, reflect.Int64, + reflect.Uint, reflect.Int, + reflect.Float32, reflect.Float64, + reflect.Uintptr: + typ = reflect2.DefaultTypeOfKind(typ.Kind()) + return &numericMapKeyDecoder{decoderOfType(ctx, typ)} + default: + return &lazyErrorDecoder{err: fmt.Errorf("unsupported map key type: %v", typ)} + } +} + +func encoderOfMapKey(ctx *ctx, typ reflect2.Type) ValEncoder { + encoder := ctx.encoderExtension.CreateMapKeyEncoder(typ) + if encoder != nil { + return encoder + } + for _, extension := range ctx.extraExtensions { + encoder := extension.CreateMapKeyEncoder(typ) + if encoder != nil { + return encoder + } + } + + if typ == textMarshalerType { + return &directTextMarshalerEncoder{ + stringEncoder: ctx.EncoderOf(reflect2.TypeOf("")), + } + } + if typ.Implements(textMarshalerType) { + return &textMarshalerEncoder{ + valType: typ, + stringEncoder: ctx.EncoderOf(reflect2.TypeOf("")), + } + } + + switch typ.Kind() { + case reflect.String: + return encoderOfType(ctx, reflect2.DefaultTypeOfKind(reflect.String)) + case reflect.Bool, + reflect.Uint8, reflect.Int8, + reflect.Uint16, reflect.Int16, + reflect.Uint32, reflect.Int32, + reflect.Uint64, reflect.Int64, + reflect.Uint, reflect.Int, + reflect.Float32, reflect.Float64, + reflect.Uintptr: + typ = reflect2.DefaultTypeOfKind(typ.Kind()) + return &numericMapKeyEncoder{encoderOfType(ctx, typ)} + default: + if typ.Kind() == reflect.Interface { + return &dynamicMapKeyEncoder{ctx, typ} + } + return &lazyErrorEncoder{err: fmt.Errorf("unsupported map key type: %v", typ)} + } +} + +type mapDecoder struct { + mapType *reflect2.UnsafeMapType + keyType reflect2.Type + elemType reflect2.Type + keyDecoder ValDecoder + elemDecoder ValDecoder +} + +func (decoder *mapDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + mapType := decoder.mapType + c := iter.nextToken() + if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + *(*unsafe.Pointer)(ptr) = nil + mapType.UnsafeSet(ptr, mapType.UnsafeNew()) + return + } + if mapType.UnsafeIsNil(ptr) { + mapType.UnsafeSet(ptr, mapType.UnsafeMakeMap(0)) + } + if c != '{' { + iter.ReportError("ReadMapCB", `expect { or n, but found `+string([]byte{c})) + return + } + c = iter.nextToken() + if c == '}' { + return + } + iter.unreadByte() + key := decoder.keyType.UnsafeNew() + decoder.keyDecoder.Decode(key, iter) + c = iter.nextToken() + if c != ':' { + iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c})) + return + } + elem := decoder.elemType.UnsafeNew() + decoder.elemDecoder.Decode(elem, iter) + decoder.mapType.UnsafeSetIndex(ptr, key, elem) + for c = iter.nextToken(); c == ','; c = iter.nextToken() { + key := decoder.keyType.UnsafeNew() + decoder.keyDecoder.Decode(key, iter) + c = iter.nextToken() + if c != ':' { + iter.ReportError("ReadMapCB", "expect : after object field, but found "+string([]byte{c})) + return + } + elem := decoder.elemType.UnsafeNew() + decoder.elemDecoder.Decode(elem, iter) + decoder.mapType.UnsafeSetIndex(ptr, key, elem) + } + if c != '}' { + iter.ReportError("ReadMapCB", `expect }, but found `+string([]byte{c})) + } +} + +type numericMapKeyDecoder struct { + decoder ValDecoder +} + +func (decoder *numericMapKeyDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + c := iter.nextToken() + if c != '"' { + iter.ReportError("ReadMapCB", `expect ", but found `+string([]byte{c})) + return + } + decoder.decoder.Decode(ptr, iter) + c = iter.nextToken() + if c != '"' { + iter.ReportError("ReadMapCB", `expect ", but found `+string([]byte{c})) + return + } +} + +type numericMapKeyEncoder struct { + encoder ValEncoder +} + +func (encoder *numericMapKeyEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.writeByte('"') + encoder.encoder.Encode(ptr, stream) + stream.writeByte('"') +} + +func (encoder *numericMapKeyEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return false +} + +type dynamicMapKeyEncoder struct { + ctx *ctx + valType reflect2.Type +} + +func (encoder *dynamicMapKeyEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + obj := encoder.valType.UnsafeIndirect(ptr) + encoderOfMapKey(encoder.ctx, reflect2.TypeOf(obj)).Encode(reflect2.PtrOf(obj), stream) +} + +func (encoder *dynamicMapKeyEncoder) IsEmpty(ptr unsafe.Pointer) bool { + obj := encoder.valType.UnsafeIndirect(ptr) + return encoderOfMapKey(encoder.ctx, reflect2.TypeOf(obj)).IsEmpty(reflect2.PtrOf(obj)) +} + +type mapEncoder struct { + mapType *reflect2.UnsafeMapType + keyEncoder ValEncoder + elemEncoder ValEncoder +} + +func (encoder *mapEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + if *(*unsafe.Pointer)(ptr) == nil { + stream.WriteNil() + return + } + stream.WriteObjectStart() + iter := encoder.mapType.UnsafeIterate(ptr) + for i := 0; iter.HasNext(); i++ { + if i != 0 { + stream.WriteMore() + } + key, elem := iter.UnsafeNext() + encoder.keyEncoder.Encode(key, stream) + if stream.indention > 0 { + stream.writeTwoBytes(byte(':'), byte(' ')) + } else { + stream.writeByte(':') + } + encoder.elemEncoder.Encode(elem, stream) + } + stream.WriteObjectEnd() +} + +func (encoder *mapEncoder) IsEmpty(ptr unsafe.Pointer) bool { + iter := encoder.mapType.UnsafeIterate(ptr) + return !iter.HasNext() +} + +type sortKeysMapEncoder struct { + mapType *reflect2.UnsafeMapType + keyEncoder ValEncoder + elemEncoder ValEncoder +} + +func (encoder *sortKeysMapEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + if *(*unsafe.Pointer)(ptr) == nil { + stream.WriteNil() + return + } + stream.WriteObjectStart() + mapIter := encoder.mapType.UnsafeIterate(ptr) + subStream := stream.cfg.BorrowStream(nil) + subStream.Attachment = stream.Attachment + subIter := stream.cfg.BorrowIterator(nil) + keyValues := encodedKeyValues{} + for mapIter.HasNext() { + key, elem := mapIter.UnsafeNext() + subStreamIndex := subStream.Buffered() + encoder.keyEncoder.Encode(key, subStream) + if subStream.Error != nil && subStream.Error != io.EOF && stream.Error == nil { + stream.Error = subStream.Error + } + encodedKey := subStream.Buffer()[subStreamIndex:] + subIter.ResetBytes(encodedKey) + decodedKey := subIter.ReadString() + if stream.indention > 0 { + subStream.writeTwoBytes(byte(':'), byte(' ')) + } else { + subStream.writeByte(':') + } + encoder.elemEncoder.Encode(elem, subStream) + keyValues = append(keyValues, encodedKV{ + key: decodedKey, + keyValue: subStream.Buffer()[subStreamIndex:], + }) + } + sort.Sort(keyValues) + for i, keyValue := range keyValues { + if i != 0 { + stream.WriteMore() + } + stream.Write(keyValue.keyValue) + } + if subStream.Error != nil && stream.Error == nil { + stream.Error = subStream.Error + } + stream.WriteObjectEnd() + stream.cfg.ReturnStream(subStream) + stream.cfg.ReturnIterator(subIter) +} + +func (encoder *sortKeysMapEncoder) IsEmpty(ptr unsafe.Pointer) bool { + iter := encoder.mapType.UnsafeIterate(ptr) + return !iter.HasNext() +} + +type encodedKeyValues []encodedKV + +type encodedKV struct { + key string + keyValue []byte +} + +func (sv encodedKeyValues) Len() int { return len(sv) } +func (sv encodedKeyValues) Swap(i, j int) { sv[i], sv[j] = sv[j], sv[i] } +func (sv encodedKeyValues) Less(i, j int) bool { return sv[i].key < sv[j].key } diff --git a/vendor/github.com/json-iterator/go/reflect_marshaler.go b/vendor/github.com/json-iterator/go/reflect_marshaler.go new file mode 100644 index 000000000..3e21f3756 --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_marshaler.go @@ -0,0 +1,225 @@ +package jsoniter + +import ( + "encoding" + "encoding/json" + "unsafe" + + "github.com/modern-go/reflect2" +) + +var marshalerType = reflect2.TypeOfPtr((*json.Marshaler)(nil)).Elem() +var unmarshalerType = reflect2.TypeOfPtr((*json.Unmarshaler)(nil)).Elem() +var textMarshalerType = reflect2.TypeOfPtr((*encoding.TextMarshaler)(nil)).Elem() +var textUnmarshalerType = reflect2.TypeOfPtr((*encoding.TextUnmarshaler)(nil)).Elem() + +func createDecoderOfMarshaler(ctx *ctx, typ reflect2.Type) ValDecoder { + ptrType := reflect2.PtrTo(typ) + if ptrType.Implements(unmarshalerType) { + return &referenceDecoder{ + &unmarshalerDecoder{ptrType}, + } + } + if ptrType.Implements(textUnmarshalerType) { + return &referenceDecoder{ + &textUnmarshalerDecoder{ptrType}, + } + } + return nil +} + +func createEncoderOfMarshaler(ctx *ctx, typ reflect2.Type) ValEncoder { + if typ == marshalerType { + checkIsEmpty := createCheckIsEmpty(ctx, typ) + var encoder ValEncoder = &directMarshalerEncoder{ + checkIsEmpty: checkIsEmpty, + } + return encoder + } + if typ.Implements(marshalerType) { + checkIsEmpty := createCheckIsEmpty(ctx, typ) + var encoder ValEncoder = &marshalerEncoder{ + valType: typ, + checkIsEmpty: checkIsEmpty, + } + return encoder + } + ptrType := reflect2.PtrTo(typ) + if ctx.prefix != "" && ptrType.Implements(marshalerType) { + checkIsEmpty := createCheckIsEmpty(ctx, ptrType) + var encoder ValEncoder = &marshalerEncoder{ + valType: ptrType, + checkIsEmpty: checkIsEmpty, + } + return &referenceEncoder{encoder} + } + if typ == textMarshalerType { + checkIsEmpty := createCheckIsEmpty(ctx, typ) + var encoder ValEncoder = &directTextMarshalerEncoder{ + checkIsEmpty: checkIsEmpty, + stringEncoder: ctx.EncoderOf(reflect2.TypeOf("")), + } + return encoder + } + if typ.Implements(textMarshalerType) { + checkIsEmpty := createCheckIsEmpty(ctx, typ) + var encoder ValEncoder = &textMarshalerEncoder{ + valType: typ, + stringEncoder: ctx.EncoderOf(reflect2.TypeOf("")), + checkIsEmpty: checkIsEmpty, + } + return encoder + } + // if prefix is empty, the type is the root type + if ctx.prefix != "" && ptrType.Implements(textMarshalerType) { + checkIsEmpty := createCheckIsEmpty(ctx, ptrType) + var encoder ValEncoder = &textMarshalerEncoder{ + valType: ptrType, + stringEncoder: ctx.EncoderOf(reflect2.TypeOf("")), + checkIsEmpty: checkIsEmpty, + } + return &referenceEncoder{encoder} + } + return nil +} + +type marshalerEncoder struct { + checkIsEmpty checkIsEmpty + valType reflect2.Type +} + +func (encoder *marshalerEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + obj := encoder.valType.UnsafeIndirect(ptr) + if encoder.valType.IsNullable() && reflect2.IsNil(obj) { + stream.WriteNil() + return + } + marshaler := obj.(json.Marshaler) + bytes, err := marshaler.MarshalJSON() + if err != nil { + stream.Error = err + } else { + // html escape was already done by jsoniter + // but the extra '\n' should be trimed + l := len(bytes) + if l > 0 && bytes[l-1] == '\n' { + bytes = bytes[:l-1] + } + stream.Write(bytes) + } +} + +func (encoder *marshalerEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.checkIsEmpty.IsEmpty(ptr) +} + +type directMarshalerEncoder struct { + checkIsEmpty checkIsEmpty +} + +func (encoder *directMarshalerEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + marshaler := *(*json.Marshaler)(ptr) + if marshaler == nil { + stream.WriteNil() + return + } + bytes, err := marshaler.MarshalJSON() + if err != nil { + stream.Error = err + } else { + stream.Write(bytes) + } +} + +func (encoder *directMarshalerEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.checkIsEmpty.IsEmpty(ptr) +} + +type textMarshalerEncoder struct { + valType reflect2.Type + stringEncoder ValEncoder + checkIsEmpty checkIsEmpty +} + +func (encoder *textMarshalerEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + obj := encoder.valType.UnsafeIndirect(ptr) + if encoder.valType.IsNullable() && reflect2.IsNil(obj) { + stream.WriteNil() + return + } + marshaler := (obj).(encoding.TextMarshaler) + bytes, err := marshaler.MarshalText() + if err != nil { + stream.Error = err + } else { + str := string(bytes) + encoder.stringEncoder.Encode(unsafe.Pointer(&str), stream) + } +} + +func (encoder *textMarshalerEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.checkIsEmpty.IsEmpty(ptr) +} + +type directTextMarshalerEncoder struct { + stringEncoder ValEncoder + checkIsEmpty checkIsEmpty +} + +func (encoder *directTextMarshalerEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + marshaler := *(*encoding.TextMarshaler)(ptr) + if marshaler == nil { + stream.WriteNil() + return + } + bytes, err := marshaler.MarshalText() + if err != nil { + stream.Error = err + } else { + str := string(bytes) + encoder.stringEncoder.Encode(unsafe.Pointer(&str), stream) + } +} + +func (encoder *directTextMarshalerEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.checkIsEmpty.IsEmpty(ptr) +} + +type unmarshalerDecoder struct { + valType reflect2.Type +} + +func (decoder *unmarshalerDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + valType := decoder.valType + obj := valType.UnsafeIndirect(ptr) + unmarshaler := obj.(json.Unmarshaler) + iter.nextToken() + iter.unreadByte() // skip spaces + bytes := iter.SkipAndReturnBytes() + err := unmarshaler.UnmarshalJSON(bytes) + if err != nil { + iter.ReportError("unmarshalerDecoder", err.Error()) + } +} + +type textUnmarshalerDecoder struct { + valType reflect2.Type +} + +func (decoder *textUnmarshalerDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + valType := decoder.valType + obj := valType.UnsafeIndirect(ptr) + if reflect2.IsNil(obj) { + ptrType := valType.(*reflect2.UnsafePtrType) + elemType := ptrType.Elem() + elem := elemType.UnsafeNew() + ptrType.UnsafeSet(ptr, unsafe.Pointer(&elem)) + obj = valType.UnsafeIndirect(ptr) + } + unmarshaler := (obj).(encoding.TextUnmarshaler) + str := iter.ReadString() + err := unmarshaler.UnmarshalText([]byte(str)) + if err != nil { + iter.ReportError("textUnmarshalerDecoder", err.Error()) + } +} diff --git a/vendor/github.com/json-iterator/go/reflect_native.go b/vendor/github.com/json-iterator/go/reflect_native.go new file mode 100644 index 000000000..f88722d14 --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_native.go @@ -0,0 +1,453 @@ +package jsoniter + +import ( + "encoding/base64" + "reflect" + "strconv" + "unsafe" + + "github.com/modern-go/reflect2" +) + +const ptrSize = 32 << uintptr(^uintptr(0)>>63) + +func createEncoderOfNative(ctx *ctx, typ reflect2.Type) ValEncoder { + if typ.Kind() == reflect.Slice && typ.(reflect2.SliceType).Elem().Kind() == reflect.Uint8 { + sliceDecoder := decoderOfSlice(ctx, typ) + return &base64Codec{sliceDecoder: sliceDecoder} + } + typeName := typ.String() + kind := typ.Kind() + switch kind { + case reflect.String: + if typeName != "string" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*string)(nil)).Elem()) + } + return &stringCodec{} + case reflect.Int: + if typeName != "int" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*int)(nil)).Elem()) + } + if strconv.IntSize == 32 { + return &int32Codec{} + } + return &int64Codec{} + case reflect.Int8: + if typeName != "int8" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*int8)(nil)).Elem()) + } + return &int8Codec{} + case reflect.Int16: + if typeName != "int16" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*int16)(nil)).Elem()) + } + return &int16Codec{} + case reflect.Int32: + if typeName != "int32" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*int32)(nil)).Elem()) + } + return &int32Codec{} + case reflect.Int64: + if typeName != "int64" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*int64)(nil)).Elem()) + } + return &int64Codec{} + case reflect.Uint: + if typeName != "uint" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*uint)(nil)).Elem()) + } + if strconv.IntSize == 32 { + return &uint32Codec{} + } + return &uint64Codec{} + case reflect.Uint8: + if typeName != "uint8" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*uint8)(nil)).Elem()) + } + return &uint8Codec{} + case reflect.Uint16: + if typeName != "uint16" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*uint16)(nil)).Elem()) + } + return &uint16Codec{} + case reflect.Uint32: + if typeName != "uint32" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*uint32)(nil)).Elem()) + } + return &uint32Codec{} + case reflect.Uintptr: + if typeName != "uintptr" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*uintptr)(nil)).Elem()) + } + if ptrSize == 32 { + return &uint32Codec{} + } + return &uint64Codec{} + case reflect.Uint64: + if typeName != "uint64" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*uint64)(nil)).Elem()) + } + return &uint64Codec{} + case reflect.Float32: + if typeName != "float32" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*float32)(nil)).Elem()) + } + return &float32Codec{} + case reflect.Float64: + if typeName != "float64" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*float64)(nil)).Elem()) + } + return &float64Codec{} + case reflect.Bool: + if typeName != "bool" { + return encoderOfType(ctx, reflect2.TypeOfPtr((*bool)(nil)).Elem()) + } + return &boolCodec{} + } + return nil +} + +func createDecoderOfNative(ctx *ctx, typ reflect2.Type) ValDecoder { + if typ.Kind() == reflect.Slice && typ.(reflect2.SliceType).Elem().Kind() == reflect.Uint8 { + sliceDecoder := decoderOfSlice(ctx, typ) + return &base64Codec{sliceDecoder: sliceDecoder} + } + typeName := typ.String() + switch typ.Kind() { + case reflect.String: + if typeName != "string" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*string)(nil)).Elem()) + } + return &stringCodec{} + case reflect.Int: + if typeName != "int" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*int)(nil)).Elem()) + } + if strconv.IntSize == 32 { + return &int32Codec{} + } + return &int64Codec{} + case reflect.Int8: + if typeName != "int8" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*int8)(nil)).Elem()) + } + return &int8Codec{} + case reflect.Int16: + if typeName != "int16" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*int16)(nil)).Elem()) + } + return &int16Codec{} + case reflect.Int32: + if typeName != "int32" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*int32)(nil)).Elem()) + } + return &int32Codec{} + case reflect.Int64: + if typeName != "int64" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*int64)(nil)).Elem()) + } + return &int64Codec{} + case reflect.Uint: + if typeName != "uint" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*uint)(nil)).Elem()) + } + if strconv.IntSize == 32 { + return &uint32Codec{} + } + return &uint64Codec{} + case reflect.Uint8: + if typeName != "uint8" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*uint8)(nil)).Elem()) + } + return &uint8Codec{} + case reflect.Uint16: + if typeName != "uint16" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*uint16)(nil)).Elem()) + } + return &uint16Codec{} + case reflect.Uint32: + if typeName != "uint32" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*uint32)(nil)).Elem()) + } + return &uint32Codec{} + case reflect.Uintptr: + if typeName != "uintptr" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*uintptr)(nil)).Elem()) + } + if ptrSize == 32 { + return &uint32Codec{} + } + return &uint64Codec{} + case reflect.Uint64: + if typeName != "uint64" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*uint64)(nil)).Elem()) + } + return &uint64Codec{} + case reflect.Float32: + if typeName != "float32" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*float32)(nil)).Elem()) + } + return &float32Codec{} + case reflect.Float64: + if typeName != "float64" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*float64)(nil)).Elem()) + } + return &float64Codec{} + case reflect.Bool: + if typeName != "bool" { + return decoderOfType(ctx, reflect2.TypeOfPtr((*bool)(nil)).Elem()) + } + return &boolCodec{} + } + return nil +} + +type stringCodec struct { +} + +func (codec *stringCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + *((*string)(ptr)) = iter.ReadString() +} + +func (codec *stringCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + str := *((*string)(ptr)) + stream.WriteString(str) +} + +func (codec *stringCodec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*string)(ptr)) == "" +} + +type int8Codec struct { +} + +func (codec *int8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*int8)(ptr)) = iter.ReadInt8() + } +} + +func (codec *int8Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteInt8(*((*int8)(ptr))) +} + +func (codec *int8Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*int8)(ptr)) == 0 +} + +type int16Codec struct { +} + +func (codec *int16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*int16)(ptr)) = iter.ReadInt16() + } +} + +func (codec *int16Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteInt16(*((*int16)(ptr))) +} + +func (codec *int16Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*int16)(ptr)) == 0 +} + +type int32Codec struct { +} + +func (codec *int32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*int32)(ptr)) = iter.ReadInt32() + } +} + +func (codec *int32Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteInt32(*((*int32)(ptr))) +} + +func (codec *int32Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*int32)(ptr)) == 0 +} + +type int64Codec struct { +} + +func (codec *int64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*int64)(ptr)) = iter.ReadInt64() + } +} + +func (codec *int64Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteInt64(*((*int64)(ptr))) +} + +func (codec *int64Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*int64)(ptr)) == 0 +} + +type uint8Codec struct { +} + +func (codec *uint8Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*uint8)(ptr)) = iter.ReadUint8() + } +} + +func (codec *uint8Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteUint8(*((*uint8)(ptr))) +} + +func (codec *uint8Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*uint8)(ptr)) == 0 +} + +type uint16Codec struct { +} + +func (codec *uint16Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*uint16)(ptr)) = iter.ReadUint16() + } +} + +func (codec *uint16Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteUint16(*((*uint16)(ptr))) +} + +func (codec *uint16Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*uint16)(ptr)) == 0 +} + +type uint32Codec struct { +} + +func (codec *uint32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*uint32)(ptr)) = iter.ReadUint32() + } +} + +func (codec *uint32Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteUint32(*((*uint32)(ptr))) +} + +func (codec *uint32Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*uint32)(ptr)) == 0 +} + +type uint64Codec struct { +} + +func (codec *uint64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*uint64)(ptr)) = iter.ReadUint64() + } +} + +func (codec *uint64Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteUint64(*((*uint64)(ptr))) +} + +func (codec *uint64Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*uint64)(ptr)) == 0 +} + +type float32Codec struct { +} + +func (codec *float32Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*float32)(ptr)) = iter.ReadFloat32() + } +} + +func (codec *float32Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteFloat32(*((*float32)(ptr))) +} + +func (codec *float32Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*float32)(ptr)) == 0 +} + +type float64Codec struct { +} + +func (codec *float64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*float64)(ptr)) = iter.ReadFloat64() + } +} + +func (codec *float64Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteFloat64(*((*float64)(ptr))) +} + +func (codec *float64Codec) IsEmpty(ptr unsafe.Pointer) bool { + return *((*float64)(ptr)) == 0 +} + +type boolCodec struct { +} + +func (codec *boolCodec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.ReadNil() { + *((*bool)(ptr)) = iter.ReadBool() + } +} + +func (codec *boolCodec) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteBool(*((*bool)(ptr))) +} + +func (codec *boolCodec) IsEmpty(ptr unsafe.Pointer) bool { + return !(*((*bool)(ptr))) +} + +type base64Codec struct { + sliceType *reflect2.UnsafeSliceType + sliceDecoder ValDecoder +} + +func (codec *base64Codec) Decode(ptr unsafe.Pointer, iter *Iterator) { + if iter.ReadNil() { + codec.sliceType.UnsafeSetNil(ptr) + return + } + switch iter.WhatIsNext() { + case StringValue: + src := iter.ReadString() + dst, err := base64.StdEncoding.DecodeString(src) + if err != nil { + iter.ReportError("decode base64", err.Error()) + } else { + codec.sliceType.UnsafeSet(ptr, unsafe.Pointer(&dst)) + } + case ArrayValue: + codec.sliceDecoder.Decode(ptr, iter) + default: + iter.ReportError("base64Codec", "invalid input") + } +} + +func (codec *base64Codec) Encode(ptr unsafe.Pointer, stream *Stream) { + if codec.sliceType.UnsafeIsNil(ptr) { + stream.WriteNil() + return + } + src := *((*[]byte)(ptr)) + encoding := base64.StdEncoding + stream.writeByte('"') + if len(src) != 0 { + size := encoding.EncodedLen(len(src)) + buf := make([]byte, size) + encoding.Encode(buf, src) + stream.buf = append(stream.buf, buf...) + } + stream.writeByte('"') +} + +func (codec *base64Codec) IsEmpty(ptr unsafe.Pointer) bool { + return len(*((*[]byte)(ptr))) == 0 +} diff --git a/vendor/github.com/json-iterator/go/reflect_optional.go b/vendor/github.com/json-iterator/go/reflect_optional.go new file mode 100644 index 000000000..fa71f4748 --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_optional.go @@ -0,0 +1,129 @@ +package jsoniter + +import ( + "github.com/modern-go/reflect2" + "unsafe" +) + +func decoderOfOptional(ctx *ctx, typ reflect2.Type) ValDecoder { + ptrType := typ.(*reflect2.UnsafePtrType) + elemType := ptrType.Elem() + decoder := decoderOfType(ctx, elemType) + return &OptionalDecoder{elemType, decoder} +} + +func encoderOfOptional(ctx *ctx, typ reflect2.Type) ValEncoder { + ptrType := typ.(*reflect2.UnsafePtrType) + elemType := ptrType.Elem() + elemEncoder := encoderOfType(ctx, elemType) + encoder := &OptionalEncoder{elemEncoder} + return encoder +} + +type OptionalDecoder struct { + ValueType reflect2.Type + ValueDecoder ValDecoder +} + +func (decoder *OptionalDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if iter.ReadNil() { + *((*unsafe.Pointer)(ptr)) = nil + } else { + if *((*unsafe.Pointer)(ptr)) == nil { + //pointer to null, we have to allocate memory to hold the value + newPtr := decoder.ValueType.UnsafeNew() + decoder.ValueDecoder.Decode(newPtr, iter) + *((*unsafe.Pointer)(ptr)) = newPtr + } else { + //reuse existing instance + decoder.ValueDecoder.Decode(*((*unsafe.Pointer)(ptr)), iter) + } + } +} + +type dereferenceDecoder struct { + // only to deference a pointer + valueType reflect2.Type + valueDecoder ValDecoder +} + +func (decoder *dereferenceDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if *((*unsafe.Pointer)(ptr)) == nil { + //pointer to null, we have to allocate memory to hold the value + newPtr := decoder.valueType.UnsafeNew() + decoder.valueDecoder.Decode(newPtr, iter) + *((*unsafe.Pointer)(ptr)) = newPtr + } else { + //reuse existing instance + decoder.valueDecoder.Decode(*((*unsafe.Pointer)(ptr)), iter) + } +} + +type OptionalEncoder struct { + ValueEncoder ValEncoder +} + +func (encoder *OptionalEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + if *((*unsafe.Pointer)(ptr)) == nil { + stream.WriteNil() + } else { + encoder.ValueEncoder.Encode(*((*unsafe.Pointer)(ptr)), stream) + } +} + +func (encoder *OptionalEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return *((*unsafe.Pointer)(ptr)) == nil +} + +type dereferenceEncoder struct { + ValueEncoder ValEncoder +} + +func (encoder *dereferenceEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + if *((*unsafe.Pointer)(ptr)) == nil { + stream.WriteNil() + } else { + encoder.ValueEncoder.Encode(*((*unsafe.Pointer)(ptr)), stream) + } +} + +func (encoder *dereferenceEncoder) IsEmpty(ptr unsafe.Pointer) bool { + dePtr := *((*unsafe.Pointer)(ptr)) + if dePtr == nil { + return true + } + return encoder.ValueEncoder.IsEmpty(dePtr) +} + +func (encoder *dereferenceEncoder) IsEmbeddedPtrNil(ptr unsafe.Pointer) bool { + deReferenced := *((*unsafe.Pointer)(ptr)) + if deReferenced == nil { + return true + } + isEmbeddedPtrNil, converted := encoder.ValueEncoder.(IsEmbeddedPtrNil) + if !converted { + return false + } + fieldPtr := unsafe.Pointer(deReferenced) + return isEmbeddedPtrNil.IsEmbeddedPtrNil(fieldPtr) +} + +type referenceEncoder struct { + encoder ValEncoder +} + +func (encoder *referenceEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + encoder.encoder.Encode(unsafe.Pointer(&ptr), stream) +} + +func (encoder *referenceEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.encoder.IsEmpty(unsafe.Pointer(&ptr)) +} + +type referenceDecoder struct { + decoder ValDecoder +} + +func (decoder *referenceDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + decoder.decoder.Decode(unsafe.Pointer(&ptr), iter) +} diff --git a/vendor/github.com/json-iterator/go/reflect_slice.go b/vendor/github.com/json-iterator/go/reflect_slice.go new file mode 100644 index 000000000..9441d79df --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_slice.go @@ -0,0 +1,99 @@ +package jsoniter + +import ( + "fmt" + "github.com/modern-go/reflect2" + "io" + "unsafe" +) + +func decoderOfSlice(ctx *ctx, typ reflect2.Type) ValDecoder { + sliceType := typ.(*reflect2.UnsafeSliceType) + decoder := decoderOfType(ctx.append("[sliceElem]"), sliceType.Elem()) + return &sliceDecoder{sliceType, decoder} +} + +func encoderOfSlice(ctx *ctx, typ reflect2.Type) ValEncoder { + sliceType := typ.(*reflect2.UnsafeSliceType) + encoder := encoderOfType(ctx.append("[sliceElem]"), sliceType.Elem()) + return &sliceEncoder{sliceType, encoder} +} + +type sliceEncoder struct { + sliceType *reflect2.UnsafeSliceType + elemEncoder ValEncoder +} + +func (encoder *sliceEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + if encoder.sliceType.UnsafeIsNil(ptr) { + stream.WriteNil() + return + } + length := encoder.sliceType.UnsafeLengthOf(ptr) + if length == 0 { + stream.WriteEmptyArray() + return + } + stream.WriteArrayStart() + encoder.elemEncoder.Encode(encoder.sliceType.UnsafeGetIndex(ptr, 0), stream) + for i := 1; i < length; i++ { + stream.WriteMore() + elemPtr := encoder.sliceType.UnsafeGetIndex(ptr, i) + encoder.elemEncoder.Encode(elemPtr, stream) + } + stream.WriteArrayEnd() + if stream.Error != nil && stream.Error != io.EOF { + stream.Error = fmt.Errorf("%v: %s", encoder.sliceType, stream.Error.Error()) + } +} + +func (encoder *sliceEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.sliceType.UnsafeLengthOf(ptr) == 0 +} + +type sliceDecoder struct { + sliceType *reflect2.UnsafeSliceType + elemDecoder ValDecoder +} + +func (decoder *sliceDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + decoder.doDecode(ptr, iter) + if iter.Error != nil && iter.Error != io.EOF { + iter.Error = fmt.Errorf("%v: %s", decoder.sliceType, iter.Error.Error()) + } +} + +func (decoder *sliceDecoder) doDecode(ptr unsafe.Pointer, iter *Iterator) { + c := iter.nextToken() + sliceType := decoder.sliceType + if c == 'n' { + iter.skipThreeBytes('u', 'l', 'l') + sliceType.UnsafeSetNil(ptr) + return + } + if c != '[' { + iter.ReportError("decode slice", "expect [ or n, but found "+string([]byte{c})) + return + } + c = iter.nextToken() + if c == ']' { + sliceType.UnsafeSet(ptr, sliceType.UnsafeMakeSlice(0, 0)) + return + } + iter.unreadByte() + sliceType.UnsafeGrow(ptr, 1) + elemPtr := sliceType.UnsafeGetIndex(ptr, 0) + decoder.elemDecoder.Decode(elemPtr, iter) + length := 1 + for c = iter.nextToken(); c == ','; c = iter.nextToken() { + idx := length + length += 1 + sliceType.UnsafeGrow(ptr, length) + elemPtr = sliceType.UnsafeGetIndex(ptr, idx) + decoder.elemDecoder.Decode(elemPtr, iter) + } + if c != ']' { + iter.ReportError("decode slice", "expect ], but found "+string([]byte{c})) + return + } +} diff --git a/vendor/github.com/json-iterator/go/reflect_struct_decoder.go b/vendor/github.com/json-iterator/go/reflect_struct_decoder.go new file mode 100644 index 000000000..92ae912dc --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_struct_decoder.go @@ -0,0 +1,1097 @@ +package jsoniter + +import ( + "fmt" + "io" + "strings" + "unsafe" + + "github.com/modern-go/reflect2" +) + +func decoderOfStruct(ctx *ctx, typ reflect2.Type) ValDecoder { + bindings := map[string]*Binding{} + structDescriptor := describeStruct(ctx, typ) + for _, binding := range structDescriptor.Fields { + for _, fromName := range binding.FromNames { + old := bindings[fromName] + if old == nil { + bindings[fromName] = binding + continue + } + ignoreOld, ignoreNew := resolveConflictBinding(ctx.frozenConfig, old, binding) + if ignoreOld { + delete(bindings, fromName) + } + if !ignoreNew { + bindings[fromName] = binding + } + } + } + fields := map[string]*structFieldDecoder{} + for k, binding := range bindings { + fields[k] = binding.Decoder.(*structFieldDecoder) + } + + if !ctx.caseSensitive() { + for k, binding := range bindings { + if _, found := fields[strings.ToLower(k)]; !found { + fields[strings.ToLower(k)] = binding.Decoder.(*structFieldDecoder) + } + } + } + + return createStructDecoder(ctx, typ, fields) +} + +func createStructDecoder(ctx *ctx, typ reflect2.Type, fields map[string]*structFieldDecoder) ValDecoder { + if ctx.disallowUnknownFields { + return &generalStructDecoder{typ: typ, fields: fields, disallowUnknownFields: true} + } + knownHash := map[int64]struct{}{ + 0: {}, + } + + switch len(fields) { + case 0: + return &skipObjectDecoder{typ} + case 1: + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + return &oneFieldStructDecoder{typ, fieldHash, fieldDecoder} + } + case 2: + var fieldHash1 int64 + var fieldHash2 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldHash1 == 0 { + fieldHash1 = fieldHash + fieldDecoder1 = fieldDecoder + } else { + fieldHash2 = fieldHash + fieldDecoder2 = fieldDecoder + } + } + return &twoFieldsStructDecoder{typ, fieldHash1, fieldDecoder1, fieldHash2, fieldDecoder2} + case 3: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } + } + return &threeFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3} + case 4: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldName4 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + var fieldDecoder4 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else if fieldName3 == 0 { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } else { + fieldName4 = fieldHash + fieldDecoder4 = fieldDecoder + } + } + return &fourFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3, + fieldName4, fieldDecoder4} + case 5: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldName4 int64 + var fieldName5 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + var fieldDecoder4 *structFieldDecoder + var fieldDecoder5 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else if fieldName3 == 0 { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } else if fieldName4 == 0 { + fieldName4 = fieldHash + fieldDecoder4 = fieldDecoder + } else { + fieldName5 = fieldHash + fieldDecoder5 = fieldDecoder + } + } + return &fiveFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3, + fieldName4, fieldDecoder4, + fieldName5, fieldDecoder5} + case 6: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldName4 int64 + var fieldName5 int64 + var fieldName6 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + var fieldDecoder4 *structFieldDecoder + var fieldDecoder5 *structFieldDecoder + var fieldDecoder6 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else if fieldName3 == 0 { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } else if fieldName4 == 0 { + fieldName4 = fieldHash + fieldDecoder4 = fieldDecoder + } else if fieldName5 == 0 { + fieldName5 = fieldHash + fieldDecoder5 = fieldDecoder + } else { + fieldName6 = fieldHash + fieldDecoder6 = fieldDecoder + } + } + return &sixFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3, + fieldName4, fieldDecoder4, + fieldName5, fieldDecoder5, + fieldName6, fieldDecoder6} + case 7: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldName4 int64 + var fieldName5 int64 + var fieldName6 int64 + var fieldName7 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + var fieldDecoder4 *structFieldDecoder + var fieldDecoder5 *structFieldDecoder + var fieldDecoder6 *structFieldDecoder + var fieldDecoder7 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else if fieldName3 == 0 { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } else if fieldName4 == 0 { + fieldName4 = fieldHash + fieldDecoder4 = fieldDecoder + } else if fieldName5 == 0 { + fieldName5 = fieldHash + fieldDecoder5 = fieldDecoder + } else if fieldName6 == 0 { + fieldName6 = fieldHash + fieldDecoder6 = fieldDecoder + } else { + fieldName7 = fieldHash + fieldDecoder7 = fieldDecoder + } + } + return &sevenFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3, + fieldName4, fieldDecoder4, + fieldName5, fieldDecoder5, + fieldName6, fieldDecoder6, + fieldName7, fieldDecoder7} + case 8: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldName4 int64 + var fieldName5 int64 + var fieldName6 int64 + var fieldName7 int64 + var fieldName8 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + var fieldDecoder4 *structFieldDecoder + var fieldDecoder5 *structFieldDecoder + var fieldDecoder6 *structFieldDecoder + var fieldDecoder7 *structFieldDecoder + var fieldDecoder8 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else if fieldName3 == 0 { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } else if fieldName4 == 0 { + fieldName4 = fieldHash + fieldDecoder4 = fieldDecoder + } else if fieldName5 == 0 { + fieldName5 = fieldHash + fieldDecoder5 = fieldDecoder + } else if fieldName6 == 0 { + fieldName6 = fieldHash + fieldDecoder6 = fieldDecoder + } else if fieldName7 == 0 { + fieldName7 = fieldHash + fieldDecoder7 = fieldDecoder + } else { + fieldName8 = fieldHash + fieldDecoder8 = fieldDecoder + } + } + return &eightFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3, + fieldName4, fieldDecoder4, + fieldName5, fieldDecoder5, + fieldName6, fieldDecoder6, + fieldName7, fieldDecoder7, + fieldName8, fieldDecoder8} + case 9: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldName4 int64 + var fieldName5 int64 + var fieldName6 int64 + var fieldName7 int64 + var fieldName8 int64 + var fieldName9 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + var fieldDecoder4 *structFieldDecoder + var fieldDecoder5 *structFieldDecoder + var fieldDecoder6 *structFieldDecoder + var fieldDecoder7 *structFieldDecoder + var fieldDecoder8 *structFieldDecoder + var fieldDecoder9 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else if fieldName3 == 0 { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } else if fieldName4 == 0 { + fieldName4 = fieldHash + fieldDecoder4 = fieldDecoder + } else if fieldName5 == 0 { + fieldName5 = fieldHash + fieldDecoder5 = fieldDecoder + } else if fieldName6 == 0 { + fieldName6 = fieldHash + fieldDecoder6 = fieldDecoder + } else if fieldName7 == 0 { + fieldName7 = fieldHash + fieldDecoder7 = fieldDecoder + } else if fieldName8 == 0 { + fieldName8 = fieldHash + fieldDecoder8 = fieldDecoder + } else { + fieldName9 = fieldHash + fieldDecoder9 = fieldDecoder + } + } + return &nineFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3, + fieldName4, fieldDecoder4, + fieldName5, fieldDecoder5, + fieldName6, fieldDecoder6, + fieldName7, fieldDecoder7, + fieldName8, fieldDecoder8, + fieldName9, fieldDecoder9} + case 10: + var fieldName1 int64 + var fieldName2 int64 + var fieldName3 int64 + var fieldName4 int64 + var fieldName5 int64 + var fieldName6 int64 + var fieldName7 int64 + var fieldName8 int64 + var fieldName9 int64 + var fieldName10 int64 + var fieldDecoder1 *structFieldDecoder + var fieldDecoder2 *structFieldDecoder + var fieldDecoder3 *structFieldDecoder + var fieldDecoder4 *structFieldDecoder + var fieldDecoder5 *structFieldDecoder + var fieldDecoder6 *structFieldDecoder + var fieldDecoder7 *structFieldDecoder + var fieldDecoder8 *structFieldDecoder + var fieldDecoder9 *structFieldDecoder + var fieldDecoder10 *structFieldDecoder + for fieldName, fieldDecoder := range fields { + fieldHash := calcHash(fieldName, ctx.caseSensitive()) + _, known := knownHash[fieldHash] + if known { + return &generalStructDecoder{typ, fields, false} + } + knownHash[fieldHash] = struct{}{} + if fieldName1 == 0 { + fieldName1 = fieldHash + fieldDecoder1 = fieldDecoder + } else if fieldName2 == 0 { + fieldName2 = fieldHash + fieldDecoder2 = fieldDecoder + } else if fieldName3 == 0 { + fieldName3 = fieldHash + fieldDecoder3 = fieldDecoder + } else if fieldName4 == 0 { + fieldName4 = fieldHash + fieldDecoder4 = fieldDecoder + } else if fieldName5 == 0 { + fieldName5 = fieldHash + fieldDecoder5 = fieldDecoder + } else if fieldName6 == 0 { + fieldName6 = fieldHash + fieldDecoder6 = fieldDecoder + } else if fieldName7 == 0 { + fieldName7 = fieldHash + fieldDecoder7 = fieldDecoder + } else if fieldName8 == 0 { + fieldName8 = fieldHash + fieldDecoder8 = fieldDecoder + } else if fieldName9 == 0 { + fieldName9 = fieldHash + fieldDecoder9 = fieldDecoder + } else { + fieldName10 = fieldHash + fieldDecoder10 = fieldDecoder + } + } + return &tenFieldsStructDecoder{typ, + fieldName1, fieldDecoder1, + fieldName2, fieldDecoder2, + fieldName3, fieldDecoder3, + fieldName4, fieldDecoder4, + fieldName5, fieldDecoder5, + fieldName6, fieldDecoder6, + fieldName7, fieldDecoder7, + fieldName8, fieldDecoder8, + fieldName9, fieldDecoder9, + fieldName10, fieldDecoder10} + } + return &generalStructDecoder{typ, fields, false} +} + +type generalStructDecoder struct { + typ reflect2.Type + fields map[string]*structFieldDecoder + disallowUnknownFields bool +} + +func (decoder *generalStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + var c byte + for c = ','; c == ','; c = iter.nextToken() { + decoder.decodeOneField(ptr, iter) + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + if c != '}' { + iter.ReportError("struct Decode", `expect }, but found `+string([]byte{c})) + } + iter.decrementDepth() +} + +func (decoder *generalStructDecoder) decodeOneField(ptr unsafe.Pointer, iter *Iterator) { + var field string + var fieldDecoder *structFieldDecoder + if iter.cfg.objectFieldMustBeSimpleString { + fieldBytes := iter.ReadStringAsSlice() + field = *(*string)(unsafe.Pointer(&fieldBytes)) + fieldDecoder = decoder.fields[field] + if fieldDecoder == nil && !iter.cfg.caseSensitive { + fieldDecoder = decoder.fields[strings.ToLower(field)] + } + } else { + field = iter.ReadString() + fieldDecoder = decoder.fields[field] + if fieldDecoder == nil && !iter.cfg.caseSensitive { + fieldDecoder = decoder.fields[strings.ToLower(field)] + } + } + if fieldDecoder == nil { + if decoder.disallowUnknownFields { + msg := "found unknown field: " + field + iter.ReportError("ReadObject", msg) + } + c := iter.nextToken() + if c != ':' { + iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c})) + } + iter.Skip() + return + } + c := iter.nextToken() + if c != ':' { + iter.ReportError("ReadObject", "expect : after object field, but found "+string([]byte{c})) + } + fieldDecoder.Decode(ptr, iter) +} + +type skipObjectDecoder struct { + typ reflect2.Type +} + +func (decoder *skipObjectDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + valueType := iter.WhatIsNext() + if valueType != ObjectValue && valueType != NilValue { + iter.ReportError("skipObjectDecoder", "expect object or null") + return + } + iter.Skip() +} + +type oneFieldStructDecoder struct { + typ reflect2.Type + fieldHash int64 + fieldDecoder *structFieldDecoder +} + +func (decoder *oneFieldStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + if iter.readFieldHash() == decoder.fieldHash { + decoder.fieldDecoder.Decode(ptr, iter) + } else { + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type twoFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder +} + +func (decoder *twoFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type threeFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder +} + +func (decoder *threeFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type fourFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder + fieldHash4 int64 + fieldDecoder4 *structFieldDecoder +} + +func (decoder *fourFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + case decoder.fieldHash4: + decoder.fieldDecoder4.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type fiveFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder + fieldHash4 int64 + fieldDecoder4 *structFieldDecoder + fieldHash5 int64 + fieldDecoder5 *structFieldDecoder +} + +func (decoder *fiveFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + case decoder.fieldHash4: + decoder.fieldDecoder4.Decode(ptr, iter) + case decoder.fieldHash5: + decoder.fieldDecoder5.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type sixFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder + fieldHash4 int64 + fieldDecoder4 *structFieldDecoder + fieldHash5 int64 + fieldDecoder5 *structFieldDecoder + fieldHash6 int64 + fieldDecoder6 *structFieldDecoder +} + +func (decoder *sixFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + case decoder.fieldHash4: + decoder.fieldDecoder4.Decode(ptr, iter) + case decoder.fieldHash5: + decoder.fieldDecoder5.Decode(ptr, iter) + case decoder.fieldHash6: + decoder.fieldDecoder6.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type sevenFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder + fieldHash4 int64 + fieldDecoder4 *structFieldDecoder + fieldHash5 int64 + fieldDecoder5 *structFieldDecoder + fieldHash6 int64 + fieldDecoder6 *structFieldDecoder + fieldHash7 int64 + fieldDecoder7 *structFieldDecoder +} + +func (decoder *sevenFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + case decoder.fieldHash4: + decoder.fieldDecoder4.Decode(ptr, iter) + case decoder.fieldHash5: + decoder.fieldDecoder5.Decode(ptr, iter) + case decoder.fieldHash6: + decoder.fieldDecoder6.Decode(ptr, iter) + case decoder.fieldHash7: + decoder.fieldDecoder7.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type eightFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder + fieldHash4 int64 + fieldDecoder4 *structFieldDecoder + fieldHash5 int64 + fieldDecoder5 *structFieldDecoder + fieldHash6 int64 + fieldDecoder6 *structFieldDecoder + fieldHash7 int64 + fieldDecoder7 *structFieldDecoder + fieldHash8 int64 + fieldDecoder8 *structFieldDecoder +} + +func (decoder *eightFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + case decoder.fieldHash4: + decoder.fieldDecoder4.Decode(ptr, iter) + case decoder.fieldHash5: + decoder.fieldDecoder5.Decode(ptr, iter) + case decoder.fieldHash6: + decoder.fieldDecoder6.Decode(ptr, iter) + case decoder.fieldHash7: + decoder.fieldDecoder7.Decode(ptr, iter) + case decoder.fieldHash8: + decoder.fieldDecoder8.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type nineFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder + fieldHash4 int64 + fieldDecoder4 *structFieldDecoder + fieldHash5 int64 + fieldDecoder5 *structFieldDecoder + fieldHash6 int64 + fieldDecoder6 *structFieldDecoder + fieldHash7 int64 + fieldDecoder7 *structFieldDecoder + fieldHash8 int64 + fieldDecoder8 *structFieldDecoder + fieldHash9 int64 + fieldDecoder9 *structFieldDecoder +} + +func (decoder *nineFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + case decoder.fieldHash4: + decoder.fieldDecoder4.Decode(ptr, iter) + case decoder.fieldHash5: + decoder.fieldDecoder5.Decode(ptr, iter) + case decoder.fieldHash6: + decoder.fieldDecoder6.Decode(ptr, iter) + case decoder.fieldHash7: + decoder.fieldDecoder7.Decode(ptr, iter) + case decoder.fieldHash8: + decoder.fieldDecoder8.Decode(ptr, iter) + case decoder.fieldHash9: + decoder.fieldDecoder9.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type tenFieldsStructDecoder struct { + typ reflect2.Type + fieldHash1 int64 + fieldDecoder1 *structFieldDecoder + fieldHash2 int64 + fieldDecoder2 *structFieldDecoder + fieldHash3 int64 + fieldDecoder3 *structFieldDecoder + fieldHash4 int64 + fieldDecoder4 *structFieldDecoder + fieldHash5 int64 + fieldDecoder5 *structFieldDecoder + fieldHash6 int64 + fieldDecoder6 *structFieldDecoder + fieldHash7 int64 + fieldDecoder7 *structFieldDecoder + fieldHash8 int64 + fieldDecoder8 *structFieldDecoder + fieldHash9 int64 + fieldDecoder9 *structFieldDecoder + fieldHash10 int64 + fieldDecoder10 *structFieldDecoder +} + +func (decoder *tenFieldsStructDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if !iter.readObjectStart() { + return + } + if !iter.incrementDepth() { + return + } + for { + switch iter.readFieldHash() { + case decoder.fieldHash1: + decoder.fieldDecoder1.Decode(ptr, iter) + case decoder.fieldHash2: + decoder.fieldDecoder2.Decode(ptr, iter) + case decoder.fieldHash3: + decoder.fieldDecoder3.Decode(ptr, iter) + case decoder.fieldHash4: + decoder.fieldDecoder4.Decode(ptr, iter) + case decoder.fieldHash5: + decoder.fieldDecoder5.Decode(ptr, iter) + case decoder.fieldHash6: + decoder.fieldDecoder6.Decode(ptr, iter) + case decoder.fieldHash7: + decoder.fieldDecoder7.Decode(ptr, iter) + case decoder.fieldHash8: + decoder.fieldDecoder8.Decode(ptr, iter) + case decoder.fieldHash9: + decoder.fieldDecoder9.Decode(ptr, iter) + case decoder.fieldHash10: + decoder.fieldDecoder10.Decode(ptr, iter) + default: + iter.Skip() + } + if iter.isObjectEnd() { + break + } + } + if iter.Error != nil && iter.Error != io.EOF && len(decoder.typ.Type1().Name()) != 0 { + iter.Error = fmt.Errorf("%v.%s", decoder.typ, iter.Error.Error()) + } + iter.decrementDepth() +} + +type structFieldDecoder struct { + field reflect2.StructField + fieldDecoder ValDecoder +} + +func (decoder *structFieldDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + fieldPtr := decoder.field.UnsafeGet(ptr) + decoder.fieldDecoder.Decode(fieldPtr, iter) + if iter.Error != nil && iter.Error != io.EOF { + iter.Error = fmt.Errorf("%s: %s", decoder.field.Name(), iter.Error.Error()) + } +} + +type stringModeStringDecoder struct { + elemDecoder ValDecoder + cfg *frozenConfig +} + +func (decoder *stringModeStringDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + decoder.elemDecoder.Decode(ptr, iter) + str := *((*string)(ptr)) + tempIter := decoder.cfg.BorrowIterator([]byte(str)) + defer decoder.cfg.ReturnIterator(tempIter) + *((*string)(ptr)) = tempIter.ReadString() +} + +type stringModeNumberDecoder struct { + elemDecoder ValDecoder +} + +func (decoder *stringModeNumberDecoder) Decode(ptr unsafe.Pointer, iter *Iterator) { + if iter.WhatIsNext() == NilValue { + decoder.elemDecoder.Decode(ptr, iter) + return + } + + c := iter.nextToken() + if c != '"' { + iter.ReportError("stringModeNumberDecoder", `expect ", but found `+string([]byte{c})) + return + } + decoder.elemDecoder.Decode(ptr, iter) + if iter.Error != nil { + return + } + c = iter.readByte() + if c != '"' { + iter.ReportError("stringModeNumberDecoder", `expect ", but found `+string([]byte{c})) + return + } +} diff --git a/vendor/github.com/json-iterator/go/reflect_struct_encoder.go b/vendor/github.com/json-iterator/go/reflect_struct_encoder.go new file mode 100644 index 000000000..152e3ef5a --- /dev/null +++ b/vendor/github.com/json-iterator/go/reflect_struct_encoder.go @@ -0,0 +1,211 @@ +package jsoniter + +import ( + "fmt" + "github.com/modern-go/reflect2" + "io" + "reflect" + "unsafe" +) + +func encoderOfStruct(ctx *ctx, typ reflect2.Type) ValEncoder { + type bindingTo struct { + binding *Binding + toName string + ignored bool + } + orderedBindings := []*bindingTo{} + structDescriptor := describeStruct(ctx, typ) + for _, binding := range structDescriptor.Fields { + for _, toName := range binding.ToNames { + new := &bindingTo{ + binding: binding, + toName: toName, + } + for _, old := range orderedBindings { + if old.toName != toName { + continue + } + old.ignored, new.ignored = resolveConflictBinding(ctx.frozenConfig, old.binding, new.binding) + } + orderedBindings = append(orderedBindings, new) + } + } + if len(orderedBindings) == 0 { + return &emptyStructEncoder{} + } + finalOrderedFields := []structFieldTo{} + for _, bindingTo := range orderedBindings { + if !bindingTo.ignored { + finalOrderedFields = append(finalOrderedFields, structFieldTo{ + encoder: bindingTo.binding.Encoder.(*structFieldEncoder), + toName: bindingTo.toName, + }) + } + } + return &structEncoder{typ, finalOrderedFields} +} + +func createCheckIsEmpty(ctx *ctx, typ reflect2.Type) checkIsEmpty { + encoder := createEncoderOfNative(ctx, typ) + if encoder != nil { + return encoder + } + kind := typ.Kind() + switch kind { + case reflect.Interface: + return &dynamicEncoder{typ} + case reflect.Struct: + return &structEncoder{typ: typ} + case reflect.Array: + return &arrayEncoder{} + case reflect.Slice: + return &sliceEncoder{} + case reflect.Map: + return encoderOfMap(ctx, typ) + case reflect.Ptr: + return &OptionalEncoder{} + default: + return &lazyErrorEncoder{err: fmt.Errorf("unsupported type: %v", typ)} + } +} + +func resolveConflictBinding(cfg *frozenConfig, old, new *Binding) (ignoreOld, ignoreNew bool) { + newTagged := new.Field.Tag().Get(cfg.getTagKey()) != "" + oldTagged := old.Field.Tag().Get(cfg.getTagKey()) != "" + if newTagged { + if oldTagged { + if len(old.levels) > len(new.levels) { + return true, false + } else if len(new.levels) > len(old.levels) { + return false, true + } else { + return true, true + } + } else { + return true, false + } + } else { + if oldTagged { + return true, false + } + if len(old.levels) > len(new.levels) { + return true, false + } else if len(new.levels) > len(old.levels) { + return false, true + } else { + return true, true + } + } +} + +type structFieldEncoder struct { + field reflect2.StructField + fieldEncoder ValEncoder + omitempty bool +} + +func (encoder *structFieldEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + fieldPtr := encoder.field.UnsafeGet(ptr) + encoder.fieldEncoder.Encode(fieldPtr, stream) + if stream.Error != nil && stream.Error != io.EOF { + stream.Error = fmt.Errorf("%s: %s", encoder.field.Name(), stream.Error.Error()) + } +} + +func (encoder *structFieldEncoder) IsEmpty(ptr unsafe.Pointer) bool { + fieldPtr := encoder.field.UnsafeGet(ptr) + return encoder.fieldEncoder.IsEmpty(fieldPtr) +} + +func (encoder *structFieldEncoder) IsEmbeddedPtrNil(ptr unsafe.Pointer) bool { + isEmbeddedPtrNil, converted := encoder.fieldEncoder.(IsEmbeddedPtrNil) + if !converted { + return false + } + fieldPtr := encoder.field.UnsafeGet(ptr) + return isEmbeddedPtrNil.IsEmbeddedPtrNil(fieldPtr) +} + +type IsEmbeddedPtrNil interface { + IsEmbeddedPtrNil(ptr unsafe.Pointer) bool +} + +type structEncoder struct { + typ reflect2.Type + fields []structFieldTo +} + +type structFieldTo struct { + encoder *structFieldEncoder + toName string +} + +func (encoder *structEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteObjectStart() + isNotFirst := false + for _, field := range encoder.fields { + if field.encoder.omitempty && field.encoder.IsEmpty(ptr) { + continue + } + if field.encoder.IsEmbeddedPtrNil(ptr) { + continue + } + if isNotFirst { + stream.WriteMore() + } + stream.WriteObjectField(field.toName) + field.encoder.Encode(ptr, stream) + isNotFirst = true + } + stream.WriteObjectEnd() + if stream.Error != nil && stream.Error != io.EOF { + stream.Error = fmt.Errorf("%v.%s", encoder.typ, stream.Error.Error()) + } +} + +func (encoder *structEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return false +} + +type emptyStructEncoder struct { +} + +func (encoder *emptyStructEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.WriteEmptyObject() +} + +func (encoder *emptyStructEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return false +} + +type stringModeNumberEncoder struct { + elemEncoder ValEncoder +} + +func (encoder *stringModeNumberEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + stream.writeByte('"') + encoder.elemEncoder.Encode(ptr, stream) + stream.writeByte('"') +} + +func (encoder *stringModeNumberEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.elemEncoder.IsEmpty(ptr) +} + +type stringModeStringEncoder struct { + elemEncoder ValEncoder + cfg *frozenConfig +} + +func (encoder *stringModeStringEncoder) Encode(ptr unsafe.Pointer, stream *Stream) { + tempStream := encoder.cfg.BorrowStream(nil) + tempStream.Attachment = stream.Attachment + defer encoder.cfg.ReturnStream(tempStream) + encoder.elemEncoder.Encode(ptr, tempStream) + stream.WriteString(string(tempStream.Buffer())) +} + +func (encoder *stringModeStringEncoder) IsEmpty(ptr unsafe.Pointer) bool { + return encoder.elemEncoder.IsEmpty(ptr) +} diff --git a/vendor/github.com/json-iterator/go/stream.go b/vendor/github.com/json-iterator/go/stream.go new file mode 100644 index 000000000..23d8a3ad6 --- /dev/null +++ b/vendor/github.com/json-iterator/go/stream.go @@ -0,0 +1,210 @@ +package jsoniter + +import ( + "io" +) + +// stream is a io.Writer like object, with JSON specific write functions. +// Error is not returned as return value, but stored as Error member on this stream instance. +type Stream struct { + cfg *frozenConfig + out io.Writer + buf []byte + Error error + indention int + Attachment interface{} // open for customized encoder +} + +// NewStream create new stream instance. +// cfg can be jsoniter.ConfigDefault. +// out can be nil if write to internal buffer. +// bufSize is the initial size for the internal buffer in bytes. +func NewStream(cfg API, out io.Writer, bufSize int) *Stream { + return &Stream{ + cfg: cfg.(*frozenConfig), + out: out, + buf: make([]byte, 0, bufSize), + Error: nil, + indention: 0, + } +} + +// Pool returns a pool can provide more stream with same configuration +func (stream *Stream) Pool() StreamPool { + return stream.cfg +} + +// Reset reuse this stream instance by assign a new writer +func (stream *Stream) Reset(out io.Writer) { + stream.out = out + stream.buf = stream.buf[:0] +} + +// Available returns how many bytes are unused in the buffer. +func (stream *Stream) Available() int { + return cap(stream.buf) - len(stream.buf) +} + +// Buffered returns the number of bytes that have been written into the current buffer. +func (stream *Stream) Buffered() int { + return len(stream.buf) +} + +// Buffer if writer is nil, use this method to take the result +func (stream *Stream) Buffer() []byte { + return stream.buf +} + +// SetBuffer allows to append to the internal buffer directly +func (stream *Stream) SetBuffer(buf []byte) { + stream.buf = buf +} + +// Write writes the contents of p into the buffer. +// It returns the number of bytes written. +// If nn < len(p), it also returns an error explaining +// why the write is short. +func (stream *Stream) Write(p []byte) (nn int, err error) { + stream.buf = append(stream.buf, p...) + if stream.out != nil { + nn, err = stream.out.Write(stream.buf) + stream.buf = stream.buf[nn:] + return + } + return len(p), nil +} + +// WriteByte writes a single byte. +func (stream *Stream) writeByte(c byte) { + stream.buf = append(stream.buf, c) +} + +func (stream *Stream) writeTwoBytes(c1 byte, c2 byte) { + stream.buf = append(stream.buf, c1, c2) +} + +func (stream *Stream) writeThreeBytes(c1 byte, c2 byte, c3 byte) { + stream.buf = append(stream.buf, c1, c2, c3) +} + +func (stream *Stream) writeFourBytes(c1 byte, c2 byte, c3 byte, c4 byte) { + stream.buf = append(stream.buf, c1, c2, c3, c4) +} + +func (stream *Stream) writeFiveBytes(c1 byte, c2 byte, c3 byte, c4 byte, c5 byte) { + stream.buf = append(stream.buf, c1, c2, c3, c4, c5) +} + +// Flush writes any buffered data to the underlying io.Writer. +func (stream *Stream) Flush() error { + if stream.out == nil { + return nil + } + if stream.Error != nil { + return stream.Error + } + _, err := stream.out.Write(stream.buf) + if err != nil { + if stream.Error == nil { + stream.Error = err + } + return err + } + stream.buf = stream.buf[:0] + return nil +} + +// WriteRaw write string out without quotes, just like []byte +func (stream *Stream) WriteRaw(s string) { + stream.buf = append(stream.buf, s...) +} + +// WriteNil write null to stream +func (stream *Stream) WriteNil() { + stream.writeFourBytes('n', 'u', 'l', 'l') +} + +// WriteTrue write true to stream +func (stream *Stream) WriteTrue() { + stream.writeFourBytes('t', 'r', 'u', 'e') +} + +// WriteFalse write false to stream +func (stream *Stream) WriteFalse() { + stream.writeFiveBytes('f', 'a', 'l', 's', 'e') +} + +// WriteBool write true or false into stream +func (stream *Stream) WriteBool(val bool) { + if val { + stream.WriteTrue() + } else { + stream.WriteFalse() + } +} + +// WriteObjectStart write { with possible indention +func (stream *Stream) WriteObjectStart() { + stream.indention += stream.cfg.indentionStep + stream.writeByte('{') + stream.writeIndention(0) +} + +// WriteObjectField write "field": with possible indention +func (stream *Stream) WriteObjectField(field string) { + stream.WriteString(field) + if stream.indention > 0 { + stream.writeTwoBytes(':', ' ') + } else { + stream.writeByte(':') + } +} + +// WriteObjectEnd write } with possible indention +func (stream *Stream) WriteObjectEnd() { + stream.writeIndention(stream.cfg.indentionStep) + stream.indention -= stream.cfg.indentionStep + stream.writeByte('}') +} + +// WriteEmptyObject write {} +func (stream *Stream) WriteEmptyObject() { + stream.writeByte('{') + stream.writeByte('}') +} + +// WriteMore write , with possible indention +func (stream *Stream) WriteMore() { + stream.writeByte(',') + stream.writeIndention(0) +} + +// WriteArrayStart write [ with possible indention +func (stream *Stream) WriteArrayStart() { + stream.indention += stream.cfg.indentionStep + stream.writeByte('[') + stream.writeIndention(0) +} + +// WriteEmptyArray write [] +func (stream *Stream) WriteEmptyArray() { + stream.writeTwoBytes('[', ']') +} + +// WriteArrayEnd write ] with possible indention +func (stream *Stream) WriteArrayEnd() { + stream.writeIndention(stream.cfg.indentionStep) + stream.indention -= stream.cfg.indentionStep + stream.writeByte(']') +} + +func (stream *Stream) writeIndention(delta int) { + if stream.indention == 0 { + return + } + stream.writeByte('\n') + toWrite := stream.indention - delta + for i := 0; i < toWrite; i++ { + stream.buf = append(stream.buf, ' ') + } +} diff --git a/vendor/github.com/json-iterator/go/stream_float.go b/vendor/github.com/json-iterator/go/stream_float.go new file mode 100644 index 000000000..826aa594a --- /dev/null +++ b/vendor/github.com/json-iterator/go/stream_float.go @@ -0,0 +1,111 @@ +package jsoniter + +import ( + "fmt" + "math" + "strconv" +) + +var pow10 []uint64 + +func init() { + pow10 = []uint64{1, 10, 100, 1000, 10000, 100000, 1000000} +} + +// WriteFloat32 write float32 to stream +func (stream *Stream) WriteFloat32(val float32) { + if math.IsInf(float64(val), 0) || math.IsNaN(float64(val)) { + stream.Error = fmt.Errorf("unsupported value: %f", val) + return + } + abs := math.Abs(float64(val)) + fmt := byte('f') + // Note: Must use float32 comparisons for underlying float32 value to get precise cutoffs right. + if abs != 0 { + if float32(abs) < 1e-6 || float32(abs) >= 1e21 { + fmt = 'e' + } + } + stream.buf = strconv.AppendFloat(stream.buf, float64(val), fmt, -1, 32) +} + +// WriteFloat32Lossy write float32 to stream with ONLY 6 digits precision although much much faster +func (stream *Stream) WriteFloat32Lossy(val float32) { + if math.IsInf(float64(val), 0) || math.IsNaN(float64(val)) { + stream.Error = fmt.Errorf("unsupported value: %f", val) + return + } + if val < 0 { + stream.writeByte('-') + val = -val + } + if val > 0x4ffffff { + stream.WriteFloat32(val) + return + } + precision := 6 + exp := uint64(1000000) // 6 + lval := uint64(float64(val)*float64(exp) + 0.5) + stream.WriteUint64(lval / exp) + fval := lval % exp + if fval == 0 { + return + } + stream.writeByte('.') + for p := precision - 1; p > 0 && fval < pow10[p]; p-- { + stream.writeByte('0') + } + stream.WriteUint64(fval) + for stream.buf[len(stream.buf)-1] == '0' { + stream.buf = stream.buf[:len(stream.buf)-1] + } +} + +// WriteFloat64 write float64 to stream +func (stream *Stream) WriteFloat64(val float64) { + if math.IsInf(val, 0) || math.IsNaN(val) { + stream.Error = fmt.Errorf("unsupported value: %f", val) + return + } + abs := math.Abs(val) + fmt := byte('f') + // Note: Must use float32 comparisons for underlying float32 value to get precise cutoffs right. + if abs != 0 { + if abs < 1e-6 || abs >= 1e21 { + fmt = 'e' + } + } + stream.buf = strconv.AppendFloat(stream.buf, float64(val), fmt, -1, 64) +} + +// WriteFloat64Lossy write float64 to stream with ONLY 6 digits precision although much much faster +func (stream *Stream) WriteFloat64Lossy(val float64) { + if math.IsInf(val, 0) || math.IsNaN(val) { + stream.Error = fmt.Errorf("unsupported value: %f", val) + return + } + if val < 0 { + stream.writeByte('-') + val = -val + } + if val > 0x4ffffff { + stream.WriteFloat64(val) + return + } + precision := 6 + exp := uint64(1000000) // 6 + lval := uint64(val*float64(exp) + 0.5) + stream.WriteUint64(lval / exp) + fval := lval % exp + if fval == 0 { + return + } + stream.writeByte('.') + for p := precision - 1; p > 0 && fval < pow10[p]; p-- { + stream.writeByte('0') + } + stream.WriteUint64(fval) + for stream.buf[len(stream.buf)-1] == '0' { + stream.buf = stream.buf[:len(stream.buf)-1] + } +} diff --git a/vendor/github.com/json-iterator/go/stream_int.go b/vendor/github.com/json-iterator/go/stream_int.go new file mode 100644 index 000000000..d1059ee4c --- /dev/null +++ b/vendor/github.com/json-iterator/go/stream_int.go @@ -0,0 +1,190 @@ +package jsoniter + +var digits []uint32 + +func init() { + digits = make([]uint32, 1000) + for i := uint32(0); i < 1000; i++ { + digits[i] = (((i / 100) + '0') << 16) + ((((i / 10) % 10) + '0') << 8) + i%10 + '0' + if i < 10 { + digits[i] += 2 << 24 + } else if i < 100 { + digits[i] += 1 << 24 + } + } +} + +func writeFirstBuf(space []byte, v uint32) []byte { + start := v >> 24 + if start == 0 { + space = append(space, byte(v>>16), byte(v>>8)) + } else if start == 1 { + space = append(space, byte(v>>8)) + } + space = append(space, byte(v)) + return space +} + +func writeBuf(buf []byte, v uint32) []byte { + return append(buf, byte(v>>16), byte(v>>8), byte(v)) +} + +// WriteUint8 write uint8 to stream +func (stream *Stream) WriteUint8(val uint8) { + stream.buf = writeFirstBuf(stream.buf, digits[val]) +} + +// WriteInt8 write int8 to stream +func (stream *Stream) WriteInt8(nval int8) { + var val uint8 + if nval < 0 { + val = uint8(-nval) + stream.buf = append(stream.buf, '-') + } else { + val = uint8(nval) + } + stream.buf = writeFirstBuf(stream.buf, digits[val]) +} + +// WriteUint16 write uint16 to stream +func (stream *Stream) WriteUint16(val uint16) { + q1 := val / 1000 + if q1 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[val]) + return + } + r1 := val - q1*1000 + stream.buf = writeFirstBuf(stream.buf, digits[q1]) + stream.buf = writeBuf(stream.buf, digits[r1]) + return +} + +// WriteInt16 write int16 to stream +func (stream *Stream) WriteInt16(nval int16) { + var val uint16 + if nval < 0 { + val = uint16(-nval) + stream.buf = append(stream.buf, '-') + } else { + val = uint16(nval) + } + stream.WriteUint16(val) +} + +// WriteUint32 write uint32 to stream +func (stream *Stream) WriteUint32(val uint32) { + q1 := val / 1000 + if q1 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[val]) + return + } + r1 := val - q1*1000 + q2 := q1 / 1000 + if q2 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[q1]) + stream.buf = writeBuf(stream.buf, digits[r1]) + return + } + r2 := q1 - q2*1000 + q3 := q2 / 1000 + if q3 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[q2]) + } else { + r3 := q2 - q3*1000 + stream.buf = append(stream.buf, byte(q3+'0')) + stream.buf = writeBuf(stream.buf, digits[r3]) + } + stream.buf = writeBuf(stream.buf, digits[r2]) + stream.buf = writeBuf(stream.buf, digits[r1]) +} + +// WriteInt32 write int32 to stream +func (stream *Stream) WriteInt32(nval int32) { + var val uint32 + if nval < 0 { + val = uint32(-nval) + stream.buf = append(stream.buf, '-') + } else { + val = uint32(nval) + } + stream.WriteUint32(val) +} + +// WriteUint64 write uint64 to stream +func (stream *Stream) WriteUint64(val uint64) { + q1 := val / 1000 + if q1 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[val]) + return + } + r1 := val - q1*1000 + q2 := q1 / 1000 + if q2 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[q1]) + stream.buf = writeBuf(stream.buf, digits[r1]) + return + } + r2 := q1 - q2*1000 + q3 := q2 / 1000 + if q3 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[q2]) + stream.buf = writeBuf(stream.buf, digits[r2]) + stream.buf = writeBuf(stream.buf, digits[r1]) + return + } + r3 := q2 - q3*1000 + q4 := q3 / 1000 + if q4 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[q3]) + stream.buf = writeBuf(stream.buf, digits[r3]) + stream.buf = writeBuf(stream.buf, digits[r2]) + stream.buf = writeBuf(stream.buf, digits[r1]) + return + } + r4 := q3 - q4*1000 + q5 := q4 / 1000 + if q5 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[q4]) + stream.buf = writeBuf(stream.buf, digits[r4]) + stream.buf = writeBuf(stream.buf, digits[r3]) + stream.buf = writeBuf(stream.buf, digits[r2]) + stream.buf = writeBuf(stream.buf, digits[r1]) + return + } + r5 := q4 - q5*1000 + q6 := q5 / 1000 + if q6 == 0 { + stream.buf = writeFirstBuf(stream.buf, digits[q5]) + } else { + stream.buf = writeFirstBuf(stream.buf, digits[q6]) + r6 := q5 - q6*1000 + stream.buf = writeBuf(stream.buf, digits[r6]) + } + stream.buf = writeBuf(stream.buf, digits[r5]) + stream.buf = writeBuf(stream.buf, digits[r4]) + stream.buf = writeBuf(stream.buf, digits[r3]) + stream.buf = writeBuf(stream.buf, digits[r2]) + stream.buf = writeBuf(stream.buf, digits[r1]) +} + +// WriteInt64 write int64 to stream +func (stream *Stream) WriteInt64(nval int64) { + var val uint64 + if nval < 0 { + val = uint64(-nval) + stream.buf = append(stream.buf, '-') + } else { + val = uint64(nval) + } + stream.WriteUint64(val) +} + +// WriteInt write int to stream +func (stream *Stream) WriteInt(val int) { + stream.WriteInt64(int64(val)) +} + +// WriteUint write uint to stream +func (stream *Stream) WriteUint(val uint) { + stream.WriteUint64(uint64(val)) +} diff --git a/vendor/github.com/json-iterator/go/stream_str.go b/vendor/github.com/json-iterator/go/stream_str.go new file mode 100644 index 000000000..54c2ba0b3 --- /dev/null +++ b/vendor/github.com/json-iterator/go/stream_str.go @@ -0,0 +1,372 @@ +package jsoniter + +import ( + "unicode/utf8" +) + +// htmlSafeSet holds the value true if the ASCII character with the given +// array position can be safely represented inside a JSON string, embedded +// inside of HTML

\ No newline at end of file +VM UI
\ No newline at end of file diff --git a/app/vmselect/vmui/static/css/main.5c28f4a7.css b/app/vmselect/vmui/static/css/main.5c28f4a7.css new file mode 100644 index 000000000..c1eccbb9d --- /dev/null +++ b/app/vmselect/vmui/static/css/main.5c28f4a7.css @@ -0,0 +1 @@ +.vm-tabs{gap:16px;height:100%;position:relative;-webkit-user-select:none;user-select:none}.vm-tabs,.vm-tabs-item{align-items:center;display:flex;justify-content:center}.vm-tabs-item{color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;opacity:.6;padding:16px 8px;text-decoration:none;text-transform:uppercase;transition:opacity .2s}.vm-tabs-item_active{opacity:1}.vm-tabs-item:hover{opacity:.8}.vm-tabs-item__icon{display:grid;margin-right:8px;width:15px}.vm-tabs-item__icon_single{margin-right:0}.vm-tabs__indicator{border-bottom:2px solid;position:absolute;transition:width .2s ease,left .3s cubic-bezier(.28,.84,.42,1)}.vm-alert{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text);display:grid;font-size:14px;font-weight:400;gap:8px;grid-template-columns:20px 1fr;line-height:20px;padding:16px;position:relative}.vm-alert_mobile{align-items:flex-start;border-radius:0}.vm-alert:after{border-radius:8px;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%;z-index:1}.vm-alert_mobile:after{border-radius:0}.vm-alert__content,.vm-alert__icon{position:relative;z-index:2}.vm-alert__icon{align-items:center;display:flex;justify-content:center}.vm-alert__content{-webkit-filter:brightness(.6);filter:brightness(.6);white-space:pre-line}.vm-alert_success{color:var(--color-success)}.vm-alert_success:after{background-color:var(--color-success)}.vm-alert_error{color:var(--color-error)}.vm-alert_error:after{background-color:var(--color-error)}.vm-alert_info{color:var(--color-info)}.vm-alert_info:after{background-color:var(--color-info)}.vm-alert_warning{color:var(--color-warning)}.vm-alert_warning:after{background-color:var(--color-warning)}.vm-alert_dark:after{opacity:.1}.vm-alert_dark .vm-alert__content{-webkit-filter:none;filter:none}.vm-header{align-items:center;display:flex;flex-wrap:wrap;gap:0 48px;justify-content:flex-start;min-height:51px;padding:8px 24px;z-index:99}.vm-header_app{padding:8px 0}@media(max-width:1000px){.vm-header{gap:8px;padding:8px;position:-webkit-sticky;position:sticky;top:0}}.vm-header_mobile{display:grid;grid-template-columns:33px 1fr 33px;justify-content:space-between}.vm-header_dark .vm-header-button,.vm-header_dark button,.vm-header_dark button:before{background-color:var(--color-background-block)}.vm-header-logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;margin-bottom:2px;max-width:65px;min-width:65px;overflow:hidden;position:relative;width:100%}@media(max-width:1200px){.vm-header-logo{max-width:14px;min-width:14px}}.vm-header-logo svg,.vm-header-logo_mobile{max-width:65px;min-width:65px}.vm-header-logo_mobile{margin:0 auto}.vm-header-nav{align-items:center;display:flex;font-size:10px;font-weight:700;gap:16px;justify-content:flex-start}.vm-header-nav_column{align-items:stretch;flex-direction:column;gap:8px}.vm-header-nav_column .vm-header-nav-item{padding:16px 0}.vm-header-nav_column .vm-header-nav-item_sub{justify-content:stretch}.vm-header-nav-item{cursor:pointer;opacity:.5;padding:16px 8px;position:relative;text-transform:uppercase;transition:opacity .2s ease-in}.vm-header-nav-item_sub{grid-gap:4px;align-items:center;cursor:default;display:grid;gap:4px;grid-template-columns:auto 14px;justify-content:center}.vm-header-nav-item:hover,.vm-header-nav-item_active{opacity:1}.vm-header-nav-item svg{-webkit-transform:rotate(0deg);transform:rotate(0deg);transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-header-nav-item_open svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-header-nav-item-submenu{border-radius:2px;color:#fff;display:grid;font-size:10px;font-weight:700;opacity:1;padding:8px;-webkit-transform-origin:top center;transform-origin:top center;white-space:nowrap}.vm-header-nav-item-submenu-item{cursor:pointer}.vm-popper{background-color:var(--color-background-block);border-radius:4px;box-shadow:var(--box-shadow-popper);opacity:0;pointer-events:none;position:fixed;transition:opacity .1s ease-in-out;z-index:-99}.vm-popper_open{-webkit-animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);opacity:1;pointer-events:auto;-webkit-transform-origin:top center;transform-origin:top center;z-index:101}.vm-popper_mobile{-webkit-animation:none;animation:none;border-radius:0;bottom:0;left:0;overflow:auto;position:fixed;right:0;top:0;width:100%}.vm-popper-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:16px;min-height:51px;padding:8px 8px 8px 16px}.vm-popper-header__title{font-weight:700;-webkit-user-select:none;user-select:none}@-webkit-keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}.vm-modal{align-items:center;background:hsla(0,6%,6%,.55);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.vm-modal_mobile{align-items:flex-start;max-height:calc(var(--vh)*100);min-height:calc(var(--vh)*100);overflow:auto}.vm-modal_mobile .vm-modal-content{border-radius:0;grid-template-rows:70px -webkit-max-content;grid-template-rows:70px max-content;max-height:-webkit-max-content;max-height:max-content;min-height:100%;overflow:visible;width:100vw}.vm-modal_mobile .vm-modal-content-header{margin-bottom:16px;padding:8px 8px 8px 16px}.vm-modal_mobile .vm-modal-content-body{align-items:flex-start;display:grid;min-height:100%;padding:0 16px 22px}.vm-modal-content{align-items:flex-start;background:var(--color-background-block);border-radius:4px;box-shadow:0 0 24px hsla(0,6%,6%,.07);display:grid;grid-template-rows:auto 1fr;max-height:calc(var(--vh)*90);overflow:auto}.vm-modal-content-header{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;margin-bottom:22px;min-height:51px;padding:16px 22px;position:-webkit-sticky;position:sticky;top:0;z-index:3}.vm-modal-content-header__title{font-weight:700;-webkit-user-select:none;user-select:none}.vm-modal-content-header__close{align-items:center;box-sizing:initial;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px;width:24px}.vm-modal-content-body{padding:0 22px 22px}.vm-shortcuts{min-width:400px}@media(max-width:500px){.vm-shortcuts{min-width:100%}}.vm-shortcuts-section{margin-bottom:24px}.vm-shortcuts-section__title{border-bottom:var(--border-divider);font-weight:700;margin-bottom:16px;padding:8px 0}.vm-shortcuts-section-list{grid-gap:16px;display:grid;gap:16px}@media(max-width:500px){.vm-shortcuts-section-list{gap:24px}}.vm-shortcuts-section-list-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:210px 1fr}@media(max-width:500px){.vm-shortcuts-section-list-item{grid-template-columns:1fr}}.vm-shortcuts-section-list-item__key{align-items:center;display:flex;gap:4px}.vm-shortcuts-section-list-item__key code{background-color:var(--color-background-body);background-repeat:repeat-x;border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-block;font-size:10px;line-height:2;padding:2px 8px 0;text-align:center}.vm-shortcuts-section-list-item__description{font-size:12px}.vm-tooltip{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);background-color:var(--color-background-tooltip);border-radius:4px;box-shadow:var(--box-shadow-popper);color:#fff;font-size:10px;line-height:150%;opacity:1;padding:3px 8px;pointer-events:auto;position:fixed;transition:opacity .1s ease-in-out;white-space:nowrap;z-index:101}@-webkit-keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}.vm-menu-burger{background:none;border:none;cursor:pointer;height:18px;outline:none;padding:0;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;width:18px}.vm-menu-burger:after{background-color:hsla(0,6%,6%,.1);border-radius:50%;content:"";height:calc(100% + 12px);left:-6px;position:absolute;top:-6px;-webkit-transform:scale(0) translateZ(-2px);transform:scale(0) translateZ(-2px);transition:-webkit-transform .14s ease-in-out;transition:transform .14s ease-in-out;transition:transform .14s ease-in-out,-webkit-transform .14s ease-in-out;width:calc(100% + 12px)}.vm-menu-burger:hover:after{-webkit-transform:scale(1) translateZ(-2px);transform:scale(1) translateZ(-2px)}.vm-menu-burger span{border-top:2px solid #fff;display:block;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:border-color .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,border-color .3s ease;transition:transform .3s ease,border-color .3s ease,-webkit-transform .3s ease}.vm-menu-burger span,.vm-menu-burger span:after,.vm-menu-burger span:before{border-radius:6px;height:2px;left:0;position:absolute;width:100%}.vm-menu-burger span:after,.vm-menu-burger span:before{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.645,.045,.355,1);animation-timing-function:cubic-bezier(.645,.045,.355,1);background:#fff;content:"";top:0}.vm-menu-burger span:before{-webkit-animation-name:topLineBurger;animation-name:topLineBurger}.vm-menu-burger span:after{-webkit-animation-name:bottomLineBurger;animation-name:bottomLineBurger}.vm-menu-burger_opened span{border-color:transparent}.vm-menu-burger_opened span:before{-webkit-animation-name:topLineCross;animation-name:topLineCross}.vm-menu-burger_opened span:after{-webkit-animation-name:bottomLineCross;animation-name:bottomLineCross}@-webkit-keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@-webkit-keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@-webkit-keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@-webkit-keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}@keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}.vm-header-sidebar{background-color:inherit;color:inherit;height:24px;width:24px}.vm-header-sidebar-button{align-items:center;display:flex;height:51px;justify-content:center;left:0;position:absolute;top:0;transition:left .35s cubic-bezier(.28,.84,.42,1);width:51px}.vm-header-sidebar-button_open{left:149px;position:fixed;z-index:102}.vm-header-sidebar-menu{grid-gap:16px;background-color:inherit;box-shadow:var(--box-shadow-popper);display:grid;gap:16px;grid-template-rows:1fr auto;height:100%;left:0;padding:16px;position:fixed;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1),-webkit-transform .3s cubic-bezier(.28,.84,.42,1);width:200px;z-index:101}.vm-header-sidebar-menu_open{-webkit-transform:translateX(0);transform:translateX(0)}.vm-header-sidebar-menu__logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;position:relative;width:65px}.vm-header-sidebar-menu-settings{grid-gap:8px;align-items:center;display:grid;gap:8px}.vm-tenant-input{position:relative}.vm-tenant-input-list{border-radius:8px;max-height:300px;overflow:auto;overscroll-behavior:none}.vm-tenant-input-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-tenant-input-list_mobile .vm-tenant-input-list__search{padding:0 16px 8px}.vm-tenant-input-list__search{background-color:var(--color-background-block);padding:8px 16px;position:-webkit-sticky;position:sticky;top:0}.vm-text-field{display:grid;margin:6px 0;position:relative;width:100%}.vm-text-field_textarea:after{content:attr(data-replicated-value) " ";visibility:hidden;white-space:pre-wrap}.vm-text-field:after,.vm-text-field__input{background-color:transparent;border:var(--border-divider);font-size:12px;grid-area:1/1/2/2;line-height:18px;overflow:hidden;padding:8px 16px;width:100%}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;background-color:var(--color-background-block);display:-webkit-box;font-size:10px;left:8px;line-height:12px;max-width:calc(100% - 16px);overflow:hidden;padding:0 3px;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;z-index:2}@media(max-width:500px){.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label{-webkit-line-clamp:1;line-clamp:1}}.vm-text-field__label{color:var(--color-text-secondary);top:-7px}.vm-text-field__error{color:var(--color-error);top:calc(100% - 7px)}.vm-text-field__helper-text{bottom:-5px;color:var(--color-text-secondary)}.vm-text-field__input{background-color:transparent;border-radius:4px;color:var(--color-text);display:block;min-height:34px;overflow:hidden;resize:none;transition:border .2s ease}.vm-text-field__input:focus,.vm-text-field__input:hover{border:1px solid var(--color-primary)}.vm-text-field__input_error,.vm-text-field__input_error:focus,.vm-text-field__input_error:hover{border:1px solid var(--color-error)}.vm-text-field__input_icon-start{padding-left:31px}.vm-text-field__input:disabled{background-color:inherit;color:inherit}.vm-text-field__input:disabled:hover{border-color:var(--color-text-disabled)}.vm-text-field__icon-end,.vm-text-field__icon-start{align-items:center;color:var(--color-text-secondary);display:flex;height:100%;justify-content:center;left:8px;max-width:15px;position:absolute;top:auto}.vm-text-field__icon-end{left:auto;right:8px}.vm-step-control{display:inline-flex}.vm-step-control button{text-transform:none}.vm-step-control__value{display:inline;margin-left:3px}.vm-step-control-popper{grid-gap:8px;display:grid;font-size:12px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:16px}.vm-step-control-popper_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 16px 8px}.vm-step-control-popper_mobile .vm-step-control-popper-info{font-size:12px}.vm-step-control-popper-info{font-size:10px;line-height:1.6}.vm-step-control-popper-info a{margin:0 .2em}.vm-step-control-popper-info code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;margin:0 .2em;padding:.2em .4em}.vm-time-duration{font-size:12px;max-height:200px;overflow:auto}.vm-time-duration_mobile{max-height:100%}.vm-calendar{background-color:var(--color-background-block);border-radius:8px;display:grid;font-size:12px;grid-template-rows:auto 1fr auto;padding:16px;-webkit-user-select:none;user-select:none}.vm-calendar_mobile{padding:0 16px}.vm-calendar__tabs{border-top:var(--border-divider);margin:16px -16px -16px}.vm-calendar-header{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:center;min-height:36px;padding-bottom:16px}.vm-calendar-header-left{grid-gap:8px;align-items:center;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto auto;justify-content:flex-start;transition:opacity .2s ease-in-out}.vm-calendar-header-left:hover{opacity:.8}.vm-calendar-header-left__date{color:var(--color-text);font-size:12px;font-weight:700}.vm-calendar-header-left__select-year{align-items:center;display:grid;height:14px;justify-content:center;width:14px}.vm-calendar-header-right{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:18px 18px;justify-content:center}.vm-calendar-header-right__next,.vm-calendar-header-right__prev{cursor:pointer;margin:-8px;padding:8px;transition:opacity .2s ease-in-out}.vm-calendar-header-right__next:hover,.vm-calendar-header-right__prev:hover{opacity:.8}.vm-calendar-header-right__prev{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.vm-calendar-header-right__next{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.vm-calendar-body{grid-gap:2px;align-items:center;display:grid;gap:2px;grid-template-columns:repeat(7,32px);grid-template-rows:repeat(6,32px);justify-content:center}@media(max-width:500px){.vm-calendar-body{grid-template-columns:repeat(7,calc(14.28571vw - 6.28571px));grid-template-rows:repeat(6,calc(14.28571vw - 6px))}}.vm-calendar-body-cell{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;text-align:center}.vm-calendar-body-cell_weekday{color:var(--color-text-secondary)}.vm-calendar-body-cell_day{cursor:pointer;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-body-cell_day:hover{background-color:var(--color-hover-black)}.vm-calendar-body-cell_day_empty{pointer-events:none}.vm-calendar-body-cell_day_active{color:#fff}.vm-calendar-body-cell_day_active,.vm-calendar-body-cell_day_active:hover{background-color:var(--color-primary)}.vm-calendar-body-cell_day_today{border:1px solid var(--color-primary)}.vm-calendar-years{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:400px;overflow:auto}.vm-calendar-years__year{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px 16px;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-years__year:hover{background-color:var(--color-hover-black)}.vm-calendar-years__year_selected{color:#fff}.vm-calendar-years__year_selected,.vm-calendar-years__year_selected:hover{background-color:var(--color-primary)}.vm-calendar-time-picker{align-items:center;display:flex;flex-direction:column;justify-content:center}.vm-calendar-time-picker-clock{border:var(--border-divider);border-radius:50%;box-shadow:var(--box-shadow);box-sizing:initial;height:230px;position:relative;width:230px}.vm-calendar-time-picker-clock:after{background-color:var(--color-primary);border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:6px}.vm-calendar-time-picker-clock__arrow{background-color:var(--color-primary);height:107px;left:114px;margin-top:8px;opacity:.8;position:absolute;top:0;-webkit-transform-origin:bottom;transform-origin:bottom;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:2px;z-index:0}.vm-calendar-time-picker-clock__arrow_offset{height:73px;margin-top:42px;z-index:2}.vm-calendar-time-picker-clock__arrow:after{background-color:var(--color-primary);border-radius:50%;content:"";height:30px;left:50%;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:30px}.vm-calendar-time-picker-clock__time{align-items:flex-start;cursor:pointer;display:flex;height:115px;justify-content:center;left:100px;padding-top:8px;position:absolute;text-align:center;top:0;-webkit-transform-origin:bottom;transform-origin:bottom;width:30px;z-index:1}.vm-calendar-time-picker-clock__time_hide{display:none}.vm-calendar-time-picker-clock__time_offset{height:73px;margin-top:42px;padding:0;z-index:2}.vm-calendar-time-picker-clock__time:hover span{background-color:hsla(0,6%,6%,.1)}.vm-calendar-time-picker-clock__time span{align-items:center;border-radius:50%;display:grid;justify-content:center;min-height:30px;min-width:30px;position:relative;-webkit-transform-origin:center;transform-origin:center;transition:background-color .3s ease}.vm-calendar-time-picker-fields{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.vm-calendar-time-picker-fields_dark .vm-calendar-time-picker-fields__input{border-color:var(--color-text-disabled)}.vm-calendar-time-picker-fields span{margin:0 8px}.vm-calendar-time-picker-fields__input{background-color:transparent;border:var(--border-divider);border-radius:4px;color:var(--color-text);font-size:14px;height:32px;padding:2px 8px;text-align:center;width:64px}.vm-calendar-time-picker-fields__input:focus{border-color:var(--color-primary)}.vm-time-selector{display:grid;grid-template-columns:repeat(2,230px);padding:16px 0}.vm-time-selector_mobile{grid-template-columns:1fr;max-height:calc(var(--vh)*100 - 70px);min-width:250px;overflow:auto;width:100%}.vm-time-selector_mobile .vm-time-selector-left{border-bottom:var(--border-divider);border-right:none;padding-bottom:16px}.vm-time-selector-left{border-right:var(--border-divider);display:flex;flex-direction:column;gap:8px;padding:0 16px}.vm-time-selector-left-inputs{align-items:flex-start;display:grid;flex-grow:1;justify-content:stretch}.vm-time-selector-left-inputs_dark .vm-time-selector-left-inputs__date{border-color:var(--color-text-disabled)}.vm-time-selector-left-inputs__date{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);cursor:pointer;display:grid;gap:8px;grid-template-columns:1fr 14px;justify-content:center;margin-bottom:16px;padding-bottom:8px;transition:color .2s ease-in-out,border-bottom-color .3s ease}.vm-time-selector-left-inputs__date:last-child{margin-bottom:0}.vm-time-selector-left-inputs__date:hover{border-bottom-color:var(--color-primary)}.vm-time-selector-left-inputs__date:hover,.vm-time-selector-left-inputs__date:hover svg{color:var(--color-primary)}.vm-time-selector-left-inputs__date label{color:var(--color-text-secondary);font-size:10px;grid-column:1/3;-webkit-user-select:none;user-select:none}.vm-time-selector-left-inputs__date svg{color:var(--color-text-secondary);transition:color .2s ease-in-out}.vm-time-selector-left-timezone{align-items:center;display:flex;font-size:10px;gap:8px;justify-content:space-between;margin-bottom:8px}.vm-time-selector-left-timezone__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-time-selector-left__controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.vm-button{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:400;justify-content:center;line-height:15px;min-height:31px;padding:6px 14px;position:relative;text-transform:uppercase;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-button:hover:after{background-color:var(--color-hover-black)}.vm-button:after,.vm-button:before{border-radius:6px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .2s ease;width:100%}.vm-button:before{-webkit-transform:translateZ(-2px);transform:translateZ(-2px)}.vm-button:after{background-color:transparent;-webkit-transform:translateZ(-1px);transform:translateZ(-1px)}.vm-button span{align-items:center;display:grid;justify-content:center}.vm-button span svg{width:15px}.vm-button__start-icon{margin-right:6px}.vm-button__end-icon{margin-left:6px}.vm-button_disabled{cursor:not-allowed;opacity:.3}.vm-button_icon{padding:6px 8px}.vm-button_icon .vm-button__end-icon,.vm-button_icon .vm-button__start-icon{margin:0}.vm-button_small{min-height:25px;padding:4px 6px}.vm-button_small span svg{width:13px}.vm-button_contained_primary{color:var(--color-primary-text)}.vm-button_contained_primary,.vm-button_contained_primary:before{background-color:var(--color-primary)}.vm-button_contained_primary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_secondary{color:var(--color-secondary-text)}.vm-button_contained_secondary:before{background-color:var(--color-secondary)}.vm-button_contained_secondary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_success{color:var(--color-success-text)}.vm-button_contained_success:before{background-color:var(--color-success)}.vm-button_contained_success:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_error{color:var(--color-error-text)}.vm-button_contained_error:before{background-color:var(--color-error)}.vm-button_contained_gray{color:var(--color-text-secondary)}.vm-button_contained_gray:before{background-color:var(--color-text-secondary)}.vm-button_contained_warning{color:var(--color-warning)}.vm-button_contained_warning:before{background-color:var(--color-warning);opacity:.2}.vm-button_text_primary{color:var(--color-primary)}.vm-button_text_secondary{color:var(--color-secondary)}.vm-button_text_success{color:var(--color-success)}.vm-button_text_error{color:var(--color-error)}.vm-button_text_gray{color:var(--color-text-secondary)}.vm-button_text_warning{color:var(--color-warning)}.vm-button_outlined_primary{border:1px solid var(--color-primary);color:var(--color-primary)}.vm-button_outlined_error{border:1px solid var(--color-error);color:var(--color-error)}.vm-button_outlined_secondary{border:1px solid var(--color-secondary);color:var(--color-secondary)}.vm-button_outlined_success{border:1px solid var(--color-success);color:var(--color-success)}.vm-button_outlined_gray{border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.vm-button_outlined_warning{border:1px solid var(--color-warning);color:var(--color-warning)}.vm-execution-controls-buttons{border-radius:7px;display:flex;justify-content:space-between;min-width:107px}.vm-execution-controls-buttons_mobile{flex-direction:column;gap:24px}.vm-execution-controls-buttons__arrow{align-items:center;display:flex;justify-content:center;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-execution-controls-buttons__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-execution-controls-list{font-size:12px;max-height:208px;overflow:auto;padding:8px 0;width:124px}.vm-execution-controls-list_mobile{max-height:calc(var(--vh)*100 - 70px);padding:0;width:100%}.vm-server-configurator{align-items:center;display:flex;flex-direction:column;gap:24px;padding-bottom:24px;width:600px}.vm-server-configurator_mobile{align-items:flex-start;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;height:100%;width:100%}@media(max-width:768px){.vm-server-configurator{width:100%}}.vm-server-configurator__input{width:100%}.vm-server-configurator__title{align-items:center;display:flex;font-size:12px;font-weight:700;grid-column:auto/span 2;justify-content:flex-start;margin-bottom:16px}.vm-limits-configurator-title__reset{align-items:center;display:flex;flex-grow:1;justify-content:flex-end}.vm-limits-configurator__inputs{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.vm-limits-configurator__inputs_mobile{gap:8px}.vm-limits-configurator__inputs div{flex-grow:1}.vm-accordion-header{align-items:center;cursor:pointer;display:grid;font-size:inherit;position:relative}.vm-accordion-header__arrow{align-items:center;display:flex;justify-content:center;position:absolute;right:14px;top:auto;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-accordion-header__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-accordion-header__arrow svg{height:auto;width:14px}.accordion-section{overflow:hidden}.vm-timezones-item{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between}.vm-timezones-item_selected{border:var(--border-divider);border-radius:4px;padding:8px 16px}.vm-timezones-item__title{text-transform:capitalize}.vm-timezones-item__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-timezones-item__icon{align-items:center;display:inline-flex;justify-content:flex-end;margin:0 0 0 auto;transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-timezones-item__icon svg{width:14px}.vm-timezones-item__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-timezones-list{background-color:var(--color-background-block);border-radius:8px;max-height:200px;overflow:auto}.vm-timezones-list_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-timezones-list_mobile .vm-timezones-list-header__search{padding:0 16px}.vm-timezones-list-header{background-color:var(--color-background-block);border-bottom:var(--border-divider);position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-timezones-list-header__search{padding:8px}.vm-timezones-list-group{border-bottom:var(--border-divider);padding:8px 0}.vm-timezones-list-group:last-child{border-bottom:none}.vm-timezones-list-group__title{color:var(--color-text-secondary);font-weight:700;padding:8px 16px}.vm-timezones-list-group-options{align-items:flex-start;display:grid}.vm-timezones-list-group-options__item{padding:8px 16px;transition:background-color .2s ease}.vm-timezones-list-group-options__item:hover{background-color:hsla(0,6%,6%,.1)}.vm-theme-control__toggle{display:inline-flex;min-width:300px;text-transform:capitalize}.vm-theme-control_mobile .vm-theme-control__toggle{display:flex;min-width:100%}.vm-toggles{grid-gap:3px;display:grid;gap:3px;position:relative;width:100%}.vm-toggles__label{color:var(--color-text-secondary);font-size:10px;line-height:1;padding:0 16px}.vm-toggles-group{overflow:hidden;width:100%}.vm-toggles-group,.vm-toggles-group-item{align-items:center;display:grid;justify-content:center;position:relative}.vm-toggles-group-item{border-bottom:var(--border-divider);border-right:var(--border-divider);border-top:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;font-size:10px;font-weight:700;padding:8px;text-align:center;transition:color .15s ease-in;-webkit-user-select:none;user-select:none;z-index:2}.vm-toggles-group-item_first{border-left:var(--border-divider);border-radius:16px 0 0 16px}.vm-toggles-group-item:last-child{border-left:none;border-radius:0 16px 16px 0}.vm-toggles-group-item_icon{gap:4px;grid-template-columns:14px auto}.vm-toggles-group-item:hover{color:var(--color-primary)}.vm-toggles-group-item_active{border-color:transparent;color:var(--color-primary)}.vm-toggles-group-item_active:hover{background-color:transparent}.vm-toggles-group__highlight{background-color:rgba(var(--color-primary),.08);border:1px solid var(--color-primary);height:100%;position:absolute;top:0;transition:left .2s cubic-bezier(.28,.84,.42,1),border-radius .2s linear;z-index:1}.vm-header-controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-end}.vm-header-controls_mobile{display:grid;grid-template-columns:1fr;padding:0}.vm-header-controls_mobile .vm-header-button{border:none}.vm-header-controls-modal{-webkit-transform:scale(0);transform:scale(0)}.vm-header-controls-modal_open{-webkit-transform:scale(1);transform:scale(1)}.vm-container{display:flex;flex-direction:column;min-height:calc(var(--vh)*100 - var(--scrollbar-height))}.vm-container-body{background-color:var(--color-background-body);flex-grow:1;min-height:100%;padding:24px}.vm-container-body_mobile{padding:8px 0 0}@media(max-width:768px){.vm-container-body{padding:8px 0 0}}.vm-container-body_app{background-color:transparent;padding:8px 0}.vm-footer{align-items:center;background:var(--color-background-body);border-top:var(--border-divider);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:24px}@media(max-width:768px){.vm-footer{gap:16px;padding:16px}}.vm-footer__link,.vm-footer__website{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:12px auto;justify-content:center}.vm-footer__website{margin-right:16px}@media(max-width:768px){.vm-footer__website{margin-right:0}}.vm-footer__link{grid-template-columns:14px auto}.vm-footer__copyright{flex-grow:1;text-align:right}@media(max-width:768px){.vm-footer__copyright{font-size:10px;text-align:center;width:100%}}.uplot,.uplot *,.uplot :after,.uplot :before{box-sizing:border-box}.uplot{font-family: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;line-height:1.5;width:-webkit-min-content;width:min-content}.u-title{font-size:18px;font-weight:700;text-align:center}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;height:100%;position:relative;width:100%}.u-axis{position:absolute}.u-legend{margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{display:inline-block;vertical-align:middle}.u-legend .u-marker{background-clip:padding-box!important;height:1em;margin-right:4px;width:1em}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:rgba(0,0,0,.07)}.u-cursor-x,.u-cursor-y,.u-select{pointer-events:none;position:absolute}.u-cursor-x,.u-cursor-y{left:0;top:0;will-change:transform;z-index:100}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{background-clip:padding-box!important;border:0 solid;border-radius:50%;left:0;pointer-events:none;position:absolute;top:0;will-change:transform;z-index:100}.u-axis.u-off,.u-cursor-pt.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-select.u-off{display:none}.vm-line-chart{pointer-events:auto}.vm-line-chart_panning{pointer-events:none}.vm-line-chart__u-plot{position:relative}.vm-chart-tooltip{grid-gap:16px;word-wrap:break-word;background:var(--color-background-tooltip);border-radius:8px;color:#fff;display:grid;font-family:monospace;font-size:10px;font-weight:400;gap:16px;line-height:150%;padding:8px;pointer-events:none;position:absolute;-webkit-user-select:text;user-select:text;width:325px;z-index:98}.vm-chart-tooltip_sticky{pointer-events:auto;z-index:99}.vm-chart-tooltip_moved{margin-left:-271.5px;margin-top:-20.5px;position:fixed}.vm-chart-tooltip-header{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 25px 25px;justify-content:center;min-height:25px}.vm-chart-tooltip-header__close{color:#fff}.vm-chart-tooltip-header__drag{color:#fff;cursor:move}.vm-chart-tooltip-data{grid-gap:8px;align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto 1fr;line-height:12px;word-break:break-all}.vm-chart-tooltip-data__marker{height:12px;width:12px}.vm-chart-tooltip-info{grid-gap:4px;display:grid;word-break:break-all}.vm-legend-item{grid-gap:8px;align-items:start;background-color:var(--color-background-block);cursor:pointer;display:grid;grid-template-columns:auto auto;justify-content:start;margin-bottom:8px;padding:8px;transition:.2s ease}.vm-legend-item:hover{background-color:rgba(0,0,0,.1)}.vm-legend-item_hide{opacity:.5;text-decoration:line-through}.vm-legend-item__marker{border-radius:2px;box-sizing:border-box;height:14px;transition:.2s ease;width:14px}.vm-legend-item-info{font-weight:400;word-break:break-all}.vm-legend-item-info__label{margin-right:2px}.vm-legend-item-info__free-fields{cursor:pointer;padding:2px}.vm-legend-item-info__free-fields:hover{text-decoration:underline}.vm-legend-item-values{align-items:center;display:flex;gap:8px;grid-column:2}.vm-legend{cursor:default;display:flex;flex-wrap:wrap;margin-top:24px;position:relative}.vm-legend-group{margin:0 16px 16px 0;min-width:23%;width:100%}.vm-legend-group-title{align-items:center;border-bottom:var(--border-divider);display:flex;margin-bottom:1px;padding:8px}.vm-legend-group-title__count{font-weight:700;margin-right:8px}.vm-graph-view{width:100%}.vm-graph-view_full-width{width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-graph-view_full-width{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-graph-view_full-width_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-autocomplete{max-height:300px;overflow:auto;overscroll-behavior:none}.vm-autocomplete_mobile{max-height:calc(var(--vh)*100 - 70px)}.vm-autocomplete__no-options{color:var(--color-text-disabled);padding:16px;text-align:center}.vm-query-editor-autocomplete{max-height:300px;overflow:auto}.vm-additional-settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:16px;justify-content:flex-start}.vm-additional-settings__input{flex-basis:160px;margin-bottom:-6px}.vm-additional-settings_mobile{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:1fr;padding:0 16px;width:100%}.vm-switch{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-switch_full-width{flex-direction:row-reverse;justify-content:space-between}.vm-switch_full-width .vm-switch__label{margin-left:0}.vm-switch_disabled{cursor:default;opacity:.6}.vm-switch_secondary_active .vm-switch-track{background-color:var(--color-secondary)}.vm-switch_primary_active .vm-switch-track{background-color:var(--color-primary)}.vm-switch_active .vm-switch-track__thumb{left:20px}.vm-switch:hover .vm-switch-track{opacity:.8}.vm-switch-track{align-items:center;background-color:hsla(0,6%,6%,.4);border-radius:17px;display:flex;height:17px;justify-content:flex-start;padding:3px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:34px}.vm-switch-track__thumb{background-color:var(--color-background-block);border-radius:50%;left:3px;min-height:11px;min-width:11px;position:absolute;top:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:right .2s ease-out,left .2s ease-out}.vm-switch__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-query-configurator{grid-gap:16px;display:grid;gap:16px}.vm-query-configurator-list{display:grid}.vm-query-configurator-list-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto auto}.vm-query-configurator-list-row_mobile{gap:4px}.vm-query-configurator-list-row_disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:.5}.vm-query-configurator-list-row__button{display:grid;min-height:36px;width:36px}.vm-query-configurator-settings{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}.vm-query-configurator-settings__buttons{grid-gap:8px;display:grid;flex-grow:1;gap:8px;grid-template-columns:repeat(2,auto);justify-content:flex-end}.vm-json-view__copy{display:flex;justify-content:flex-end;position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-json-view__code{font-size:12px;line-height:1.4;-webkit-transform:translateY(-32px);transform:translateY(-32px);white-space:pre-wrap}.vm-axes-limits{grid-gap:16px;align-items:center;display:grid;gap:16px;max-width:300px}.vm-axes-limits_mobile{gap:24px;max-width:100%;width:100%}.vm-axes-limits_mobile .vm-axes-limits-list__inputs{grid-template-columns:repeat(2,1fr)}.vm-axes-limits-list{grid-gap:16px;align-items:center;display:grid;gap:16px}.vm-axes-limits-list__inputs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,120px)}.vm-graph-settings-popper{grid-gap:16px;display:grid;gap:16px;padding:0 0 16px}.vm-graph-settings-popper__body{grid-gap:8px;display:grid;gap:8px;padding:0 16px}.vm-spinner{align-items:center;-webkit-animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);background-color:hsla(0,0%,100%,.5);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:99}.vm-spinner_dark{background-color:hsla(0,6%,6%,.2)}.vm-spinner__message{color:rgba(var(--color-text),.9);font-size:14px;line-height:1.3;margin-top:24px;text-align:center;white-space:pre-line}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;height:60px;position:relative;width:60px}.half-circle-spinner .circle{border:6px solid transparent;border-radius:100%;content:"";height:100%;position:absolute;width:100%}.half-circle-spinner .circle.circle-1{-webkit-animation:half-circle-spinner-animation 1s infinite;animation:half-circle-spinner-animation 1s infinite;border-top-color:var(--color-primary)}.half-circle-spinner .circle.circle-2{-webkit-animation:half-circle-spinner-animation 1s infinite alternate;animation:half-circle-spinner-animation 1s infinite alternate;border-bottom-color:var(--color-primary)}@-webkit-keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes vm-fade{0%{opacity:0}to{opacity:1}}@keyframes vm-fade{0%{opacity:0}to{opacity:1}}.vm-tracings-view{grid-gap:24px;display:grid;gap:24px}.vm-tracings-view-trace-header{align-items:center;border-bottom:var(--border-divider);display:flex;justify-content:space-between;padding:8px 8px 8px 24px}.vm-tracings-view-trace-header-title{flex-grow:1;font-size:14px;margin-right:8px}.vm-tracings-view-trace-header-title__query{font-weight:700}.vm-tracings-view-trace__nav{padding:24px 24px 24px 0}.vm-tracings-view-trace__nav_mobile{padding:8px 8px 8px 0}.vm-line-progress{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:center}.vm-line-progress-track{background-color:var(--color-hover-black);border-radius:4px;height:20px;width:100%}.vm-line-progress-track__thumb{background-color:#1a90ff;border-radius:4px;height:100%}.vm-nested-nav{background-color:rgba(201,227,246,.4);border-radius:4px;margin-left:24px}.vm-nested-nav_mobile{margin-left:8px}.vm-nested-nav_dark{background-color:hsla(0,6%,6%,.1)}.vm-nested-nav-header{grid-gap:8px;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr;padding:8px;transition:background-color .2s ease-in-out}.vm-nested-nav-header:hover{background-color:var(--color-hover-black)}.vm-nested-nav-header__icon{align-items:center;display:flex;justify-content:center;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px}.vm-nested-nav-header__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-nested-nav-header__message,.vm-nested-nav-header__progress{grid-column:2}.vm-nested-nav-header__duration{color:var(--color-text-secondary);grid-column:2}.vm-json-form{grid-gap:16px;display:grid;gap:16px;grid-template-rows:auto calc(var(--vh)*70 - 150px) auto;max-height:900px;max-width:1000px;overflow:hidden;width:70vw}.vm-json-form_mobile{grid-template-rows:auto calc(var(--vh)*100 - 248px) auto;min-height:100%;width:100%}.vm-json-form_one-field{grid-template-rows:calc(var(--vh)*70 - 150px) auto}.vm-json-form_one-field_mobile{grid-template-rows:calc(var(--vh)*100 - 192px) auto}.vm-json-form textarea{height:100%;max-height:900px;overflow:auto;width:100%}.vm-json-form-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}@media(max-width:500px){.vm-json-form-footer{flex-direction:column}.vm-json-form-footer button{flex-grow:1}}.vm-json-form-footer__controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-start}@media(max-width:500px){.vm-json-form-footer__controls{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-json-form-footer__controls_right{display:grid;grid-template-columns:repeat(2,90px);justify-content:flex-end}@media(max-width:500px){.vm-json-form-footer__controls_right{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-table-settings-popper{display:grid;min-width:250px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list{gap:16px}.vm-table-settings-popper_mobile .vm-table-settings-popper-list:first-child{padding-top:0}.vm-table-settings-popper-list{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;max-height:350px;overflow:auto;padding:16px}.vm-table-settings-popper-list_first{padding-top:0}.vm-table-settings-popper-list-header{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between;min-height:25px}.vm-table-settings-popper-list-header__title{font-weight:700}.vm-table-settings-popper-list__item{font-size:12px;text-transform:capitalize}.vm-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-checkbox_disabled{cursor:default;opacity:.6}.vm-checkbox_secondary_active .vm-checkbox-track{background-color:var(--color-secondary)}.vm-checkbox_secondary .vm-checkbox-track{border:1px solid var(--color-secondary)}.vm-checkbox_primary_active .vm-checkbox-track{background-color:var(--color-primary)}.vm-checkbox_primary .vm-checkbox-track{border:1px solid var(--color-primary)}.vm-checkbox_active .vm-checkbox-track__thumb{-webkit-transform:scale(1);transform:scale(1)}.vm-checkbox:hover .vm-checkbox-track{opacity:.8}.vm-checkbox-track{align-items:center;background-color:transparent;border-radius:4px;display:flex;height:16px;justify-content:center;padding:2px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:16px}.vm-checkbox-track__thumb{align-items:center;color:#fff;display:grid;height:12px;justify-content:center;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;width:12px}.vm-checkbox__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-custom-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:100%;height:100%}.vm-custom-panel_mobile{gap:8px}.vm-custom-panel__warning{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between}.vm-custom-panel__warning_mobile{grid-template-columns:1fr}.vm-custom-panel-body{position:relative}.vm-custom-panel-body-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:10px;justify-content:space-between;margin:-24px -24px 24px;padding:0 24px;position:relative;z-index:1}.vm-custom-panel-body_mobile .vm-custom-panel-body-header{margin:-16px -16px 16px;padding:0 16px}.vm-table-view{margin-top:-24px;max-width:100%;overflow:auto}.vm-table-view_mobile{margin-top:-16px}.vm-table-view table{margin-top:0}.vm-predefined-panel-header{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:auto 1fr auto;justify-content:flex-start;padding:8px 16px}.vm-predefined-panel-header__description{line-height:1.3;white-space:pre-wrap}.vm-predefined-panel-header__description ol,.vm-predefined-panel-header__description ul{list-style-position:inside}.vm-predefined-panel-header__description a{color:#c9e3f6;text-decoration:underline}.vm-predefined-panel-header__info{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:18px}.vm-predefined-panel-body{min-height:500px;padding:8px 16px}@media(max-width:500px){.vm-predefined-panel-body{padding:0}}.vm-predefined-dashboard{background-color:transparent}.vm-predefined-dashboard-header{align-items:center;border-radius:4px;box-shadow:var(--box-shadow);display:grid;font-weight:700;grid-template-columns:1fr auto;justify-content:space-between;line-height:14px;overflow:hidden;padding:16px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:box-shadow .2s ease-in-out}.vm-predefined-dashboard-header_open{border-radius:4px 4px 0 0;box-shadow:none}.vm-predefined-dashboard-header__title{font-size:12px}.vm-predefined-dashboard-header__count{font-size:10px;grid-column:2;margin-right:30px}.vm-predefined-dashboard-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr);padding:0}@media(max-width:1000px){.vm-predefined-dashboard-panels{grid-template-columns:1fr}}.vm-predefined-dashboard-panels-panel{border-radius:8px;overflow:hidden;position:relative}.vm-predefined-dashboard-panels-panel:hover .vm-predefined-dashboard-panels-panel__resizer{-webkit-transform:scale(1);transform:scale(1)}.vm-predefined-dashboard-panels-panel__resizer{bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px;z-index:1}.vm-predefined-dashboard-panels-panel__resizer:after{border-bottom:2px solid hsla(0,6%,6%,.2);border-right:2px solid hsla(0,6%,6%,.2);bottom:5px;content:"";height:5px;position:absolute;right:5px;width:5px}.vm-predefined-dashboard-panels-panel__alert{grid-column:span 12}.vm-predefined-panels{grid-gap:16px;align-items:flex-start;display:grid;gap:16px}@media(max-width:768px){.vm-predefined-panels{padding:24px 0}}@media(max-width:500px){.vm-predefined-panels{padding:8px 0}}.vm-predefined-panels-tabs.vm-block{padding:16px}.vm-predefined-panels-tabs{align-items:center;display:flex;flex-wrap:wrap;font-size:10px;gap:8px;justify-content:flex-start;overflow:hidden;white-space:nowrap}.vm-predefined-panels-tabs__tab{background:#fff;border:1px solid hsla(0,6%,6%,.2);border-radius:8px;color:hsla(0,6%,6%,.2);cursor:pointer;padding:8px 16px;text-transform:uppercase;transition:background .2s ease-in-out,color .15s ease-in}.vm-predefined-panels-tabs__tab:hover{color:var(--color-primary)}.vm-predefined-panels-tabs__tab_active{border-color:var(--color-primary);color:var(--color-primary)}.vm-predefined-panels__dashboards{grid-gap:16px;display:grid;gap:16px}.vm-cardinality-configurator{grid-gap:8px;display:grid;gap:8px}.vm-cardinality-configurator-controls{align-items:center;display:flex;flex-wrap:wrap;gap:0 24px;justify-content:flex-start}.vm-cardinality-configurator-controls__query{flex-grow:8}.vm-cardinality-configurator-controls__item{flex-grow:1}.vm-cardinality-configurator-additional{align-items:center;display:flex;margin-bottom:8px}.vm-cardinality-configurator-bottom{flex-wrap:wrap}.vm-cardinality-configurator-bottom,.vm-cardinality-configurator-bottom__docs{align-items:center;display:flex;gap:16px}.vm-cardinality-configurator-bottom_mobile .vm-cardinality-configurator-bottom__docs{justify-content:space-between}.vm-cardinality-configurator-bottom__info{flex-grow:1;font-size:12px}.vm-cardinality-configurator-bottom a{color:var(--color-text-secondary)}.vm-cardinality-configurator-bottom button{margin:0 0 0 auto}.vm-cardinality-configurator-bottom_mobile{display:grid;grid-template-columns:1fr}.vm-cardinality-configurator-bottom_mobile button{margin:0}.u-legend{color:var(--color-text);font-family:Lato,sans-serif;font-size:14px}.u-legend .u-thead{display:none}.u-legend .u-series{display:flex;gap:8px}.u-legend .u-series th{display:none}.u-legend .u-series td:nth-child(2):after{content:":";margin-left:8px}.u-legend .u-series .u-value{display:block;padding:0;text-align:left}.vm-metrics-content-header{margin:-24px -24px 0}.vm-metrics-content_mobile .vm-metrics-content-header{margin:-16px -16px 0}.vm-metrics-content__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-metrics-content__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-metrics-content__table_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-metrics-content__table .vm-table-cell_header{white-space:nowrap}.vm-metrics-content_mobile .vm-metrics-content__table{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-cardinality-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-cardinality-panel_mobile{gap:8px}.vm-top-queries-panel-header{margin:-24px -24px 0}.vm-top-queries-panel-header_mobile{margin:-16px -16px 0}.vm-top-queries-panel__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-top-queries-panel__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-top-queries-panel__table_mobile{width:calc(100vw - 32px - var(--scrollbar-width))}.vm-top-queries-panel__table .vm-table-cell_header{white-space:nowrap}.vm-top-queries{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-top-queries_mobile{gap:8px}.vm-top-queries-controls{grid-gap:8px;display:grid;gap:8px}.vm-top-queries-controls-fields{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.vm-top-queries-controls-fields__item{flex-grow:1;min-width:200px}.vm-top-queries-controls-bottom{grid-gap:24px;align-items:flex-end;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:space-between}.vm-top-queries-controls-bottom_mobile{gap:8px;grid-template-columns:1fr}.vm-top-queries-controls-bottom__button{align-items:center;display:flex;justify-content:flex-end}.vm-top-queries-panels{grid-gap:24px;display:grid;gap:24px}.vm-trace-page{display:flex;flex-direction:column;min-height:100%}@media(max-width:768px){.vm-trace-page{padding:24px 0}}.vm-trace-page-controls{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr 1fr;justify-content:center}.vm-trace-page-header{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr auto;margin-bottom:24px}@media(max-width:768px){.vm-trace-page-header{grid-template-columns:1fr;padding:0 24px}}.vm-trace-page-header-errors{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:1fr;justify-content:stretch}@media(max-width:768px){.vm-trace-page-header-errors{grid-row:2}}.vm-trace-page-header-errors-item{align-items:center;display:grid;justify-content:stretch;position:relative}.vm-trace-page-header-errors-item__filename{min-height:20px}.vm-trace-page-header-errors-item__close{position:absolute;right:8px;top:auto;z-index:2}.vm-trace-page-preview{align-items:center;display:flex;flex-direction:column;flex-grow:1;justify-content:center}.vm-trace-page-preview__text{font-size:14px;line-height:1.8;margin-bottom:16px;text-align:center;white-space:pre-line}.vm-explore-metrics{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}@media(max-width:500px){.vm-explore-metrics{gap:8px}}.vm-explore-metrics-body{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}@media(max-width:500px){.vm-explore-metrics-body{gap:8px}}.vm-explore-metrics-graph,.vm-explore-metrics-graph_mobile{padding:0 16px 16px}.vm-explore-metrics-graph__warning{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between}.vm-explore-metrics-item-header{grid-gap:16px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:16px;grid-template-columns:auto 1fr auto auto;justify-content:flex-start;padding:16px}.vm-explore-metrics-item-header_mobile{grid-template-columns:1fr auto;padding:8px 16px}.vm-explore-metrics-item-header__index{color:var(--color-text-secondary);font-size:10px}.vm-explore-metrics-item-header__name{flex-grow:1;font-weight:700;line-height:130%;max-width:100%;overflow:hidden;text-overflow:ellipsis}.vm-explore-metrics-item-header-order{align-items:center;display:grid;grid-column:1;grid-template-columns:auto 20px auto;justify-content:flex-start;text-align:center}.vm-explore-metrics-item-header-order__up{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-explore-metrics-item-header__rate{grid-column:3}.vm-explore-metrics-item-header__close{align-items:center;display:grid;grid-column:4;grid-row:1}.vm-explore-metrics-item-header code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;padding:.2em .4em}.vm-explore-metrics-item-header-modal{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-explore-metrics-item-header-modal-order{align-items:center;display:flex;gap:24px;justify-content:space-between}.vm-explore-metrics-item-header-modal-order p{align-items:center;display:flex}.vm-explore-metrics-item-header-modal-order__index{margin-left:4px}.vm-explore-metrics-item-header-modal__rate{grid-gap:8px;display:grid;gap:8px}.vm-explore-metrics-item-header-modal__rate p{color:var(--color-text-secondary)}.vm-explore-metrics-item{position:relative}.vm-select-input{align-items:center;border:var(--border-divider);border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;min-height:36px;padding:5px 0 5px 16px;position:relative}.vm-select-input-content{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;max-width:calc(100% - 77px);width:100%}.vm-select-input-content_mobile{flex-wrap:nowrap}.vm-select-input-content__counter{font-size:12px;line-height:12px}.vm-select-input-content__selected{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;font-size:12px;justify-content:center;line-height:12px;max-width:100%;padding:2px 2px 2px 6px}.vm-select-input-content__selected span{overflow:hidden;text-overflow:ellipsis;width:100%}.vm-select-input-content__selected svg{align-items:center;background-color:transparent;border-radius:4px;display:flex;justify-content:center;margin-left:10px;padding:4px;transition:background-color .2s ease-in-out;width:20px}.vm-select-input-content__selected svg:hover{background-color:hsla(0,6%,6%,.1)}.vm-select-input input{background-color:transparent;border:none;border-radius:4px;color:var(--color-text);display:inline-block;flex-grow:1;font-size:12px;height:18px;line-height:18px;min-width:100px;padding:0;position:relative;z-index:2}.vm-select-input input:placeholder-shown{width:auto}.vm-select-input__icon{align-items:center;border-right:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:flex-end;padding:0 8px;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in,-webkit-transform .2s ease-in}.vm-select-input__icon:last-child{border:none}.vm-select-input__icon svg{width:14px}.vm-select-input__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-select-input__icon:hover{opacity:.7}.vm-select-options{grid-gap:8px;display:grid;font-size:12px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:16px}.vm-select-options_mobile{max-height:calc(var(--vh)*100 - 70px);max-width:100%;padding:0 16px 8px}.vm-explore-metrics-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px 18px;justify-content:flex-start;max-width:calc(100vw - var(--scrollbar-width))}.vm-explore-metrics-header_mobile{align-items:stretch;flex-direction:column}.vm-explore-metrics-header__job{flex-grow:1;min-width:150px}.vm-explore-metrics-header__instance{flex-grow:2;min-width:150px}.vm-explore-metrics-header__size{flex-grow:1;min-width:150px}.vm-explore-metrics-header-metrics{flex-grow:1;width:100%}.vm-explore-metrics-header__clear-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:2px}.vm-explore-metrics-header__clear-icon:hover{opacity:.7}.vm-preview-icons{grid-gap:16px;align-items:flex-start;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,100px);justify-content:center}.vm-preview-icons-item{grid-gap:8px;align-items:stretch;border:1px solid transparent;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-rows:1fr auto;height:100px;justify-content:center;padding:16px 8px;transition:box-shadow .2s ease-in-out}.vm-preview-icons-item:hover{box-shadow:0 1px 4px rgba(0,0,0,.16)}.vm-preview-icons-item:active .vm-preview-icons-item__svg{-webkit-transform:scale(.9);transform:scale(.9)}.vm-preview-icons-item__name{font-size:10px;line-height:2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vm-preview-icons-item__svg{align-items:center;display:flex;height:100%;justify-content:center;transition:-webkit-transform .1s ease-out;transition:transform .1s ease-out;transition:transform .1s ease-out,-webkit-transform .1s ease-out}.vm-preview-icons-item__svg svg{height:24px;width:auto}#root,body,html{background-attachment:fixed;background-color:#fefeff;background-color:var(--color-background-body);background-repeat:no-repeat;color:#110f0f;color:var(--color-text);cursor:default;font-family:Lato,sans-serif;font-size:12px;margin:0;min-height:100%}body{overflow:auto}*{-webkit-tap-highlight-color:rgba(0,0,0,0);cursor:inherit;font:inherit;touch-action:pan-x pan-y}code{font-family:monospace}b{font-weight:700}input,textarea{cursor:text}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{-webkit-user-select:none;user-select:none}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vm-snackbar{bottom:16px;left:16px;position:fixed;z-index:999}.vm-snackbar-content{align-items:center;display:grid;grid-template-columns:1fr auto}.vm-snackbar-content__close{color:inherit;height:24px;opacity:.8;padding:4px;width:24px}.vm-snackbar_mobile{-webkit-animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);animation:vm-slide-snackbar .15s cubic-bezier(.28,.84,.42,1.1);bottom:0;left:0;right:0}@-webkit-keyframes vm-slide-snackbar{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes vm-slide-snackbar{0%{-webkit-transform:translateY(100%);transform:translateY(100%)}to{-webkit-transform:translateY(0);transform:translateY(0)}}svg{width:100%}*{scrollbar-color:#a09f9f #fff;scrollbar-color:var(--color-text-disabled) var(--color-background-block);scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#fff;background:var(--color-background-block)}::-webkit-scrollbar-thumb{background-color:#a09f9f;background-color:var(--color-text-disabled);border:3px solid #fff;border:3px solid var(--color-background-block);border-radius:20px}a,abbr,acronym,address,applet,article,aside,audio,big,body,canvas,caption,center,cite,code,del,details,dfn,div,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:initial}h1,h2,h3,h4,h5,h6{font-weight:400}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}q:after,q:before{content:""}table{border-collapse:collapse;border-spacing:0}input::-webkit-input-placeholder{opacity:1;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input::placeholder{opacity:1;transition:opacity .3s ease}input:focus::-webkit-input-placeholder{opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input:focus::placeholder{opacity:0;transition:opacity .3s ease}*{box-sizing:border-box;outline:none}button{background:none;border:none;border-radius:0;padding:0}strong{letter-spacing:1px}input[type=file]{cursor:pointer;font-size:0;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}input[type=file]:disabled{cursor:not-allowed}a{color:inherit;text-decoration:inherit}input,textarea{-webkit-text-fill-color:inherit;appearance:none;-webkit-appearance:none}input:disabled,textarea:disabled{opacity:1!important}input:placeholder-shown,textarea:placeholder-shown{width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 0 #fff!important;width:100%;z-index:2}@font-face{font-family:Lato;font-style:normal;font-weight:400;src:url(../../static/media/Lato-Regular.d714fec1633b69a9c2e9.ttf)}@font-face{font-family:Lato;font-style:normal;font-weight:700;src:url(../../static/media/Lato-Bold.32360ba4b57802daa4d6.ttf)}.vm-header-button{border:1px solid hsla(0,6%,6%,.2)}.vm-list-item{background-color:transparent;cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.vm-list-item_mobile{padding:16px}.vm-list-item:hover,.vm-list-item_active{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-list-item_multiselect{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:10px 1fr;justify-content:flex-start}.vm-list-item_multiselect svg{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1)}.vm-list-item_multiselect span{grid-column:2}.vm-list-item_multiselect_selected{color:#3f51b5;color:var(--color-primary)}.vm-mobile-option{align-items:center;display:flex;gap:8px;justify-content:flex-start;padding:12px 0;-webkit-user-select:none;user-select:none;width:100%}.vm-mobile-option__arrow,.vm-mobile-option__icon{align-items:center;display:flex;justify-content:center}.vm-mobile-option__icon{color:#3f51b5;color:var(--color-primary);height:22px;width:22px}.vm-mobile-option__arrow{color:#3f51b5;color:var(--color-primary);height:14px;-webkit-transform:rotate(-90deg);transform:rotate(-90deg);width:14px}.vm-mobile-option-text{grid-gap:2px;align-items:center;display:grid;flex-grow:1;gap:2px}.vm-mobile-option-text__label{font-weight:700}.vm-mobile-option-text__value{color:#706f6f;color:var(--color-text-secondary);font-size:10px}.vm-block{background-color:#fff;background-color:var(--color-background-block);border-radius:8px;box-shadow:1px 2px 6px rgba(0,0,0,.08);box-shadow:var(--box-shadow);padding:24px}.vm-block_mobile{border-radius:0;padding:16px}.vm-block_empty-padding{padding:0}.vm-section-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);border-radius:8px 8px 0 0;display:grid;grid-template-columns:1fr auto;justify-content:center;padding:0 24px}.vm-section-header__title{font-size:12px;font-weight:700}.vm-section-header__title_mobile{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden;text-overflow:ellipsis}.vm-section-header__tabs{align-items:center;display:flex;font-size:10px;justify-content:flex-start}.vm-table{border-collapse:initial;border-spacing:0;margin-top:-24px;width:100%}.vm-table,.vm-table__row{background-color:#fff;background-color:var(--color-background-block)}.vm-table__row{transition:background-color .2s ease}.vm-table__row:hover:not(.vm-table__row_header){background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table__row_header{position:relative;z-index:2}.vm-table__row_selected{background-color:rgba(26,144,255,.05)}.vm-table-cell{border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);height:40px;line-height:25px;padding:8px;vertical-align:top}.vm-table-cell__content{align-items:center;display:flex;justify-content:flex-start}.vm-table-cell_sort{cursor:pointer}.vm-table-cell_sort:hover{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table-cell_header{font-weight:700;text-align:left;text-transform:capitalize}.vm-table-cell_gray{color:#110f0f;color:var(--color-text);opacity:.4}.vm-table-cell_right{text-align:right}.vm-table-cell_right .vm-table-cell__content{justify-content:flex-end}.vm-table-cell_no-wrap{white-space:nowrap}.vm-table__sort-icon{align-items:center;display:flex;justify-content:center;margin:0 8px;opacity:.4;transition:opacity .2s ease,-webkit-transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:15px}.vm-table__sort-icon_active{opacity:1}.vm-table__sort-icon_desc{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-link{cursor:pointer;transition:color .2s ease}.vm-link_colored{color:#3f51b5;color:var(--color-primary)}.vm-link_with-icon{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:14px auto;justify-content:center}.vm-link:hover{color:#3f51b5;color:var(--color-primary);text-decoration:underline}:root{--color-primary:#3f51b5;--color-secondary:#e91e63;--color-error:#fd080e;--color-warning:#ff8308;--color-info:#03a9f4;--color-success:#4caf50;--color-primary-text:#fff;--color-secondary-text:#fff;--color-error-text:#fff;--color-warning-text:#fff;--color-info-text:#fff;--color-success-text:#fff;--color-background-body:#fefeff;--color-background-block:#fff;--color-background-tooltip:rgba(97,97,97,.92);--color-text:#110f0f;--color-text-secondary:#706f6f;--color-text-disabled:#a09f9f;--box-shadow:rgba(0,0,0,.08) 1px 2px 6px;--box-shadow-popper:rgba(0,0,0,.1) 0px 2px 8px 0px;--border-divider:1px solid rgba(0,0,0,.15);--color-hover-black:rgba(0,0,0,.06)} \ No newline at end of file diff --git a/app/vmselect/vmui/static/css/main.b9c2d13c.css b/app/vmselect/vmui/static/css/main.b9c2d13c.css deleted file mode 100644 index 4db001c4c..000000000 --- a/app/vmselect/vmui/static/css/main.b9c2d13c.css +++ /dev/null @@ -1 +0,0 @@ -.vm-tabs{gap:16px;height:100%;position:relative;-webkit-user-select:none;user-select:none}.vm-tabs,.vm-tabs-item{align-items:center;display:flex;justify-content:center}.vm-tabs-item{color:inherit;cursor:pointer;font-size:inherit;font-weight:inherit;opacity:.6;padding:16px 8px;text-decoration:none;text-transform:uppercase;transition:opacity .2s}.vm-tabs-item_active{opacity:1}.vm-tabs-item:hover{opacity:.8}.vm-tabs-item__icon{display:grid;margin-right:8px;width:15px}.vm-tabs-item__icon_single{margin-right:0}.vm-tabs__indicator{border-bottom:2px solid;position:absolute;transition:width .2s ease,left .3s cubic-bezier(.28,.84,.42,1)}.vm-alert{grid-gap:8px;align-items:center;background-color:var(--color-background-block);border-radius:8px;box-shadow:var(--box-shadow);color:var(--color-text);display:grid;font-size:14px;font-weight:400;gap:8px;grid-template-columns:20px 1fr;line-height:20px;padding:16px;position:relative}.vm-alert:after{border-radius:8px;content:"";height:100%;left:0;opacity:.1;position:absolute;top:0;width:100%;z-index:1}.vm-alert__content,.vm-alert__icon{position:relative;z-index:2}.vm-alert__icon{align-items:center;display:flex;justify-content:center}.vm-alert__content{-webkit-filter:brightness(.6);filter:brightness(.6);white-space:pre-line}.vm-alert_success{color:var(--color-success)}.vm-alert_success:after{background-color:var(--color-success)}.vm-alert_error{color:var(--color-error)}.vm-alert_error:after{background-color:var(--color-error)}.vm-alert_info{color:var(--color-info)}.vm-alert_info:after{background-color:var(--color-info)}.vm-alert_warning{color:var(--color-warning)}.vm-alert_warning:after{background-color:var(--color-warning)}.vm-alert_dark:after{opacity:.1}.vm-alert_dark .vm-alert__content{-webkit-filter:none;filter:none}.vm-popper{background-color:var(--color-background-block);border-radius:4px;box-shadow:var(--box-shadow-popper);opacity:0;pointer-events:none;position:fixed;transition:opacity .1s ease-in-out;z-index:-99}.vm-popper_open{-webkit-animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);animation:vm-slider .15s cubic-bezier(.28,.84,.42,1.1);opacity:1;pointer-events:auto;-webkit-transform-origin:top center;transform-origin:top center;z-index:101}@-webkit-keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}@keyframes vm-slider{0%{-webkit-transform:scaleY(0);transform:scaleY(0)}to{-webkit-transform:scaleY(1);transform:scaleY(1)}}.vm-execution-controls-buttons{border-radius:7px;display:flex;justify-content:space-between;min-width:107px}.vm-execution-controls-buttons_short{min-width:auto}.vm-execution-controls-buttons__arrow{align-items:center;display:flex;justify-content:center;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-execution-controls-buttons__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-execution-controls-list{font-size:12px;max-height:208px;overflow:auto;padding:8px 0;width:124px}.vm-tooltip{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);background-color:var(--color-background-tooltip);border-radius:4px;box-shadow:var(--box-shadow-popper);color:#fff;font-size:10px;line-height:150%;opacity:1;padding:3px 8px;pointer-events:auto;position:fixed;transition:opacity .1s ease-in-out;white-space:nowrap;z-index:101}@-webkit-keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}@keyframes vm-scale{0%{-webkit-transform:scale(0);transform:scale(0)}to{-webkit-transform:scale(1);transform:scale(1)}}.vm-time-duration{font-size:12px;max-height:200px;overflow:auto}.vm-calendar{background-color:var(--color-background-block);border-radius:8px;display:grid;font-size:12px;grid-template-rows:auto 1fr auto;padding:16px;-webkit-user-select:none;user-select:none}.vm-calendar__tabs{border-top:var(--border-divider);margin:16px -16px -16px}.vm-calendar-header{grid-gap:24px;align-items:center;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:center;min-height:36px;padding-bottom:16px}.vm-calendar-header-left{grid-gap:8px;align-items:center;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto auto;justify-content:flex-start;transition:opacity .2s ease-in-out}.vm-calendar-header-left:hover{opacity:.8}.vm-calendar-header-left__date{color:var(--color-text);font-size:12px;font-weight:700}.vm-calendar-header-left__select-year{align-items:center;display:grid;height:14px;justify-content:center;width:14px}.vm-calendar-header-right{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:18px 18px;justify-content:center}.vm-calendar-header-right__next,.vm-calendar-header-right__prev{cursor:pointer;transition:opacity .2s ease-in-out}.vm-calendar-header-right__next:hover,.vm-calendar-header-right__prev:hover{opacity:.8}.vm-calendar-header-right__prev{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.vm-calendar-header-right__next{-webkit-transform:rotate(-90deg);transform:rotate(-90deg)}.vm-calendar-body{grid-gap:2px;display:grid;gap:2px;grid-template-columns:repeat(7,32px);grid-template-rows:repeat(6,32px)}.vm-calendar-body,.vm-calendar-body-cell{align-items:center;justify-content:center}.vm-calendar-body-cell{border-radius:50%;display:flex;height:100%;text-align:center}.vm-calendar-body-cell_weekday{color:var(--color-text-secondary)}.vm-calendar-body-cell_day{cursor:pointer;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-body-cell_day:hover{background-color:var(--color-hover-black)}.vm-calendar-body-cell_day_empty{pointer-events:none}.vm-calendar-body-cell_day_active{color:#fff}.vm-calendar-body-cell_day_active,.vm-calendar-body-cell_day_active:hover{background-color:var(--color-primary)}.vm-calendar-body-cell_day_today{border:1px solid var(--color-primary)}.vm-calendar-years{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(3,1fr);max-height:400px;overflow:auto}.vm-calendar-years__year{align-items:center;border-radius:8px;cursor:pointer;display:flex;justify-content:center;padding:8px 16px;transition:color .2s ease,background-color .3s ease-in-out}.vm-calendar-years__year:hover{background-color:var(--color-hover-black)}.vm-calendar-years__year_selected{color:#fff}.vm-calendar-years__year_selected,.vm-calendar-years__year_selected:hover{background-color:var(--color-primary)}.vm-calendar-time-picker{align-items:center;display:flex;flex-direction:column;justify-content:center}.vm-calendar-time-picker-clock{border:var(--border-divider);border-radius:50%;box-shadow:var(--box-shadow);box-sizing:initial;height:230px;position:relative;width:230px}.vm-calendar-time-picker-clock:after{background-color:var(--color-primary);border-radius:50%;content:"";height:6px;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:6px}.vm-calendar-time-picker-clock__arrow{background-color:var(--color-primary);height:107px;left:114px;margin-top:8px;opacity:.8;position:absolute;top:0;-webkit-transform-origin:bottom;transform-origin:bottom;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:2px;z-index:0}.vm-calendar-time-picker-clock__arrow_offset{height:73px;margin-top:42px;z-index:2}.vm-calendar-time-picker-clock__arrow:after{background-color:var(--color-primary);border-radius:50%;content:"";height:30px;left:50%;position:absolute;top:0;-webkit-transform:translateX(-50%);transform:translateX(-50%);width:30px}.vm-calendar-time-picker-clock__time{align-items:flex-start;cursor:pointer;display:flex;height:115px;justify-content:center;left:100px;padding-top:8px;position:absolute;text-align:center;top:0;-webkit-transform-origin:bottom;transform-origin:bottom;width:30px;z-index:1}.vm-calendar-time-picker-clock__time_hide{display:none}.vm-calendar-time-picker-clock__time_offset{height:73px;margin-top:42px;padding:0;z-index:2}.vm-calendar-time-picker-clock__time:hover span{background-color:hsla(0,6%,6%,.1)}.vm-calendar-time-picker-clock__time span{align-items:center;border-radius:50%;display:grid;justify-content:center;min-height:30px;min-width:30px;position:relative;-webkit-transform-origin:center;transform-origin:center;transition:background-color .3s ease}.vm-calendar-time-picker-fields{align-items:center;display:flex;justify-content:space-between;margin-top:16px}.vm-calendar-time-picker-fields_dark .vm-calendar-time-picker-fields__input{border-color:var(--color-text-disabled)}.vm-calendar-time-picker-fields span{margin:0 8px}.vm-calendar-time-picker-fields__input{background-color:transparent;border:var(--border-divider);border-radius:4px;color:var(--color-text);font-size:14px;height:32px;padding:2px 8px;text-align:center;width:64px}.vm-calendar-time-picker-fields__input:focus{border-color:var(--color-primary)}.vm-time-selector{display:grid;grid-template-columns:repeat(2,230px);padding:16px 0}@media(max-width:500px){.vm-time-selector{grid-template-columns:1fr;min-width:250px}}.vm-time-selector-left{border-right:var(--border-divider);display:flex;flex-direction:column;gap:8px;padding:0 16px}@media(max-width:500px){.vm-time-selector-left{border-bottom:var(--border-divider);border-right:none;padding-bottom:16px}}.vm-time-selector-left-inputs{align-items:flex-start;display:grid;flex-grow:1;justify-content:stretch}.vm-time-selector-left-inputs_dark .vm-time-selector-left-inputs__date{border-color:var(--color-text-disabled)}.vm-time-selector-left-inputs__date{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);cursor:pointer;display:grid;gap:8px;grid-template-columns:1fr 14px;justify-content:center;margin-bottom:16px;padding-bottom:8px;transition:color .2s ease-in-out,border-bottom-color .3s ease}.vm-time-selector-left-inputs__date:last-child{margin-bottom:0}.vm-time-selector-left-inputs__date:hover{border-bottom-color:var(--color-primary)}.vm-time-selector-left-inputs__date:hover,.vm-time-selector-left-inputs__date:hover svg{color:var(--color-primary)}.vm-time-selector-left-inputs__date label{color:var(--color-text-secondary);font-size:10px;grid-column:1/3}.vm-time-selector-left-inputs__date svg{color:var(--color-text-secondary);transition:color .2s ease-in-out}.vm-time-selector-left-timezone{align-items:center;display:flex;font-size:10px;gap:8px;justify-content:space-between;margin-bottom:8px}.vm-time-selector-left-timezone__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-time-selector-left__controls{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.vm-text-field{display:grid;margin:6px 0;position:relative;width:100%}.vm-text-field_textarea:after{content:attr(data-replicated-value) " ";visibility:hidden;white-space:pre-wrap}.vm-text-field:after,.vm-text-field__input{background-color:transparent;border:var(--border-divider);font-size:12px;grid-area:1/1/2/2;line-height:18px;overflow:hidden;padding:8px 16px;width:100%}.vm-text-field__error,.vm-text-field__helper-text,.vm-text-field__label{-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;background-color:var(--color-background-block);display:-webkit-box;font-size:10px;left:8px;line-height:12px;max-width:calc(100% - 16px);overflow:hidden;padding:0 3px;pointer-events:none;position:absolute;text-overflow:ellipsis;-webkit-user-select:none;user-select:none;z-index:2}.vm-text-field__label{color:var(--color-text-secondary);top:-7px}.vm-text-field__error{color:var(--color-error);top:calc(100% - 7px)}.vm-text-field__helper-text{bottom:-5px;color:var(--color-text-secondary)}.vm-text-field__input{background-color:transparent;border-radius:4px;color:var(--color-text);display:block;min-height:34px;overflow:hidden;resize:none;transition:border .2s ease}.vm-text-field__input:focus,.vm-text-field__input:hover{border:1px solid var(--color-primary)}.vm-text-field__input_error,.vm-text-field__input_error:focus,.vm-text-field__input_error:hover{border:1px solid var(--color-error)}.vm-text-field__input_icon-start{padding-left:31px}.vm-text-field__input:disabled{background-color:inherit;color:inherit}.vm-text-field__input:disabled:hover{border-color:var(--color-text-disabled)}.vm-text-field__icon-end,.vm-text-field__icon-start{align-items:center;color:var(--color-text-secondary);display:flex;height:100%;justify-content:center;left:8px;max-width:15px;position:absolute;top:auto}.vm-text-field__icon-end{left:auto;right:8px}.vm-modal{align-items:center;background:hsla(0,6%,6%,.55);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:100}.vm-modal_mobile .vm-modal-content{border-radius:0;max-height:calc(var(--vh)*100);min-height:calc(var(--vh)*100);width:100vw}.vm-modal_mobile .vm-modal-content-body{align-items:flex-start;display:grid;min-height:100%}.vm-modal-content{align-items:flex-start;background:var(--color-background-block);border-radius:4px;box-shadow:0 0 24px hsla(0,6%,6%,.07);display:grid;grid-template-rows:auto 1fr;max-height:calc(var(--vh)*90);overflow:auto;padding:22px}.vm-modal-content-header{align-items:center;display:grid;grid-template-columns:1fr auto;margin-bottom:22px}.vm-modal-content-header__title{font-size:14px;font-weight:700}.vm-modal-content-header__close{align-items:center;box-sizing:initial;color:#fff;cursor:pointer;display:flex;justify-content:center;padding:10px;width:24px}.vm-server-configurator{align-items:center;display:flex;flex-direction:column;gap:24px;width:600px}.vm-server-configurator_mobile{align-items:flex-start;grid-auto-rows:-webkit-min-content;grid-auto-rows:min-content;height:100%;width:100%}@media(max-width:768px){.vm-server-configurator{width:100%}}.vm-server-configurator__input{width:100%}.vm-server-configurator__input_server{grid-gap:0 8px;display:grid;gap:0 8px;grid-template-columns:1fr auto}.vm-server-configurator__title{align-items:center;display:flex;font-size:12px;font-weight:700;grid-column:auto/span 2;justify-content:flex-start;margin-bottom:16px}.vm-server-configurator__footer{align-items:center;display:inline-grid;gap:8px;grid-template-columns:repeat(2,1fr);justify-content:flex-end;margin-left:auto;margin-right:0}.vm-server-configurator_mobile .vm-server-configurator__footer{align-items:flex-end;flex-grow:1;width:100%}.vm-limits-configurator-title__reset{align-items:center;display:flex;flex-grow:1;justify-content:flex-end}.vm-limits-configurator__inputs{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.vm-limits-configurator__inputs div{flex-grow:1}.vm-accordion-header{align-items:center;cursor:pointer;display:grid;font-size:inherit;position:relative}.vm-accordion-header__arrow{align-items:center;display:flex;justify-content:center;position:absolute;right:14px;top:auto;-webkit-transform:rotate(0);transform:rotate(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out}.vm-accordion-header__arrow_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-accordion-header__arrow svg{height:auto;width:14px}.accordion-section{overflow:hidden}.vm-timezones-item{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between}.vm-timezones-item_selected{border:var(--border-divider);border-radius:4px;padding:8px 16px}.vm-timezones-item__title{text-transform:capitalize}.vm-timezones-item__utc{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;justify-content:center;padding:4px}.vm-timezones-item__icon{align-items:center;display:inline-flex;justify-content:flex-end;margin:0 0 0 auto;transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-timezones-item__icon svg{width:14px}.vm-timezones-item__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-timezones-list{border-radius:8px;max-height:200px;overflow:auto}.vm-timezones-list,.vm-timezones-list-header{background-color:var(--color-background-block)}.vm-timezones-list-header{border-bottom:var(--border-divider);position:-webkit-sticky;position:sticky;top:0;z-index:2}.vm-timezones-list-header__search{padding:8px}.vm-timezones-list-group{border-bottom:var(--border-divider);padding:8px 0}.vm-timezones-list-group:last-child{border-bottom:none}.vm-timezones-list-group__title{color:var(--color-text-secondary);font-weight:700;padding:8px 16px}.vm-timezones-list-group-options{align-items:flex-start;display:grid}.vm-timezones-list-group-options__item{padding:8px 16px;transition:background-color .2s ease}.vm-timezones-list-group-options__item:hover{background-color:hsla(0,6%,6%,.1)}.vm-theme-control__toggle{display:inline-flex;min-width:300px;text-transform:capitalize}.vm-theme-control_mobile .vm-theme-control__toggle{display:flex}.vm-toggles{grid-gap:3px;display:grid;gap:3px;position:relative;width:100%}.vm-toggles__label{color:var(--color-text-secondary);font-size:10px;line-height:1;padding:0 16px}.vm-toggles-group{overflow:hidden;width:100%}.vm-toggles-group,.vm-toggles-group-item{align-items:center;display:grid;justify-content:center;position:relative}.vm-toggles-group-item{border-bottom:var(--border-divider);border-right:var(--border-divider);border-top:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;font-size:10px;font-weight:700;padding:8px;text-align:center;transition:color .15s ease-in;-webkit-user-select:none;user-select:none;z-index:2}.vm-toggles-group-item_first{border-left:var(--border-divider);border-radius:16px 0 0 16px}.vm-toggles-group-item:last-child{border-left:none;border-radius:0 16px 16px 0}.vm-toggles-group-item_icon{gap:4px;grid-template-columns:14px auto}.vm-toggles-group-item:hover{color:var(--color-primary)}.vm-toggles-group-item_active{border-color:transparent;color:var(--color-primary)}.vm-toggles-group-item_active:hover{background-color:transparent}.vm-toggles-group__highlight{background-color:rgba(var(--color-primary),.08);border:1px solid var(--color-primary);height:100%;position:absolute;top:0;transition:left .2s cubic-bezier(.28,.84,.42,1),border-radius .2s linear;z-index:1}.vm-shortcuts{min-width:400px}@media(max-width:500px){.vm-shortcuts{min-width:100%}}.vm-shortcuts-section{margin-bottom:24px}.vm-shortcuts-section__title{border-bottom:var(--border-divider);font-weight:700;margin-bottom:16px;padding:8px 0}.vm-shortcuts-section-list{grid-gap:16px;display:grid;gap:16px}@media(max-width:500px){.vm-shortcuts-section-list{gap:24px}}.vm-shortcuts-section-list-item{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:210px 1fr}@media(max-width:500px){.vm-shortcuts-section-list-item{grid-template-columns:1fr}}.vm-shortcuts-section-list-item__key{align-items:center;display:flex;gap:4px}.vm-shortcuts-section-list-item__key code{background-color:var(--color-background-body);background-repeat:repeat-x;border:var(--border-divider);border-radius:4px;color:var(--color-text);display:inline-block;font-size:10px;line-height:2;padding:2px 8px 0;text-align:center}.vm-shortcuts-section-list-item__description{font-size:12px}.vm-header{align-items:center;display:flex;flex-wrap:wrap;gap:0 48px;justify-content:flex-start;min-height:51px;padding:8px 24px;z-index:99}.vm-header_app{padding:8px 0}@media(max-width:1000px){.vm-header{gap:8px;padding:8px;position:-webkit-sticky;position:sticky;top:0}}.vm-header_dark .vm-header-button,.vm-header_dark button,.vm-header_dark button:before{background-color:var(--color-background-block)}.vm-header-logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;margin-bottom:2px;max-width:65px;min-width:65px;overflow:hidden;position:relative;width:100%}@media(max-width:1200px){.vm-header-logo{max-width:14px;min-width:14px}}.vm-header-logo svg{max-width:65px;min-width:65px}.vm-header__settings{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-end}.vm-button{align-items:center;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:10px;font-weight:400;justify-content:center;line-height:15px;min-height:31px;padding:6px 14px;position:relative;text-transform:uppercase;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;-webkit-user-select:none;user-select:none;white-space:nowrap}.vm-button:hover:after{background-color:var(--color-hover-black)}.vm-button:after,.vm-button:before{border-radius:6px;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .2s ease;width:100%}.vm-button:before{-webkit-transform:translateZ(-2px);transform:translateZ(-2px)}.vm-button:after{background-color:transparent;-webkit-transform:translateZ(-1px);transform:translateZ(-1px)}.vm-button span{align-items:center;display:grid;justify-content:center}.vm-button span svg{width:15px}.vm-button__start-icon{margin-right:6px}.vm-button__end-icon{margin-left:6px}.vm-button_disabled{cursor:not-allowed;opacity:.3}.vm-button_icon{padding:6px 8px}.vm-button_icon .vm-button__end-icon,.vm-button_icon .vm-button__start-icon{margin:0}.vm-button_small{min-height:25px;padding:4px 6px}.vm-button_small span svg{width:13px}.vm-button_contained_primary{color:var(--color-primary-text)}.vm-button_contained_primary:before{background-color:var(--color-primary)}.vm-button_contained_primary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_secondary{color:var(--color-secondary-text)}.vm-button_contained_secondary:before{background-color:var(--color-secondary)}.vm-button_contained_secondary:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_success{color:var(--color-success-text)}.vm-button_contained_success:before{background-color:var(--color-success)}.vm-button_contained_success:hover:after{background-color:hsla(0,6%,6%,.2)}.vm-button_contained_error{color:var(--color-error-text)}.vm-button_contained_error:before{background-color:var(--color-error)}.vm-button_contained_gray{color:var(--color-text-secondary)}.vm-button_contained_gray:before{background-color:var(--color-text-secondary)}.vm-button_contained_warning{color:var(--color-warning)}.vm-button_contained_warning:before{background-color:var(--color-warning);opacity:.2}.vm-button_text_primary{color:var(--color-primary)}.vm-button_text_secondary{color:var(--color-secondary)}.vm-button_text_success{color:var(--color-success)}.vm-button_text_error{color:var(--color-error)}.vm-button_text_gray{color:var(--color-text-secondary)}.vm-button_text_warning{color:var(--color-warning)}.vm-button_outlined_primary{border:1px solid var(--color-primary);color:var(--color-primary)}.vm-button_outlined_error{border:1px solid var(--color-error);color:var(--color-error)}.vm-button_outlined_secondary{border:1px solid var(--color-secondary);color:var(--color-secondary)}.vm-button_outlined_success{border:1px solid var(--color-success);color:var(--color-success)}.vm-button_outlined_gray{border:1px solid var(--color-text-secondary);color:var(--color-text-secondary)}.vm-button_outlined_warning{border:1px solid var(--color-warning);color:var(--color-warning)}.vm-step-control{display:inline-flex}.vm-step-control button{text-transform:none}.vm-step-control__value{display:inline;margin-left:3px}@media(max-width:500px){.vm-step-control__value{display:none}}.vm-step-control-popper{grid-gap:8px;display:grid;font-size:12px;gap:8px;max-height:208px;max-width:300px;overflow:auto;padding:16px}.vm-step-control-popper-info{font-size:10px;line-height:1.6}.vm-step-control-popper-info a{margin:0 .2em}.vm-step-control-popper-info code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;margin:0 .2em;padding:.2em .4em}.vm-header-nav{align-items:center;display:flex;font-size:10px;font-weight:700;gap:16px;justify-content:flex-start}.vm-header-nav_column{align-items:stretch;flex-direction:column;gap:8px}.vm-header-nav_column .vm-header-nav-item{padding:16px 0}.vm-header-nav_column .vm-header-nav-item_sub{justify-content:stretch}.vm-header-nav-item{cursor:pointer;opacity:.5;padding:16px 8px;position:relative;text-transform:uppercase;transition:opacity .2s ease-in}.vm-header-nav-item_sub{grid-gap:4px;align-items:center;cursor:default;display:grid;gap:4px;grid-template-columns:auto 14px;justify-content:center}.vm-header-nav-item:hover,.vm-header-nav-item_active{opacity:1}.vm-header-nav-item svg{-webkit-transform:rotate(0deg);transform:rotate(0deg);transition:-webkit-transform .2s ease-in;transition:transform .2s ease-in;transition:transform .2s ease-in,-webkit-transform .2s ease-in}.vm-header-nav-item_open svg{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-header-nav-item-submenu{border-radius:2px;color:#fff;display:grid;font-size:10px;font-weight:700;opacity:1;padding:8px;-webkit-transform-origin:top center;transform-origin:top center;white-space:nowrap}.vm-header-nav-item-submenu-item{cursor:pointer}.vm-tenant-input{position:relative}.vm-tenant-input-list{border-radius:8px;max-height:300px;overflow:auto;overscroll-behavior:none}.vm-tenant-input-list__search{background-color:var(--color-background-block);padding:8px;position:-webkit-sticky;position:sticky;top:0}.vm-menu-burger{background:none;border:none;cursor:pointer;height:18px;outline:none;padding:0;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;width:18px}.vm-menu-burger:after{background-color:hsla(0,6%,6%,.1);border-radius:50%;content:"";height:calc(100% + 12px);left:-6px;position:absolute;top:-6px;-webkit-transform:scale(0) translateZ(-2px);transform:scale(0) translateZ(-2px);transition:-webkit-transform .14s ease-in-out;transition:transform .14s ease-in-out;transition:transform .14s ease-in-out,-webkit-transform .14s ease-in-out;width:calc(100% + 12px)}.vm-menu-burger:hover:after{-webkit-transform:scale(1) translateZ(-2px);transform:scale(1) translateZ(-2px)}.vm-menu-burger span{border-top:2px solid #fff;display:block;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);transition:border-color .3s ease,-webkit-transform .3s ease;transition:transform .3s ease,border-color .3s ease;transition:transform .3s ease,border-color .3s ease,-webkit-transform .3s ease}.vm-menu-burger span,.vm-menu-burger span:after,.vm-menu-burger span:before{border-radius:6px;height:2px;left:0;position:absolute;width:100%}.vm-menu-burger span:after,.vm-menu-burger span:before{-webkit-animation-duration:.6s;animation-duration:.6s;-webkit-animation-fill-mode:forwards;animation-fill-mode:forwards;-webkit-animation-timing-function:cubic-bezier(.645,.045,.355,1);animation-timing-function:cubic-bezier(.645,.045,.355,1);background:#fff;content:"";top:0}.vm-menu-burger span:before{-webkit-animation-name:topLineBurger;animation-name:topLineBurger}.vm-menu-burger span:after{-webkit-animation-name:bottomLineBurger;animation-name:bottomLineBurger}.vm-menu-burger_opened span{border-color:transparent}.vm-menu-burger_opened span:before{-webkit-animation-name:topLineCross;animation-name:topLineCross}.vm-menu-burger_opened span:after{-webkit-animation-name:bottomLineCross;animation-name:bottomLineCross}@-webkit-keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@keyframes topLineCross{0%{-webkit-transform:translateY(-7px);transform:translateY(-7px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(45deg);transform:translateY(-2px) translateX(30%) rotate(45deg);width:60%}}@-webkit-keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@keyframes bottomLineCross{0%{-webkit-transform:translateY(3px);transform:translateY(3px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}to{-webkit-transform:translateY(-2px) translateX(30%) rotate(-45deg);transform:translateY(-2px) translateX(30%) rotate(-45deg);width:60%}}@-webkit-keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@keyframes topLineBurger{0%{-webkit-transform:translateY(0) rotate(45deg);transform:translateY(0) rotate(45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(-7px) rotate(0deg);transform:translateY(-7px) rotate(0deg)}}@-webkit-keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}@keyframes bottomLineBurger{0%{-webkit-transform:translateY(0) rotate(-45deg);transform:translateY(0) rotate(-45deg)}50%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:translateY(3px) rotate(0deg);transform:translateY(3px) rotate(0deg)}}.vm-header-sidebar{background-color:inherit;color:inherit;height:24px;width:24px}.vm-header-sidebar-button{left:16px;position:absolute;top:16px;transition:left .3s cubic-bezier(.28,.84,.42,1)}.vm-header-sidebar-button_open{left:166px;position:fixed;z-index:102}.vm-header-sidebar-menu{grid-gap:16px;background-color:inherit;box-shadow:var(--box-shadow-popper);display:grid;gap:16px;grid-template-rows:auto 1fr auto;height:100%;left:0;padding:16px;position:fixed;top:0;-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-transform-origin:left;transform-origin:left;transition:-webkit-transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1);transition:transform .3s cubic-bezier(.28,.84,.42,1),-webkit-transform .3s cubic-bezier(.28,.84,.42,1);width:200px;z-index:101}.vm-header-sidebar-menu_open{-webkit-transform:translateX(0);transform:translateX(0)}.vm-header-sidebar-menu__logo{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;position:relative;width:65px}.vm-header-sidebar-menu-settings{grid-gap:8px;align-items:center;display:grid;gap:8px}.vm-container{display:flex;flex-direction:column;min-height:calc(var(--vh)*100 - var(--scrollbar-height))}.vm-container-body{background-color:var(--color-background-body);flex-grow:1;min-height:100%;padding:24px}@media(max-width:768px){.vm-container-body{padding:0}}.vm-container-body_app{background-color:transparent;padding:8px 0}.vm-footer{align-items:center;background:var(--color-background-body);border-top:var(--border-divider);color:var(--color-text-secondary);display:flex;flex-wrap:wrap;gap:24px;justify-content:center;padding:24px}.vm-footer__link,.vm-footer__website{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:12px auto;justify-content:center}.vm-footer__website{margin-right:16px}@media(max-width:768px){.vm-footer__website{margin-right:0;width:100%}}.vm-footer__link{grid-template-columns:14px auto}.vm-footer__copyright{flex-grow:1;text-align:right}@media(max-width:768px){.vm-footer__copyright{text-align:center;width:100%}}.uplot,.uplot *,.uplot :after,.uplot :before{box-sizing:border-box}.uplot{font-family: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;line-height:1.5;width:-webkit-min-content;width:min-content}.u-title{font-size:18px;font-weight:700;text-align:center}.u-wrap{position:relative;-webkit-user-select:none;user-select:none}.u-over,.u-under{position:absolute}.u-under{overflow:hidden}.uplot canvas{display:block;height:100%;position:relative;width:100%}.u-axis{position:absolute}.u-legend{margin:auto;text-align:center}.u-inline{display:block}.u-inline *{display:inline-block}.u-inline tr{margin-right:16px}.u-legend th{font-weight:600}.u-legend th>*{display:inline-block;vertical-align:middle}.u-legend .u-marker{background-clip:padding-box!important;height:1em;margin-right:4px;width:1em}.u-inline.u-live th:after{content:":";vertical-align:middle}.u-inline:not(.u-live) .u-value{display:none}.u-series>*{padding:4px}.u-series th{cursor:pointer}.u-legend .u-off>*{opacity:.3}.u-select{background:rgba(0,0,0,.07)}.u-cursor-x,.u-cursor-y,.u-select{pointer-events:none;position:absolute}.u-cursor-x,.u-cursor-y{left:0;top:0;will-change:transform;z-index:100}.u-hz .u-cursor-x,.u-vt .u-cursor-y{border-right:1px dashed #607d8b;height:100%}.u-hz .u-cursor-y,.u-vt .u-cursor-x{border-bottom:1px dashed #607d8b;width:100%}.u-cursor-pt{background-clip:padding-box!important;border:0 solid;border-radius:50%;left:0;pointer-events:none;position:absolute;top:0;will-change:transform;z-index:100}.u-axis.u-off,.u-cursor-pt.u-off,.u-cursor-x.u-off,.u-cursor-y.u-off,.u-select.u-off{display:none}.vm-line-chart{pointer-events:auto}.vm-line-chart_panning{pointer-events:none}.vm-line-chart__u-plot{position:relative}.vm-chart-tooltip{grid-gap:16px;word-wrap:break-word;background:var(--color-background-tooltip);border-radius:8px;color:#fff;display:grid;font-family:monospace;font-size:10px;font-weight:400;gap:16px;line-height:150%;padding:8px;pointer-events:none;position:absolute;-webkit-user-select:text;user-select:text;width:325px;z-index:98}.vm-chart-tooltip_sticky{pointer-events:auto;z-index:99}.vm-chart-tooltip_moved{margin-left:-271.5px;margin-top:-20.5px;position:fixed}.vm-chart-tooltip-header{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr 25px 25px;justify-content:center;min-height:25px}.vm-chart-tooltip-header__close{color:#fff}.vm-chart-tooltip-header__drag{color:#fff;cursor:move}.vm-chart-tooltip-data{grid-gap:8px;align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto 1fr;line-height:12px;word-break:break-all}.vm-chart-tooltip-data__marker{height:12px;width:12px}.vm-chart-tooltip-info{grid-gap:4px;display:grid;word-break:break-all}.vm-legend-item{grid-gap:8px;align-items:start;background-color:var(--color-background-block);cursor:pointer;display:grid;grid-template-columns:auto auto;justify-content:start;margin-bottom:8px;padding:8px;transition:.2s ease}.vm-legend-item:hover{background-color:rgba(0,0,0,.1)}.vm-legend-item_hide{opacity:.5;text-decoration:line-through}.vm-legend-item__marker{border-radius:2px;box-sizing:border-box;height:14px;transition:.2s ease;width:14px}.vm-legend-item-info{font-weight:400;word-break:break-all}.vm-legend-item-info__label{margin-right:2px}.vm-legend-item-info__free-fields{cursor:pointer;padding:2px}.vm-legend-item-info__free-fields:hover{text-decoration:underline}.vm-legend-item-values{align-items:center;display:flex;gap:8px;grid-column:2}.vm-legend{cursor:default;display:flex;flex-wrap:wrap;margin-top:24px;position:relative}.vm-legend-group{margin:0 16px 16px 0;min-width:23%;width:100%}.vm-legend-group-title{align-items:center;border-bottom:var(--border-divider);display:flex;margin-bottom:1px;padding:8px}.vm-legend-group-title__count{font-weight:700;margin-right:8px}.vm-graph-view{width:100%}.vm-graph-view_full-width{width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-graph-view_full-width{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-autocomplete{max-height:300px;overflow:auto}.vm-autocomplete__no-options{color:var(--color-text-disabled);padding:16px;text-align:center}.vm-query-editor-autocomplete{max-height:300px;overflow:auto}.vm-additional-settings{align-items:center;display:inline-flex;flex-wrap:wrap;gap:24px;justify-content:flex-start}.vm-additional-settings__input{flex-basis:160px;margin-bottom:-6px}.vm-switch{align-items:center;cursor:pointer;display:flex;justify-content:flex-start}.vm-switch_disabled{cursor:default;opacity:.6}.vm-switch_secondary_active .vm-switch-track{background-color:var(--color-secondary)}.vm-switch_primary_active .vm-switch-track{background-color:var(--color-primary)}.vm-switch_active .vm-switch-track__thumb{left:20px}.vm-switch:hover .vm-switch-track{opacity:.8}.vm-switch-track{align-items:center;background-color:hsla(0,6%,6%,.4);border-radius:17px;display:flex;height:17px;justify-content:flex-start;padding:3px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:34px}.vm-switch-track__thumb{background-color:var(--color-background-block);border-radius:50%;left:3px;min-height:11px;min-width:11px;position:absolute;top:auto;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:right .2s ease-out,left .2s ease-out}.vm-switch__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-query-configurator{grid-gap:8px;display:grid;gap:8px}.vm-query-configurator-list{display:grid}.vm-query-configurator-list-row{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:1fr auto auto}.vm-query-configurator-list-row_disabled{-webkit-filter:grayscale(100%);filter:grayscale(100%);opacity:.5}.vm-query-configurator-list-row__button{display:grid;min-height:36px;width:36px}.vm-query-configurator-settings{align-items:center;display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between}@media(max-width:500px){.vm-query-configurator-settings{align-items:flex-end;display:grid;grid-template-columns:1fr 1fr}}.vm-query-configurator-settings__buttons{grid-gap:8px;display:grid;flex-grow:1;gap:8px;grid-template-columns:repeat(2,auto);justify-content:flex-end}@media(max-width:500px){.vm-query-configurator-settings__buttons{grid-template-columns:1fr}}.vm-json-view__copy{display:flex;justify-content:flex-end;position:-webkit-sticky;position:sticky;top:24px;z-index:2}.vm-json-view__code{font-size:12px;line-height:1.4;-webkit-transform:translateY(-32px);transform:translateY(-32px);white-space:pre-wrap}.vm-axes-limits{max-width:300px}.vm-axes-limits,.vm-axes-limits-list{grid-gap:16px;align-items:center;display:grid;gap:16px}.vm-axes-limits-list__inputs{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,120px)}.vm-graph-settings-popper{grid-gap:16px;display:grid;gap:16px;padding:0 0 16px}.vm-graph-settings-popper__body{grid-gap:8px;display:grid;gap:8px;padding:0 16px}.vm-spinner{align-items:center;-webkit-animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);animation:vm-fade 2s cubic-bezier(.28,.84,.42,1.1);background-color:hsla(0,0%,100%,.5);bottom:0;display:flex;flex-direction:column;justify-content:center;left:0;pointer-events:none;position:fixed;right:0;top:0;z-index:99}.vm-spinner_dark{background-color:hsla(0,6%,6%,.2)}.vm-spinner__message{color:rgba(var(--color-text),.9);font-size:14px;line-height:1.3;margin-top:24px;text-align:center;white-space:pre-line}.half-circle-spinner,.half-circle-spinner *{box-sizing:border-box}.half-circle-spinner{border-radius:100%;height:60px;position:relative;width:60px}.half-circle-spinner .circle{border:6px solid transparent;border-radius:100%;content:"";height:100%;position:absolute;width:100%}.half-circle-spinner .circle.circle-1{-webkit-animation:half-circle-spinner-animation 1s infinite;animation:half-circle-spinner-animation 1s infinite;border-top-color:var(--color-primary)}.half-circle-spinner .circle.circle-2{-webkit-animation:half-circle-spinner-animation 1s infinite alternate;animation:half-circle-spinner-animation 1s infinite alternate;border-bottom-color:var(--color-primary)}@-webkit-keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes half-circle-spinner-animation{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@-webkit-keyframes vm-fade{0%{opacity:0}to{opacity:1}}@keyframes vm-fade{0%{opacity:0}to{opacity:1}}.vm-tracings-view{grid-gap:24px;display:grid;gap:24px}.vm-tracings-view-trace-header{align-items:center;border-bottom:var(--border-divider);display:flex;justify-content:space-between;padding:8px 8px 8px 24px}.vm-tracings-view-trace-header-title{flex-grow:1;font-size:14px;margin-right:8px}.vm-tracings-view-trace-header-title__query{font-weight:700}.vm-tracings-view-trace__nav{padding:24px 24px 24px 0}.vm-line-progress{grid-gap:8px;align-items:center;color:var(--color-text-secondary);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:center}.vm-line-progress-track{background-color:var(--color-hover-black);border-radius:4px;height:20px;width:100%}.vm-line-progress-track__thumb{background-color:#1a90ff;border-radius:4px;height:100%}.vm-nested-nav{background-color:rgba(201,227,246,.4);border-radius:4px;margin-left:24px}.vm-nested-nav_dark{background-color:hsla(0,6%,6%,.1)}.vm-nested-nav-header{grid-gap:8px;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-columns:auto 1fr;padding:8px;transition:background-color .2s ease-in-out}.vm-nested-nav-header:hover{background-color:var(--color-hover-black)}.vm-nested-nav-header__icon{align-items:center;display:flex;justify-content:center;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px}.vm-nested-nav-header__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-nested-nav-header__message,.vm-nested-nav-header__progress{grid-column:2}.vm-nested-nav-header__duration{color:var(--color-text-secondary);grid-column:2}.vm-json-form{grid-gap:16px;display:grid;gap:16px;grid-template-rows:auto calc(var(--vh)*70 - 150px) auto;max-height:900px;max-width:1000px;overflow:hidden;width:70vw}.vm-json-form_mobile{grid-template-rows:auto 1fr auto;min-height:100%;width:100%}.vm-json-form_one-field{grid-template-rows:calc(var(--vh)*70 - 150px) auto}.vm-json-form textarea{height:100%;max-height:900px;overflow:auto;width:100%}.vm-json-form-footer{align-items:center;display:flex;gap:8px;justify-content:space-between}@media(max-width:500px){.vm-json-form-footer{flex-direction:column}.vm-json-form-footer button{flex-grow:1}}.vm-json-form-footer__controls{align-items:center;display:flex;flex-grow:1;gap:8px;justify-content:flex-start}@media(max-width:500px){.vm-json-form-footer__controls{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-json-form-footer__controls_right{display:grid;grid-template-columns:repeat(2,90px);justify-content:flex-end}@media(max-width:500px){.vm-json-form-footer__controls_right{grid-template-columns:repeat(2,1fr);justify-content:center;width:100%}}.vm-table-settings-popper{display:grid;min-width:250px}.vm-table-settings-popper-list{grid-gap:8px;border-bottom:var(--border-divider);display:grid;gap:8px;max-height:350px;overflow:auto;padding:16px}.vm-table-settings-popper-list-header{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between;min-height:25px}.vm-table-settings-popper-list-header__title{font-weight:700}.vm-table-settings-popper-list__item{font-size:12px;text-transform:capitalize}.vm-checkbox{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;-webkit-user-select:none;user-select:none}.vm-checkbox_disabled{cursor:default;opacity:.6}.vm-checkbox_secondary_active .vm-checkbox-track{background-color:var(--color-secondary)}.vm-checkbox_secondary .vm-checkbox-track{border:1px solid var(--color-secondary)}.vm-checkbox_primary_active .vm-checkbox-track{background-color:var(--color-primary)}.vm-checkbox_primary .vm-checkbox-track{border:1px solid var(--color-primary)}.vm-checkbox_active .vm-checkbox-track__thumb{-webkit-transform:scale(1);transform:scale(1)}.vm-checkbox:hover .vm-checkbox-track{opacity:.8}.vm-checkbox-track{align-items:center;background-color:transparent;border-radius:4px;display:flex;height:16px;justify-content:center;padding:2px;position:relative;transition:background-color .2s ease,opacity .3s ease-out;width:16px}.vm-checkbox-track__thumb{align-items:center;color:#fff;display:grid;height:12px;justify-content:center;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .1s ease-in-out;transition:transform .1s ease-in-out;transition:transform .1s ease-in-out,-webkit-transform .1s ease-in-out;width:12px}.vm-checkbox__label{color:inherit;font-size:inherit;margin-left:8px;transition:color .2s ease;white-space:nowrap}.vm-custom-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:100%;height:100%}.vm-custom-panel__warning{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between}.vm-custom-panel-body{position:relative}.vm-custom-panel-body-header{align-items:center;border-bottom:var(--border-divider);display:flex;font-size:10px;justify-content:space-between;margin:-24px -24px 24px;padding:0 24px;position:relative;z-index:1}.vm-table-view{margin-top:-24px;max-width:100%;overflow:auto}.vm-table-view table{margin-top:0}.vm-predefined-panel-header{grid-gap:8px;align-items:center;border-bottom:var(--border-divider);display:grid;gap:8px;grid-template-columns:auto 1fr auto;justify-content:flex-start;padding:8px 16px}.vm-predefined-panel-header__description{line-height:1.3;white-space:pre-wrap}.vm-predefined-panel-header__description ol,.vm-predefined-panel-header__description ul{list-style-position:inside}.vm-predefined-panel-header__description a{color:#c9e3f6;text-decoration:underline}.vm-predefined-panel-header__info{align-items:center;color:var(--color-primary);display:flex;justify-content:center;width:18px}.vm-predefined-panel-body{min-height:500px;padding:8px 16px}.vm-predefined-dashboard{background-color:transparent}.vm-predefined-dashboard-header{align-items:center;border-radius:4px;box-shadow:var(--box-shadow);display:grid;font-weight:700;grid-template-columns:1fr auto;justify-content:space-between;line-height:14px;overflow:hidden;padding:16px;position:relative;-webkit-transform-style:preserve-3d;transform-style:preserve-3d;transition:box-shadow .2s ease-in-out}.vm-predefined-dashboard-header_open{border-radius:4px 4px 0 0;box-shadow:none}.vm-predefined-dashboard-header__title{font-size:12px}.vm-predefined-dashboard-header__count{font-size:10px;grid-column:2;margin-right:30px}.vm-predefined-dashboard-panels{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(12,1fr);padding:0}@media(max-width:1000px){.vm-predefined-dashboard-panels{grid-template-columns:1fr}}.vm-predefined-dashboard-panels-panel{border-radius:8px;overflow:hidden;position:relative}.vm-predefined-dashboard-panels-panel:hover .vm-predefined-dashboard-panels-panel__resizer{-webkit-transform:scale(1);transform:scale(1)}.vm-predefined-dashboard-panels-panel__resizer{bottom:0;cursor:se-resize;height:20px;position:absolute;right:0;-webkit-transform:scale(0);transform:scale(0);transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:20px;z-index:1}.vm-predefined-dashboard-panels-panel__resizer:after{border-bottom:2px solid hsla(0,6%,6%,.2);border-right:2px solid hsla(0,6%,6%,.2);bottom:5px;content:"";height:5px;position:absolute;right:5px;width:5px}.vm-predefined-dashboard-panels-panel__alert{grid-column:span 12}.vm-predefined-panels{grid-gap:16px;align-items:flex-start;display:grid;gap:16px}@media(max-width:768px){.vm-predefined-panels{padding:24px 0}}.vm-predefined-panels-tabs.vm-block{padding:16px}.vm-predefined-panels-tabs{align-items:center;display:flex;flex-wrap:wrap;font-size:10px;gap:8px;justify-content:flex-start;overflow:hidden;white-space:nowrap}.vm-predefined-panels-tabs__tab{background:#fff;border:1px solid hsla(0,6%,6%,.2);border-radius:8px;color:hsla(0,6%,6%,.2);cursor:pointer;padding:8px 16px;text-transform:uppercase;transition:background .2s ease-in-out,color .15s ease-in}.vm-predefined-panels-tabs__tab:hover{color:var(--color-primary)}.vm-predefined-panels-tabs__tab_active{border-color:var(--color-primary);color:var(--color-primary)}.vm-predefined-panels__dashboards{grid-gap:16px;display:grid;gap:16px}.vm-cardinality-configurator{grid-gap:8px;display:grid;gap:8px}.vm-cardinality-configurator-controls{align-items:center;display:flex;flex-wrap:wrap;gap:0 24px;justify-content:flex-start}.vm-cardinality-configurator-controls__query{flex-grow:8}.vm-cardinality-configurator-controls__item{flex-grow:1}.vm-cardinality-configurator-additional{align-items:center;display:flex;margin-bottom:8px}.vm-cardinality-configurator-bottom{flex-wrap:wrap}.vm-cardinality-configurator-bottom,.vm-cardinality-configurator-bottom__docs{align-items:center;display:flex;gap:16px}.vm-cardinality-configurator-bottom__info{flex-grow:1;font-size:12px}.vm-cardinality-configurator-bottom a{color:var(--color-text-secondary)}.vm-cardinality-configurator-bottom button{margin:0 0 0 auto}.u-legend{color:var(--color-text);font-family:Lato,sans-serif;font-size:14px}.u-legend .u-thead{display:none}.u-legend .u-series{display:flex;gap:8px}.u-legend .u-series th{display:none}.u-legend .u-series td:nth-child(2):after{content:":";margin-left:8px}.u-legend .u-series .u-value{display:block;padding:0;text-align:left}.vm-metrics-content-header{margin:-24px -24px 0}.vm-metrics-content__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-metrics-content__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-metrics-content__table .vm-table-cell_header{white-space:nowrap}.vm-cardinality-panel{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-top-queries-panel-header{margin:-24px -24px 0}.vm-top-queries-panel__table{overflow:auto;padding-top:24px;width:calc(100vw - 96px - var(--scrollbar-width))}@media(max-width:768px){.vm-top-queries-panel__table{width:calc(100vw - 48px - var(--scrollbar-width))}}.vm-top-queries-panel__table .vm-table-cell_header{white-space:nowrap}.vm-top-queries{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-top-queries-controls{grid-gap:8px;display:grid;gap:8px}.vm-top-queries-controls-fields{align-items:center;display:flex;flex-wrap:wrap;gap:24px}.vm-top-queries-controls-fields__item{flex-grow:1;min-width:200px}.vm-top-queries-controls-bottom{grid-gap:24px;align-items:flex-end;display:grid;gap:24px;grid-template-columns:1fr auto;justify-content:space-between}.vm-top-queries-controls-bottom__button{align-items:center;display:flex;justify-content:flex-end}.vm-top-queries-panels{grid-gap:24px;display:grid;gap:24px}.vm-trace-page{display:flex;flex-direction:column;min-height:100%}@media(max-width:768px){.vm-trace-page{padding:24px 0}}.vm-trace-page-controls{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1fr 1fr;justify-content:center}.vm-trace-page-header{grid-gap:16px;align-items:start;display:grid;gap:16px;grid-template-columns:1fr auto;margin-bottom:24px}@media(max-width:768px){.vm-trace-page-header{grid-template-columns:1fr;padding:0 24px}}.vm-trace-page-header-errors{grid-gap:24px;align-items:flex-start;display:grid;gap:24px;grid-template-columns:1fr;justify-content:stretch}@media(max-width:768px){.vm-trace-page-header-errors{grid-row:2}}.vm-trace-page-header-errors-item{align-items:center;display:grid;justify-content:stretch;position:relative}.vm-trace-page-header-errors-item__filename{min-height:20px}.vm-trace-page-header-errors-item__close{position:absolute;right:8px;top:auto;z-index:2}.vm-trace-page-preview{align-items:center;display:flex;flex-direction:column;flex-grow:1;justify-content:center}.vm-trace-page-preview__text{font-size:14px;line-height:1.8;margin-bottom:16px;text-align:center;white-space:pre-line}.vm-explore-metrics,.vm-explore-metrics-body{grid-gap:24px;align-items:flex-start;display:grid;gap:24px}.vm-explore-metrics-graph{padding:0 16px 16px}.vm-explore-metrics-graph__warning{align-items:center;display:grid;grid-template-columns:1fr auto;justify-content:space-between}.vm-explore-metrics-item-header{align-items:center;border-bottom:var(--border-divider);display:flex;flex-wrap:wrap;gap:16px;justify-content:flex-start;padding:16px}.vm-explore-metrics-item-header__index{color:var(--color-text-secondary);font-size:10px}.vm-explore-metrics-item-header__name{flex-grow:1;font-weight:700}.vm-explore-metrics-item-header-order{align-items:center;display:grid;grid-template-columns:auto 20px auto;justify-content:flex-start;text-align:center}.vm-explore-metrics-item-header-order__up{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-explore-metrics-item-header__layout{align-items:center;display:grid}.vm-explore-metrics-item-header code{background-color:var(--color-hover-black);border-radius:6px;font-size:85%;padding:.2em .4em}.vm-explore-metrics-item{position:relative}.vm-select-input{align-items:center;border:var(--border-divider);border-radius:4px;cursor:pointer;display:flex;justify-content:space-between;min-height:36px;padding:5px 0 5px 16px;position:relative}.vm-select-input-content{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;width:100%}.vm-select-input-content__selected{align-items:center;background-color:var(--color-hover-black);border-radius:4px;display:inline-flex;font-size:12px;justify-content:center;line-height:12px;padding:2px 2px 2px 6px}.vm-select-input-content__selected svg{align-items:center;background-color:transparent;border-radius:4px;display:flex;justify-content:center;margin-left:10px;padding:4px;transition:background-color .2s ease-in-out;width:20px}.vm-select-input-content__selected svg:hover{background-color:hsla(0,6%,6%,.1)}.vm-select-input input{background-color:transparent;border:none;border-radius:4px;color:var(--color-text);display:inline-block;flex-grow:1;font-size:12px;height:18px;line-height:18px;min-width:100px;padding:0;position:relative;z-index:2}.vm-select-input input:placeholder-shown{width:auto}.vm-select-input__icon{align-items:center;border-right:var(--border-divider);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;justify-content:flex-end;padding:0 8px;transition:opacity .2s ease-in,-webkit-transform .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in;transition:transform .2s ease-in,opacity .2s ease-in,-webkit-transform .2s ease-in}.vm-select-input__icon:last-child{border:none}.vm-select-input__icon svg{width:14px}.vm-select-input__icon_open{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-select-input__icon:hover{opacity:.7}.vm-explore-metrics-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px 18px;justify-content:flex-start}.vm-explore-metrics-header__job{flex-grow:1}.vm-explore-metrics-header__instance{flex-grow:2}.vm-explore-metrics-header__size{flex-grow:1}.vm-explore-metrics-header-metrics{flex-grow:1;width:100%}.vm-explore-metrics-header__clear-icon{align-items:center;cursor:pointer;display:flex;justify-content:center;padding:2px}.vm-explore-metrics-header__clear-icon:hover{opacity:.7}.vm-preview-icons{grid-gap:16px;align-items:flex-start;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,100px);justify-content:center}.vm-preview-icons-item{grid-gap:8px;align-items:stretch;border:1px solid transparent;border-radius:4px;cursor:pointer;display:grid;gap:8px;grid-template-rows:1fr auto;height:100px;justify-content:center;padding:16px 8px;transition:box-shadow .2s ease-in-out}.vm-preview-icons-item:hover{box-shadow:0 1px 4px rgba(0,0,0,.16)}.vm-preview-icons-item:active .vm-preview-icons-item__svg{-webkit-transform:scale(.9);transform:scale(.9)}.vm-preview-icons-item__name{font-size:10px;line-height:2;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.vm-preview-icons-item__svg{align-items:center;display:flex;height:100%;justify-content:center;transition:-webkit-transform .1s ease-out;transition:transform .1s ease-out;transition:transform .1s ease-out,-webkit-transform .1s ease-out}.vm-preview-icons-item__svg svg{height:24px;width:auto}#root,body,html{background-attachment:fixed;background-color:#fefeff;background-color:var(--color-background-body);background-repeat:no-repeat;color:#110f0f;color:var(--color-text);cursor:default;font-family:Lato,sans-serif;font-size:12px;margin:0;min-height:100%}body{overflow:auto}*{cursor:inherit;font:inherit;touch-action:pan-x pan-y}code{font-family:monospace}b{font-weight:700}input,textarea{cursor:text}input::-webkit-input-placeholder,textarea::-webkit-input-placeholder{-webkit-user-select:none;user-select:none}input::placeholder,textarea::placeholder{-webkit-user-select:none;user-select:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.vm-snackbar{bottom:16px;left:16px;position:fixed;z-index:999}svg{width:100%}*{scrollbar-color:#a09f9f #fff;scrollbar-color:var(--color-text-disabled) var(--color-background-block);scrollbar-width:thin}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:#fff;background:var(--color-background-block)}::-webkit-scrollbar-thumb{background-color:#a09f9f;background-color:var(--color-text-disabled);border:3px solid #fff;border:3px solid var(--color-background-block);border-radius:20px}a,abbr,acronym,address,applet,article,aside,audio,big,body,canvas,caption,center,cite,code,del,details,dfn,div,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{border:0;margin:0;padding:0;vertical-align:initial}h1,h2,h3,h4,h5,h6{font-weight:400}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}q:after,q:before{content:""}table{border-collapse:collapse;border-spacing:0}input::-webkit-input-placeholder{opacity:1;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input::placeholder{opacity:1;transition:opacity .3s ease}input:focus::-webkit-input-placeholder{opacity:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease}input:focus::placeholder{opacity:0;transition:opacity .3s ease}*{box-sizing:border-box;outline:none}button{background:none;border:none;border-radius:0;padding:0}strong{letter-spacing:1px}input[type=file]{cursor:pointer;font-size:0;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}input[type=file]:disabled{cursor:not-allowed}a{color:inherit;text-decoration:inherit}input,textarea{-webkit-text-fill-color:inherit;appearance:none;-webkit-appearance:none}input:disabled,textarea:disabled{opacity:1!important}input:placeholder-shown,textarea:placeholder-shown{width:100%}input:-webkit-autofill,input:-webkit-autofill:active,input:-webkit-autofill:focus,input:-webkit-autofill:hover{-webkit-box-shadow:inset 0 0 0 0 #fff!important;width:100%;z-index:2}@font-face{font-family:Lato;font-style:normal;font-weight:400;src:url(../../static/media/Lato-Regular.d714fec1633b69a9c2e9.ttf)}@font-face{font-family:Lato;font-style:normal;font-weight:700;src:url(../../static/media/Lato-Bold.32360ba4b57802daa4d6.ttf)}.vm-header-button{border:1px solid hsla(0,6%,6%,.2)}.vm-list-item{background-color:transparent;cursor:pointer;padding:12px 16px;transition:background-color .2s ease}.vm-list-item:hover,.vm-list-item_active{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-list-item_multiselect{grid-gap:8px;align-items:center;display:grid;gap:8px;grid-template-columns:10px 1fr;justify-content:flex-start}.vm-list-item_multiselect svg{-webkit-animation:vm-scale .15s cubic-bezier(.28,.84,.42,1);animation:vm-scale .15s cubic-bezier(.28,.84,.42,1)}.vm-list-item_multiselect span{grid-column:2}.vm-list-item_multiselect_selected{color:#3f51b5;color:var(--color-primary)}.vm-popper-header{grid-gap:8px;align-items:center;background-color:#fff;background-color:var(--color-background-block);border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);border-radius:4px 4px 0 0;color:#110f0f;color:var(--color-text);display:grid;gap:8px;grid-template-columns:1fr auto;justify-content:space-between;padding:8px 8px 8px 16px}.vm-popper-header__title{font-weight:700}.vm-block{background-color:#fff;background-color:var(--color-background-block);border-radius:8px;box-shadow:1px 2px 6px rgba(0,0,0,.08);box-shadow:var(--box-shadow);padding:24px}.vm-block_empty-padding{padding:0}.vm-section-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);border-radius:8px 8px 0 0;display:grid;grid-template-columns:1fr auto;justify-content:center;padding:0 24px}.vm-section-header__title{font-size:12px;font-weight:700}.vm-section-header__tabs{align-items:center;display:flex;font-size:10px;justify-content:flex-start}.vm-table{border-collapse:initial;border-spacing:0;margin-top:-24px;width:100%}.vm-table,.vm-table__row{background-color:#fff;background-color:var(--color-background-block)}.vm-table__row{transition:background-color .2s ease}.vm-table__row:hover:not(.vm-table__row_header){background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table__row_selected{background-color:rgba(26,144,255,.05)}.vm-table-cell{border-bottom:1px solid rgba(0,0,0,.15);border-bottom:var(--border-divider);height:40px;line-height:25px;padding:8px;vertical-align:top}.vm-table-cell__content{align-items:center;display:flex;justify-content:flex-start}.vm-table-cell_sort{cursor:pointer}.vm-table-cell_sort:hover{background-color:rgba(0,0,0,.06);background-color:var(--color-hover-black)}.vm-table-cell_header{font-weight:700;text-align:left;text-transform:capitalize}.vm-table-cell_gray{color:#110f0f;color:var(--color-text);opacity:.4}.vm-table-cell_right{text-align:right}.vm-table-cell_right .vm-table-cell__content{justify-content:flex-end}.vm-table-cell_no-wrap{white-space:nowrap}.vm-table__sort-icon{align-items:center;display:flex;justify-content:center;margin:0 8px;opacity:.4;transition:opacity .2s ease,-webkit-transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out;transition:opacity .2s ease,transform .2s ease-in-out,-webkit-transform .2s ease-in-out;width:15px}.vm-table__sort-icon_active{opacity:1}.vm-table__sort-icon_desc{-webkit-transform:rotate(180deg);transform:rotate(180deg)}.vm-link{cursor:pointer;transition:color .2s ease}.vm-link_colored{color:#3f51b5;color:var(--color-primary)}.vm-link_with-icon{grid-gap:6px;align-items:center;display:grid;gap:6px;grid-template-columns:14px auto;justify-content:center}.vm-link:hover{color:#3f51b5;color:var(--color-primary);text-decoration:underline}:root{--color-primary:#3f51b5;--color-secondary:#e91e63;--color-error:#fd080e;--color-warning:#ff8308;--color-info:#03a9f4;--color-success:#4caf50;--color-primary-text:#fff;--color-secondary-text:#fff;--color-error-text:#fff;--color-warning-text:#fff;--color-info-text:#fff;--color-success-text:#fff;--color-background-body:#fefeff;--color-background-block:#fff;--color-background-tooltip:rgba(97,97,97,.92);--color-text:#110f0f;--color-text-secondary:#706f6f;--color-text-disabled:#a09f9f;--box-shadow:rgba(0,0,0,.08) 1px 2px 6px;--box-shadow-popper:rgba(0,0,0,.1) 0px 2px 8px 0px;--border-divider:1px solid rgba(0,0,0,.15);--color-hover-black:rgba(0,0,0,.06)} \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.0be86920.js b/app/vmselect/vmui/static/js/main.0be86920.js new file mode 100644 index 000000000..ad16c1cd0 --- /dev/null +++ b/app/vmselect/vmui/static/js/main.0be86920.js @@ -0,0 +1,2 @@ +/*! For license information please see main.0be86920.js.LICENSE.txt */ +!function(){var e={680:function(e,t,n){"use strict";var r=n(476),i=n(962),o=i(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&o(e,".prototype.")>-1?i(n):n}},962:function(e,t,n){"use strict";var r=n(199),i=n(476),o=i("%Function.prototype.apply%"),a=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||r.call(a,o),l=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),s=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(d){c=null}e.exports=function(e){var t=u(r,a,arguments);if(l&&c){var n=l(t,"length");n.configurable&&c(t,"length",{value:1+s(0,e.length-(arguments.length-1))})}return t};var f=function(){return u(r,o,arguments)};c?c(e.exports,"apply",{value:f}):e.exports.apply=f},123:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],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),i=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(i,2,"0")},m:function e(t,n){if(t.date()1)return e(a[0])}else{var u=t.name;b[u]=t,i=u}return!r&&i&&(_=i),i||!r&&_},x=function(e,t){if(D(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new C(n)},k=y;k.l=w,k.i=D,k.w=function(e,t){return x(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var C=function(){function m(e){this.$L=w(e.locale,null,!0),this.parse(e)}var g=m.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(p);if(r){var i=r[2]-1||0,o=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)}}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()===h)},g.isSame=function(e,t){var n=x(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return x(e)=0&&(o[f]=parseInt(s,10))}var d=o[3],h=24===d?0:d,p=o[0]+"-"+o[1]+"-"+o[2]+" "+h+":"+o[4]+":"+o[5]+":000",v=+t;return(i.utc(p).valueOf()-(v-=v%1e3))/6e4},l=r.prototype;l.tz=function(e,t){void 0===e&&(e=o);var n=this.utcOffset(),r=this.toDate(),a=r.toLocaleString("en-US",{timeZone:e}),u=Math.round((r-new Date(a))/1e3/60),l=i(a).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-u,!0);if(t){var c=l.utcOffset();l=l.add(n-c,"minute")}return l.$x.$timezone=e,l},l.offsetName=function(e){var t=this.$x.$timezone||i.tz.guess(),n=a(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=l.startOf;l.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,e,t).tz(this.$x.$timezone,!0)},i.tz=function(e,t,n){var r=n&&t,a=n||t||o,l=u(+i(),a);if("string"!=typeof e)return i(e).tz(a);var c=function(e,t,n){var r=e-60*t*1e3,i=u(r,n);if(t===i)return[r,t];var o=u(r-=60*(i-t)*1e3,n);return i===o?[r,i]:[e-60*Math.min(i,o)*1e3,Math.max(i,o)]}(i.utc(e,r).valueOf(),l,a),s=c[0],f=c[1],d=i(s).utcOffset(f);return d.$x.$timezone=a,d},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(e){o=e}}}()},635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,i,o){var a=i.prototype;o.utc=function(e){return new i({date:e,utc:!0,args:arguments})},a.utc=function(t){var n=o(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},a.local=function(){return o(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 c=a.utcOffset;a.utcOffset=function(r,i){var o=this.$utils().u;if(o(r))return this.$u?0:o(this.$offset)?c.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 i=(""+r[0]).match(n)||["-",0,0],o=i[0],a=60*+i[1]+ +i[2];return 0===a?0:"+"===o?a:-a}(r),null===r))return this;var a=Math.abs(r)<=16?60*r:r,u=this;if(i)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 s=a.format;a.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return s.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 f=a.toDate;a.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var d=a.diff;a.diff=function(e,t,n){if(e&&this.$u===e.$u)return d.call(this,e,t,n);var r=this.local(),i=o(e).local();return d.call(r,i,t,n)}}}()},781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,i="[object Function]";e.exports=function(e){var o=this;if("function"!==typeof o||r.call(o)!==i)throw new TypeError(t+o);for(var a,u=n.call(arguments,1),l=function(){if(this instanceof a){var t=o.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return o.apply(e,u.concat(n.call(arguments)))},c=Math.max(0,o.length-u.length),s=[],f=0;f1&&"boolean"!==typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===k(/^%?[^%]*%?$/,e))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=E(e),r=n.length>0?n[0]:"",o=S("%"+r+"%",t),u=o.name,c=o.value,s=!1,f=o.alias;f&&(r=f[0],D(n,b([0,1],f)));for(var d=1,h=!0;d=n.length){var y=l(c,p);c=(h=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:c[p]}else h=_(c,p),c=c[p];h&&!s&&(v[u]=c)}}return c}},520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,i=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&i())))}},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 i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},838:function(e,t,n){"use strict";var r=n(199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},936:function(e,t,n){var r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,a=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,s=l||c||Function("return this")(),f=Object.prototype.toString,d=Math.max,h=Math.min,p=function(){return s.Date.now()};function v(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(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(v(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=v(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=o.test(e);return n||a.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,o,a,u,l,c=0,s=!1,f=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=r,o=i;return r=i=void 0,c=t,a=e.apply(o,n)}function _(e){return c=e,u=setTimeout(D,t),s?y(e):a}function b(e){var n=e-l;return void 0===l||n>=t||n<0||f&&e-c>=o}function D(){var e=p();if(b(e))return w(e);u=setTimeout(D,function(e){var n=t-(e-l);return f?h(n,o-(e-c)):n}(e))}function w(e){return u=void 0,g&&r?y(e):(r=i=void 0,a)}function x(){var e=p(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return _(l);if(f)return u=setTimeout(D,t),y(l)}return void 0===u&&(u=setTimeout(D,t)),a}return t=m(t)||0,v(n)&&(s=!!n.leading,o=(f="maxWait"in n)?d(m(n.maxWait)||0,t):o,g="trailing"in n?!!n.trailing:g),x.cancel=function(){void 0!==u&&clearTimeout(u),c=0,r=l=i=u=void 0},x.flush=function(){return void 0===u?a:w(p())},x}},7:function(e,t,n){var r="__lodash_hash_undefined__",i="[object Function]",o="[object GeneratorFunction]",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,d="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,h="object"==typeof self&&self&&self.Object===Object&&self,p=d||h||Function("return this")();var v=Array.prototype,m=Function.prototype,g=Object.prototype,y=p["__core-js_shared__"],_=function(){var e=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),b=m.toString,D=g.hasOwnProperty,w=g.toString,x=RegExp("^"+b.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),k=p.Symbol,C=v.splice,A=P(p,"Map"),E=P(Object,"create"),S=k?k.prototype:void 0,N=S?S.toString:void 0;function F(e){var t=-1,n=e?e.length:0;for(this.clear();++t-1},M.prototype.set=function(e,t){var n=this.__data__,r=O(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},T.prototype.clear=function(){this.__data__={hash:new F,map:new(A||M),string:new F}},T.prototype.delete=function(e){return I(this,e).delete(e)},T.prototype.get=function(e){return I(this,e).get(e)},T.prototype.has=function(e){return I(this,e).has(e)},T.prototype.set=function(e,t){return I(this,e).set(e,t),this};var R=j((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(U(e))return N?N.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(c,(function(e,t,r,i){n.push(r?i.replace(s,"$1"):t||e)})),n}));function z(e){if("string"==typeof e||U(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function j(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a),a};return n.cache=new(j.Cache||T),n}j.Cache=T;var $=Array.isArray;function H(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function U(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:B(e,t);return void 0===r?n:r}},61:function(e,t,n){var r="Expected a function",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,s="object"==typeof self&&self&&self.Object===Object&&self,f=c||s||Function("return this")(),d=Object.prototype.toString,h=Math.max,p=Math.min,v=function(){return f.Date.now()};function m(e,t,n){var i,o,a,u,l,c,s=0,f=!1,d=!1,m=!0;if("function"!=typeof e)throw new TypeError(r);function _(t){var n=i,r=o;return i=o=void 0,s=t,u=e.apply(r,n)}function b(e){return s=e,l=setTimeout(w,t),f?_(e):u}function D(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=a}function w(){var e=v();if(D(e))return x(e);l=setTimeout(w,function(e){var n=t-(e-c);return d?p(n,a-(e-s)):n}(e))}function x(e){return l=void 0,m&&i?_(e):(i=o=void 0,u)}function k(){var e=v(),n=D(e);if(i=arguments,o=this,c=e,n){if(void 0===l)return b(c);if(d)return l=setTimeout(w,t),_(c)}return void 0===l&&(l=setTimeout(w,t)),u}return t=y(t)||0,g(n)&&(f=!!n.leading,a=(d="maxWait"in n)?h(y(n.maxWait)||0,t):a,m="trailing"in n?!!n.trailing:m),k.cancel=function(){void 0!==l&&clearTimeout(l),s=0,i=c=o=l=void 0},k.flush=function(){return void 0===l?u:x(v())},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]"==d.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(i,"");var n=a.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),m(e,t,{leading:i,maxWait:t,trailing:o})}},154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=r&&i&&"function"===typeof i.get?i.get:null,a=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=u&&l&&"function"===typeof l.get?l.get:null,s=u&&Set.prototype.forEach,f="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,v=Object.prototype.toString,m=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,D=String.prototype.toLowerCase,w=RegExp.prototype.test,x=Array.prototype.concat,k=Array.prototype.join,C=Array.prototype.slice,A=Math.floor,E="function"===typeof BigInt?BigInt.prototype.valueOf:null,S=Object.getOwnPropertySymbols,N="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,F="function"===typeof Symbol&&"object"===typeof Symbol.iterator,M="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===F||"symbol")?Symbol.toStringTag:null,T=Object.prototype.propertyIsEnumerable,O=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function B(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?-A(-e):A(e);if(r!==e){var i=String(r),o=y.call(t,i.length+1);return _.call(i,n,"$&_")+"."+_.call(_.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var L=n(654),I=L.custom,P=H(I)?I:null;function R(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function z(e){return _.call(String(e),/"/g,""")}function j(e){return"[object Array]"===V(e)&&(!M||!("object"===typeof e&&M in e))}function $(e){return"[object RegExp]"===V(e)&&(!M||!("object"===typeof e&&M in e))}function H(e){if(F)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,i){var u=n||{};if(Y(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Y(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=!Y(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Y(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(Y(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var v=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 W(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return v?B(t,b):b}if("bigint"===typeof t){var w=String(t)+"n";return v?B(t,w):w}var A="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=A&&A>0&&"object"===typeof t)return j(t)?"[Array]":"[Object]";var S=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 i)i=[];else if(q(i,t)>=0)return"[Circular]";function I(t,n,o){if(n&&(i=C.call(i)).push(n),o){var a={depth:u.depth};return Y(u,"quoteStyle")&&(a.quoteStyle=u.quoteStyle),e(t,a,r+1,i)}return e(t,u,r+1,i)}if("function"===typeof t&&!$(t)){var U=function(e){if(e.name)return e.name;var t=g.call(m.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),Q=X(t,I);return"[Function"+(U?": "+U:" (anonymous)")+"]"+(Q.length>0?" { "+k.call(Q,", ")+" }":"")}if(H(t)){var ee=F?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(t);return"object"!==typeof t||F?ee:G(ee)}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 te="<"+D.call(String(t.nodeName)),ne=t.attributes||[],re=0;re"}if(j(t)){if(0===t.length)return"[]";var ie=X(t,I);return S&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+K(ie,S)+"]":"[ "+k.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===V(e)&&(!M||!("object"===typeof e&&M in e))}(t)){var oe=X(t,I);return"cause"in Error.prototype||!("cause"in t)||T.call(t,"cause")?0===oe.length?"["+String(t)+"]":"{ ["+String(t)+"] "+k.call(oe,", ")+" }":"{ ["+String(t)+"] "+k.call(x.call("[cause]: "+I(t.cause),oe),", ")+" }"}if("object"===typeof t&&l){if(P&&"function"===typeof t[P]&&L)return L(t,{depth:A-r});if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!==typeof e)return!1;try{o.call(e);try{c.call(e)}catch(te){return!0}return e instanceof Map}catch(t){}return!1}(t)){var ae=[];return a&&a.call(t,(function(e,n){ae.push(I(n,t,!0)+" => "+I(e,t))})),Z("Map",o.call(t),ae,S)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{o.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ue=[];return s&&s.call(t,(function(e){ue.push(I(e,t))})),Z("Set",c.call(t),ue,S)}if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(te){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return J("WeakMap");if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(te){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return J("WeakSet");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{return h.call(e),!0}catch(t){}return!1}(t))return J("WeakRef");if(function(e){return"[object Number]"===V(e)&&(!M||!("object"===typeof e&&M in e))}(t))return G(I(Number(t)));if(function(e){if(!e||"object"!==typeof e||!E)return!1;try{return E.call(e),!0}catch(t){}return!1}(t))return G(I(E.call(t)));if(function(e){return"[object Boolean]"===V(e)&&(!M||!("object"===typeof e&&M in e))}(t))return G(p.call(t));if(function(e){return"[object String]"===V(e)&&(!M||!("object"===typeof e&&M in e))}(t))return G(I(String(t)));if(!function(e){return"[object Date]"===V(e)&&(!M||!("object"===typeof e&&M in e))}(t)&&!$(t)){var le=X(t,I),ce=O?O(t)===Object.prototype:t instanceof Object||t.constructor===Object,se=t instanceof Object?"":"null prototype",fe=!ce&&M&&Object(t)===t&&M in t?y.call(V(t),8,-1):se?"Object":"",de=(ce||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(fe||se?"["+k.call(x.call([],fe||[],se||[]),": ")+"] ":"");return 0===le.length?de+"{}":S?de+"{"+K(le,S)+"}":de+"{ "+k.call(le,", ")+" }"}return String(t)};var U=Object.prototype.hasOwnProperty||function(e){return e in this};function Y(e,t){return U.call(e,t)}function V(e){return v.call(e)}function q(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 W(y.call(e,0,t.maxStringLength),t)+r}return R(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Q),"single",t)}function Q(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":"")+b.call(t.toString(16))}function G(e){return"Object("+e+")"}function J(e){return e+" { ? }"}function Z(e,t,n,r){return e+" ("+t+") {"+(r?K(n,r):k.call(n,", "))+"}"}function K(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+k.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=j(e),r=[];if(n){r.length=e.length;for(var i=0;i-1?e.split(","):e},c=function(e,t,n,r){if(e){var o=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(o),c=u?o.slice(0,u.index):o,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var f=0;n.depth>0&&null!==(u=a.exec(o))&&f=0;--o){var a,u=e[o];if("[]"===u&&n.parseArrays)a=[].concat(i);else{a=n.plainObjects?Object.create(null):{};var c="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,s=parseInt(c,10);n.parseArrays||""!==c?!isNaN(s)&&u!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(a=[])[s]=i:"__proto__"!==c&&(a[c]=i):a={0:i}}i=a}return i}(s,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 s="string"===typeof e?function(e,t){var n,c={},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,f=t.parameterLimit===1/0?void 0:t.parameterLimit,d=s.split(t.delimiter,f),h=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(m=o(m)?[m]:m),i.call(c,v)?c[v]=r.combine(c[v],m):c[v]=m}return c}(e,n):e,f=n.plainObjects?Object.create(null):{},d=Object.keys(s),h=0;h0?C.join(",")||null:void 0}];else if(l(h))B=h;else{var I=Object.keys(C);B=m?I.sort(m):I}for(var P=a&&l(C)&&1===C.length?n+"[]":n,R=0;R0?D+b:""}},837:function(e,t,n){"use strict";var r=n(609),i=Object.prototype.hasOwnProperty,o=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(o(n)){for(var r=[],i=0;i=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||o===r.RFC1738&&(40===s||41===s)?l+=u.charAt(c):s<128?l+=a[s]:s<2048?l+=a[192|s>>6]+a[128|63&s]:s<55296||s>=57344?l+=a[224|s>>12]+a[128|s>>6&63]+a[128|63&s]:(c+=1,s=65536+((1023&s)<<10|1023&u.charCodeAt(c)),l+=a[240|s>>18]+a[128|s>>12&63]+a[128|s>>6&63]+a[128|63&s])}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(o(e)){for(var n=[],r=0;r2&&(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,i,o,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?++o:a};return null==a&&null!=i.vnode&&i.vnode(u),u}function m(){return{current:null}}function g(e){return e.children}function y(e,t){this.props=e,this.context=t}function _(e,t){if(null==t)return e.__?_(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?v(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(p=w[d])||p&&m.key==p.key&&m.type===p.type)w[d]=void 0;else for(h=0;h2&&(u.children=arguments.length>3?r.call(arguments,2):n),v(e.type,u,i||e.key,o||e.ref,null)}function j(e,t){var n={__c:t="__cC"+l++,__: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(D)},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=s.slice,i={__e:function(e,t,n,r){for(var i,o,a;t=t.__;)if((i=t.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),a=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),a=i.__d),a)return i.__E=i}catch(t){e=t}throw e}},o=0,y.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},n),this.props)),e&&d(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),D(this))},y.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},y.prototype.render=g,a=[],w.__r=0,l=0;var $,H,U,Y,V=0,q=[],W=[],Q=i.__b,G=i.__r,J=i.diffed,Z=i.__c,K=i.unmount;function X(e,t){i.__h&&i.__h(H,e,V||t),V=0;var n=H.__H||(H.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:W}),n.__[e]}function ee(e){return V=1,te(ye,e)}function te(e,t,n){var r=X($++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):ye(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=H,!H.u)){H.u=!0;var i=H.shouldComponentUpdate;H.shouldComponentUpdate=function(e,t,n){if(!r.__c.__H)return!0;var o=r.__c.__H.__.filter((function(e){return e.__c}));if(o.every((function(e){return!e.__N})))return!i||i.call(this,e,t,n);var a=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(a=!0)}})),!(!a&&r.__c.props===e)&&(!i||i.call(this,e,t,n))}}return r.__N||r.__}function ne(e,t){var n=X($++,3);!i.__s&&ge(n.__H,t)&&(n.__=e,n.i=t,H.__H.__h.push(n))}function re(e,t){var n=X($++,4);!i.__s&&ge(n.__H,t)&&(n.__=e,n.i=t,H.__h.push(n))}function ie(e){return V=5,ae((function(){return{current:e}}),[])}function oe(e,t,n){V=6,re((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 ae(e,t){var n=X($++,7);return ge(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function ue(e,t){return V=8,ae((function(){return e}),t)}function le(e){var t=H.context[e.__c],n=X($++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(H)),t.props.value):e.__}function ce(e,t){i.useDebugValue&&i.useDebugValue(t?t(e):e)}function se(e){var t=X($++,10),n=ee();return t.__=e,H.componentDidCatch||(H.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function fe(){var e=X($++,11);if(!e.__){for(var t=H.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function de(){for(var e;e=q.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ve),e.__H.__h.forEach(me),e.__H.__h=[]}catch(l){e.__H.__h=[],i.__e(l,e.__v)}}i.__b=function(e){H=null,Q&&Q(e)},i.__r=function(e){G&&G(e),$=0;var t=(H=e.__c).__H;t&&(U===H?(t.__h=[],H.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=W,e.__N=e.i=void 0}))):(t.__h.forEach(ve),t.__h.forEach(me),t.__h=[])),U=H},i.diffed=function(e){J&&J(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==q.push(t)&&Y===i.requestAnimationFrame||((Y=i.requestAnimationFrame)||pe)(de)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==W&&(e.__=e.__V),e.i=void 0,e.__V=W}))),U=H=null},i.__c=function(e,t){t.some((function(e){try{e.__h.forEach(ve),e.__h=e.__h.filter((function(e){return!e.__||me(e)}))}catch(o){t.some((function(e){e.__h&&(e.__h=[])})),t=[],i.__e(o,e.__v)}})),Z&&Z(e,t)},i.unmount=function(e){K&&K(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{ve(e)}catch(e){t=e}})),n.__H=void 0,t&&i.__e(t,n.__v))};var he="function"==typeof requestAnimationFrame;function pe(e){var t,n=function(){clearTimeout(r),he&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);he&&(t=requestAnimationFrame(n))}function ve(e){var t=H,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),H=t}function me(e){var t=H;e.__c=e.__(),H=t}function ge(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function ye(e,t){return"function"==typeof t?t(e):t}function _e(e,t){for(var n in t)e[n]=t[n];return e}function be(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 De(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}function we(e){this.props=e}function xe(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:be(this.props,e)}function r(t){return this.shouldComponentUpdate=n,p(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(we.prototype=new y).isPureReactComponent=!0,we.prototype.shouldComponentUpdate=function(e,t){return be(this.props,e)||be(this.state,t)};var ke=i.__b;i.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),ke&&ke(e)};var Ce="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Ae(e){function t(t){var n=_e({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Ce,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Ee=function(e,t){return null==e?null:C(C(e).map(t))},Se={map:Ee,forEach:Ee,count:function(e){return e?C(e).length:0},only:function(e){var t=C(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:C},Ne=i.__e;i.__e=function(e,t,n,r){if(e.then)for(var i,o=t;o=o.__;)if((i=o.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);Ne(e,t,n,r)};var Fe=i.unmount;function Me(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=_e({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Me(e,t,n)}))),e}function Te(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Te(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function Oe(){this.__u=0,this.t=null,this.__b=null}function Be(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Le(e){var t,n,r;function i(i){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return p(n,i)}return i.displayName="Lazy",i.__f=!0,i}function Ie(){this.u=null,this.o=null}i.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),Fe&&Fe(e)},(Oe.prototype=new y).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var i=Be(r.__v),o=!1,a=function(){o||(o=!0,n.__R=null,i?i(u):u())};n.__R=a;var u=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Te(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(a,a)},Oe.prototype.componentWillUnmount=function(){this.t=[]},Oe.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]=Me(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&p(g,null,e.fallback);return i&&(i.__h=null),[p(g,null,t.__a?null:e.children),i]};var Pe=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)}}),P(p(Re,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function je(e,t){var n=p(ze,{__v:e,i:t});return n.containerInfo=t,n}(Ie.prototype=new y).__a=function(e){var t=this,n=Be(t.__v),r=t.o.get(e);return r[0]++,function(i){var o=function(){t.props.revealOrder?(r.push(i),Pe(t,e,r)):i()};n?n(o):o()}},Ie.prototype.render=function(e){this.u=null,this.o=new Map;var t=C(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},Ie.prototype.componentDidUpdate=Ie.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){Pe(e,n,t)}))};var $e="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,He=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ue="undefined"!=typeof document,Ye=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function Ve(e,t,n){return null==t.__k&&(t.textContent=""),P(e,t),"function"==typeof n&&n(),e?e.__c:null}function qe(e,t,n){return R(e,t),"function"==typeof n&&n(),e?e.__c:null}y.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(y.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var We=i.event;function Qe(){}function Ge(){return this.cancelBubble}function Je(){return this.defaultPrevented}i.event=function(e){return We&&(e=We(e)),e.persist=Qe,e.isPropagationStopped=Ge,e.isDefaultPrevented=Je,e.nativeEvent=e};var Ze,Ke={configurable:!0,get:function(){return this.class}},Xe=i.vnode;i.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var i=-1===t.indexOf("-");for(var o in r={},n){var a=n[o];Ue&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in n&&null==a||("defaultValue"===o&&"value"in n&&null==n.value?o="value":"download"===o&&!0===a?a="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!Ye(n.type)?o="oninput":/^onfocus$/i.test(o)?o="onfocusin":/^onblur$/i.test(o)?o="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(o)?o=o.toLowerCase():i&&He.test(o)?o=o.replace(/[A-Z0-9]/g,"-$&").toLowerCase():null===a&&(a=void 0),/^oninput$/i.test(o)&&(o=o.toLowerCase(),r[o]&&(o="oninputCapture")),r[o]=a)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=C(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=C(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&&(Ke.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",Ke))}e.$$typeof=$e,Xe&&Xe(e)};var et=i.__r;i.__r=function(e){et&&et(e),Ze=e.__c};var tt={ReactCurrentDispatcher:{current:{readContext:function(e){return Ze.__n[e.__c].props.value}}}},nt="17.0.2";function rt(e){return p.bind(null,e)}function it(e){return!!e&&e.$$typeof===$e}function ot(e){return it(e)?z.apply(null,arguments):e}function at(e){return!!e.__k&&(P(null,e),!0)}function ut(e){return e&&(e.base||1===e.nodeType&&e)||null}var lt=function(e,t){return e(t)},ct=function(e,t){return e(t)},st=g;function ft(e){e()}function dt(e){return e}function ht(){return[!1,ft]}var pt=re;function vt(e,t){var n=t(),r=ee({h:{__:n,v:t}}),i=r[0].h,o=r[1];return re((function(){i.__=n,i.v=t,De(i.__,t())||o({h:i})}),[e,n,t]),ne((function(){return De(i.__,i.v())||o({h:i}),e((function(){De(i.__,i.v())||o({h:i})}))}),[e]),n}var mt,gt={useState:ee,useId:fe,useReducer:te,useEffect:ne,useLayoutEffect:re,useInsertionEffect:pt,useTransition:ht,useDeferredValue:dt,useSyncExternalStore:vt,startTransition:ft,useRef:ie,useImperativeHandle:oe,useMemo:ae,useCallback:ue,useContext:le,useDebugValue:ce,version:"17.0.2",Children:Se,render:Ve,hydrate:qe,unmountComponentAtNode:at,createPortal:je,createElement:p,createContext:j,createFactory:rt,cloneElement:ot,createRef:m,Fragment:g,isValidElement:it,findDOMNode:ut,Component:y,PureComponent:we,memo:xe,forwardRef:Ae,flushSync:ct,unstable_batchedUpdates:lt,StrictMode:st,Suspense:Oe,SuspenseList:Ie,lazy:Le,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:tt},yt=n(658),_t=n.n(yt),bt=n(443),Dt=n.n(bt),wt=n(446),xt=n.n(wt),kt=n(635),Ct=n.n(kt);function At(e){if(Array.isArray(e))return e}function Et(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,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,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw o}}}}function Tt(e){if("undefined"!==typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function Ot(e){return function(e){if(Array.isArray(e))return Et(e)}(e)||Tt(e)||St(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.")}()}function Bt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Lt(e){return Lt="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},Lt(e)}function It(e){var t=function(e,t){if("object"!==Lt(e)||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!==Lt(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"===Lt(t)?t:String(t)}function Pt(e,t){for(var n=0;n=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}function nn(e,t,n,r){void 0===r&&(r={});var i=r,o=i.window,a=void 0===o?document.defaultView:o,u=i.v5Compat,l=void 0!==u&&u,c=a.history,s=mt.Pop,f=null,d=h();function h(){return(c.state||{idx:null}).idx}function p(){var e=mt.Pop,t=h();if(null!=t){var n=t-d;s=e,d=t,f&&f({action:s,location:m.location,delta:n})}else Zt(!1,"You are trying to block a POP navigation to a location that was not created by @remix-run/router. The block will fail silently in production, but in general you should do all navigation with the router (instead of using window.history.pushState directly) to avoid this situation.")}function v(e){var t="null"!==a.location.origin?a.location.origin:a.location.href,n="string"===typeof e?e:en(e);return Jt(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==d&&(d=0,c.replaceState(Wt({},c.state,{idx:d}),""));var m={get action(){return s},get location(){return e(a,c)},listen:function(e){if(f)throw new Error("A history only accepts one active listener");return a.addEventListener(Gt,p),f=e,function(){a.removeEventListener(Gt,p),f=null}},createHref:function(e){return t(a,e)},createURL:v,encodeLocation:function(e){var t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=mt.Push;var r=Xt(m.location,e,t);n&&n(r,e);var i=Kt(r,d=h()+1),o=m.createHref(r);try{c.pushState(i,"",o)}catch(u){a.location.assign(o)}l&&f&&f({action:s,location:m.location,delta:1})},replace:function(e,t){s=mt.Replace;var r=Xt(m.location,e,t);n&&n(r,e);var i=Kt(r,d=h()),o=m.createHref(r);c.replaceState(i,"",o),l&&f&&f({action:s,location:m.location,delta:0})},go:function(e){return c.go(e)}};return m}function rn(e,t,n){void 0===n&&(n="/");var r=hn(("string"===typeof t?tn(t):t).pathname||"/",n);if(null==r)return null;var i=on(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})))}))}(i);for(var o=null,a=0;null==o&&a0&&(Jt(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+u+'".'),on(e.children,t,l,u)),(null!=e.path||e.index)&&t.push({path:u,score:cn(u,e.index),routesMeta:l})};return e.forEach((function(e,t){var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?")){var r,o=Mt(an(e.path));try{for(o.s();!(r=o.n()).done;){var a=r.value;i(e,t,a)}}catch(u){o.e(u)}finally{o.f()}}else i(e,t)})),t}function an(e){var t=e.split("/");if(0===t.length)return[];var n,r=At(n=t)||Tt(n)||St(n)||Nt(),i=r[0],o=r.slice(1),a=i.endsWith("?"),u=i.replace(/\?$/,"");if(0===o.length)return a?[u,""]:[u];var l=an(o.join("/")),c=[];return c.push.apply(c,Ot(l.map((function(e){return""===e?u:[u,e].join("/")})))),a&&c.push.apply(c,Ot(l)),c.map((function(t){return e.startsWith("/")&&""===t?"/":t}))}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(Qt||(Qt={}));var un=/^:\w+$/,ln=function(e){return"*"===e};function cn(e,t){var n=e.split("/"),r=n.length;return n.some(ln)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!ln(e)})).reduce((function(e,t){return e+(un.test(t)?3:""===t?1:10)}),r)}function sn(e,t){for(var n=e.routesMeta,r={},i="/",o=[],a=0;a and the router will parse it for you.'}function mn(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function gn(e,t,n,r){var i;void 0===r&&(r=!1),"string"===typeof e?i=tn(e):(Jt(!(i=Wt({},e)).pathname||!i.pathname.includes("?"),vn("?","pathname","search",i)),Jt(!i.pathname||!i.pathname.includes("#"),vn("#","pathname","hash",i)),Jt(!i.search||!i.search.includes("#"),vn("#","search","hash",i)));var o,a=""===e||""===i.pathname,u=a?"/":i.pathname;if(r||null==u)o=n;else{var l=t.length-1;if(u.startsWith("..")){for(var c=u.split("/");".."===c[0];)c.shift(),l-=1;i.pathname=c.join("/")}o=l>=0?t[l]:"/"}var s=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?tn(e):e,r=n.pathname,i=n.search,o=void 0===i?"":i,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:bn(o),hash:Dn(u)}}(i,o),f=u&&"/"!==u&&u.endsWith("/"),d=(a||"."===u)&&n.endsWith("/");return s.pathname.endsWith("/")||!f&&!d||(s.pathname+="/"),s}var yn=function(e){return e.join("/").replace(/\/\/+/g,"/")},_n=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},bn=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},Dn=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""};Error;var wn=Rt((function e(t,n,r,i){Bt(this,e),void 0===i&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function xn(e){return e instanceof wn}var kn=["post","put","patch","delete"],Cn=(new Set(kn),["get"].concat(kn));new Set(Cn),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;Symbol("deferred");function An(){return An=Object.assign?Object.assign.bind():function(e){for(var t=1;t")))}var Vn,qn,Wn=function(e){jt(n,e);var t=Yt(n);function n(e){var r;return Bt(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return Rt(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?p(Pn.Provider,{value:this.props.routeContext},p(Rn.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(y);function Qn(e){var t=e.routeContext,n=e.match,r=e.children,i=le(On);return i&&i.static&&i.staticContext&&n.route.errorElement&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),p(Pn.Provider,{value:t},r)}function Gn(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var r=e,i=null==n?void 0:n.errors;if(null!=i){var o=r.findIndex((function(e){return e.route.id&&(null==i?void 0:i[e.route.id])}));o>=0||Jt(!1),r=r.slice(0,Math.min(r.length,o+1))}return r.reduceRight((function(e,o,a){var u=o.route.id?null==i?void 0:i[o.route.id]:null,l=n?o.route.errorElement||p(Yn,null):null,c=t.concat(r.slice(0,a+1)),s=function(){return p(Qn,{match:o,routeContext:{outlet:e,matches:c}},u?l:void 0!==o.route.element?o.route.element:e)};return n&&(o.route.errorElement||0===a)?p(Wn,{location:n.location,component:l,error:u,children:s(),routeContext:{outlet:null,matches:c}}):s()}),null)}function Jn(e){var t=le(Bn);return t||Jt(!1),t}function Zn(e){var t=function(e){var t=le(Pn);return t||Jt(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||Jt(!1),n.route.id}!function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"}(Vn||(Vn={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(qn||(qn={}));var Kn;function Xn(e){return function(e){var t=le(Pn).outlet;return t?p(Hn.Provider,{value:e},t):t}(e.context)}function er(e){Jt(!1)}function tr(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,i=void 0===r?null:r,o=e.location,a=e.navigationType,u=void 0===a?mt.Pop:a,l=e.navigator,c=e.static,s=void 0!==c&&c;zn()&&Jt(!1);var f=n.replace(/^\/*/,"/"),d=ae((function(){return{basename:f,navigator:l,static:s}}),[f,l,s]);"string"===typeof o&&(o=tn(o));var h=o,v=h.pathname,m=void 0===v?"/":v,g=h.search,y=void 0===g?"":g,_=h.hash,b=void 0===_?"":_,D=h.state,w=void 0===D?null:D,x=h.key,k=void 0===x?"default":x,C=ae((function(){var e=hn(m,f);return null==e?null:{pathname:e,search:y,hash:b,state:w,key:k}}),[f,m,y,b,w,k]);return null==C?null:p(Ln.Provider,{value:d},p(In.Provider,{children:i,value:{location:C,navigationType:u}}))}function nr(e){var t=e.children,n=e.location,r=le(On);return function(e,t){zn()||Jt(!1);var n,r=le(Ln).navigator,i=le(Bn),o=le(Pn).matches,a=o[o.length-1],u=a?a.params:{},l=(a&&a.pathname,a?a.pathnameBase:"/"),c=(a&&a.route,jn());if(t){var s,f="string"===typeof t?tn(t):t;"/"===l||(null==(s=f.pathname)?void 0:s.startsWith(l))||Jt(!1),n=f}else n=c;var d=n.pathname||"/",h=rn(e,{pathname:"/"===l?d:d.slice(l.length)||"/"}),v=Gn(h&&h.map((function(e){return Object.assign({},e,{params:Object.assign({},u,e.params),pathname:yn([l,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:yn([l,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),o,i||void 0);return t&&v?p(In.Provider,{value:{location:An({pathname:"/",search:"",hash:"",state:null,key:"default"},n),navigationType:mt.Pop}},v):v}(r&&!t?r.router.routes:rr(t),n)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(Kn||(Kn={}));new Promise((function(){}));function rr(e,t){void 0===t&&(t=[]);var n=[];return Se.forEach(e,(function(e,r){if(it(e))if(e.type!==g){e.type!==er&&Jt(!1),e.props.index&&e.props.children&&Jt(!1);var i=[].concat(Ot(t),[r]),o={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(o.children=rr(e.props.children,i)),n.push(o)}else n.push.apply(n,rr(e.props.children,t))})),n}function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}function ar(e){return void 0===e&&(e=""),new URLSearchParams("string"===typeof e||Array.isArray(e)||e instanceof URLSearchParams?e:Object.keys(e).reduce((function(t,n){var r=e[n];return t.concat(Array.isArray(r)?r.map((function(e){return[n,e]})):[[n,r]])}),[]))}var ur=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],lr=["aria-current","caseSensitive","className","end","style","to","children"];function cr(e){var t=e.basename,n=e.children,r=e.window,i=ie();null==i.current&&(i.current=function(e){return void 0===e&&(e={}),nn((function(e,t){var n=tn(e.location.hash.substr(1)),r=n.pathname,i=void 0===r?"/":r,o=n.search,a=void 0===o?"":o,u=n.hash;return Xt("",{pathname:i,search:a,hash:void 0===u?"":u},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var i=e.location.href,o=i.indexOf("#");r=-1===o?i:i.slice(0,o)}return r+"#"+("string"===typeof t?t:en(t))}),(function(e,t){Zt("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:r,v5Compat:!0}));var o=i.current,a=Ft(ee({action:o.action,location:o.location}),2),u=a[0],l=a[1];return re((function(){return o.listen(l)}),[o]),p(tr,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:o})}var sr=Ae((function(e,t){var n=e.onClick,r=e.relative,i=e.reloadDocument,o=e.replace,a=e.state,u=e.target,l=e.to,c=e.preventScrollReset,s=or(e,ur),f=function(e,t){var n=(void 0===t?{}:t).relative;zn()||Jt(!1);var r=le(Ln),i=r.basename,o=r.navigator,a=Un(e,{relative:n}),u=a.hash,l=a.pathname,c=a.search,s=l;return"/"!==i&&(s="/"===l?i:yn([i,l])),o.createHref({pathname:s,search:c,hash:u})}(l,{relative:r}),d=function(e,t){var n=void 0===t?{}:t,r=n.target,i=n.replace,o=n.state,a=n.preventScrollReset,u=n.relative,l=$n(),c=jn(),s=Un(e,{relative:u});return ue((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();var n=void 0!==i?i:en(c)===en(s);l(e,{replace:n,state:o,preventScrollReset:a,relative:u})}}),[c,l,s,i,o,r,e,a,u])}(l,{replace:o,state:a,target:u,preventScrollReset:c,relative:r});return p("a",ir({},s,{href:f,onClick:i?n:function(e){n&&n(e),e.defaultPrevented||d(e)},ref:t,target:u}))}));var fr=Ae((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,i=e.caseSensitive,o=void 0!==i&&i,a=e.className,u=void 0===a?"":a,l=e.end,c=void 0!==l&&l,s=e.style,f=e.to,d=e.children,h=or(e,lr),v=Un(f,{relative:h.relative}),m=jn(),g=le(Bn),y=le(Ln).navigator,_=y.encodeLocation?y.encodeLocation(v).pathname:v.pathname,b=m.pathname,D=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;o||(b=b.toLowerCase(),D=D?D.toLowerCase():null,_=_.toLowerCase());var w,x=b===_||!c&&b.startsWith(_)&&"/"===b.charAt(_.length),k=null!=D&&(D===_||!c&&D.startsWith(_)&&"/"===D.charAt(_.length)),C=x?r:void 0;w="function"===typeof u?u({isActive:x,isPending:k}):[u,x?"active":null,k?"pending":null].filter(Boolean).join(" ");var A="function"===typeof s?s({isActive:x,isPending:k}):s;return p(sr,ir({},h,{"aria-current":C,className:w,ref:t,style:A,to:f}),"function"===typeof d?d({isActive:x,isPending:k}):d)}));var dr,hr;function pr(e){var t=ie(ar(e)),n=jn(),r=ae((function(){return function(e,t){var n,r=ar(e),i=Mt(t.keys());try{var o=function(){var e=n.value;r.has(e)||t.getAll(e).forEach((function(t){r.append(e,t)}))};for(i.s();!(n=i.n()).done;)o()}catch(a){i.e(a)}finally{i.f()}return r}(n.search,t.current)}),[n.search]),i=$n(),o=ue((function(e,t){var n=ar("function"===typeof e?e(r):e);i("?"+n,t)}),[i,r]);return[r,o]}(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(dr||(dr={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(hr||(hr={}));var vr;function mr(e,t,n){return(t=It(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function gr(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 yr(e){for(var t=1;t=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40),di(_t().duration(t||.001,"seconds").asMilliseconds()).replace(/\s/g,"")}(r/Xr),date:si(t||_t()().toDate())}},si=function(e){return _t().tz(e).utc().format(Kr)},fi=function(e){return _t().tz(e).format(Kr)},di=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),i=Math.floor(e/1e3/3600%24),o=Math.floor(e/864e5),a=["d","h","m","s","ms"],u=[o,i,r,n,t].map((function(e,t){return e?"".concat(e).concat(a[t]):""}));return u.filter((function(e){return e})).join(" ")},hi=function(e){var t=_t()(1e3*e);return t.isValid()?t.toDate():new Date},pi=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!0},{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 _t()().tz().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return _t()().tz().endOf("day").toDate()}}].map((function(e){return yr({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return _t()().tz().toDate()}},e)})),vi=function(e){var t,n=e.relativeTimeId,r=e.defaultDuration,i=e.defaultEndInput,o=null===(t=pi.find((function(e){return e.isDefault})))||void 0===t?void 0:t.id,a=n||Br("g0.relative_time",o),u=pi.find((function(e){return e.id===a}));return{relativeTimeId:u?a:"none",duration:u?u.duration:r,endInput:u?u.until():i}},mi=function(e){var t=_t()().tz(e);return"UTC".concat(t.format("Z"))},gi=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new RegExp(e,"i");return ri.reduce((function(n,r){var i=(r.match(/^(.*?)\//)||[])[1]||"unknown",o=mi(r),a=o.replace(/UTC|0/,""),u=r.replace(/[/_]/g," "),l={region:r,utc:o,search:"".concat(r," ").concat(o," ").concat(u," ").concat(a)},c=!e||e&&t.test(l.search);return c&&n[i]?n[i].push(l):c&&(n[i]=[l]),n}),{})},yi=function(e){_t().tz.setDefault(e)},_i=Ir("TIMEZONE")||_t().tz.guess();yi(_i);var bi,Di=Br("g0.range_input"),wi=vi({defaultDuration:Di||"1h",defaultEndInput:(bi=Br("g0.end_input",_t()().utc().format(Kr)),_t()(bi).utcOffset(0,!0).toDate()),relativeTimeId:Di?Br("g0.relative_time","none"):void 0}),xi=wi.duration,ki=wi.endInput,Ci=wi.relativeTimeId,Ai={duration:xi,period:ci(xi,ki),relativeTime:Ci,timezone:_i};function Ei(e,t){switch(t.type){case"SET_DURATION":return yr(yr({},e),{},{duration:t.payload,period:ci(t.payload,hi(e.period.end)),relativeTime:"none"});case"SET_RELATIVE_TIME":return yr(yr({},e),{},{duration:t.payload.duration,period:ci(t.payload.duration,t.payload.until),relativeTime:t.payload.id});case"SET_PERIOD":var n=function(e){var t=e.to.valueOf()-e.from.valueOf();return di(t)}(t.payload);return yr(yr({},e),{},{duration:n,period:ci(n,t.payload.to),relativeTime:"none"});case"RUN_QUERY":var r=vi({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:hi(e.period.end)}),i=r.duration,o=r.endInput;return yr(yr({},e),{},{period:ci(i,o)});case"RUN_QUERY_TO_NOW":return yr(yr({},e),{},{period:ci(e.duration)});case"SET_TIMEZONE":return yi(t.payload),Lr("TIMEZONE",t.payload),yr(yr({},e),{},{timezone:t.payload});default:throw new Error}}var Si=j({}),Ni=function(){return le(Si).state},Fi=function(){return le(Si).dispatch},Mi=function(){var e,t=(null===(e=(window.location.hash.split("?")[1]||"").match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map((function(e,t){return Br("g".concat(t,".expr"),"")}))}(),Ti={query:Mi,queryHistory:Mi.map((function(e){return{index:0,values:[e]}})),autocomplete:Ir("AUTOCOMPLETE")||!1};function Oi(e,t){switch(t.type){case"SET_QUERY":return yr(yr({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return yr(yr({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),yr(yr({},e),{},{queryHistory:e.queryHistory});case"TOGGLE_AUTOCOMPLETE":return Lr("AUTOCOMPLETE",!e.autocomplete),yr(yr({},e),{},{autocomplete:!e.autocomplete});default:throw new Error}}var Bi=j({}),Li=function(){return le(Bi).state},Ii=function(){return le(Bi).dispatch},Pi=function(){return Vr("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:[Vr("path",{d:"M6.11767 10.4759C6.47736 10.7556 6.91931 10.909 7.37503 10.9121H7.42681C7.90756 10.9047 8.38832 10.7199 8.67677 10.4685C10.1856 9.18921 14.5568 5.18138 14.5568 5.18138C15.7254 4.09438 12.4637 3.00739 7.42681 3H7.36764C2.3308 3.00739 -0.930935 4.09438 0.237669 5.18138C0.237669 5.18138 4.60884 9.18921 6.11767 10.4759ZM8.67677 12.6424C8.31803 12.9248 7.87599 13.0808 7.41941 13.0861H7.37503C6.91845 13.0808 6.47641 12.9248 6.11767 12.6424C5.0822 11.7551 1.38409 8.42018 0.000989555 7.14832V9.07829C0.000989555 9.29273 0.0823481 9.57372 0.222877 9.70682L0.293316 9.7712L0.293344 9.77122C1.33784 10.7258 4.83903 13.9255 6.11767 15.0161C6.47641 15.2985 6.91845 15.4545 7.37503 15.4597H7.41941C7.90756 15.4449 8.38092 15.2601 8.67677 15.0161C9.9859 13.9069 13.6249 10.572 14.5642 9.70682C14.7121 9.57372 14.7861 9.29273 14.7861 9.07829V7.14832C12.7662 8.99804 10.7297 10.8295 8.67677 12.6424ZM7.41941 17.6263C7.87513 17.6232 8.31708 17.4698 8.67677 17.19C10.7298 15.3746 12.7663 13.5407 14.7861 11.6885V13.6259C14.7861 13.8329 14.7121 14.1139 14.5642 14.247C13.6249 15.1196 9.9859 18.4471 8.67677 19.5563C8.38092 19.8077 7.90756 19.9926 7.41941 20H7.37503C6.91931 19.9968 6.47736 19.8435 6.11767 19.5637C4.91427 18.5373 1.74219 15.6364 0.502294 14.5025C0.393358 14.4029 0.299337 14.3169 0.222877 14.247C0.0823481 14.1139 0.000989555 13.8329 0.000989555 13.6259V11.6885C1.38409 12.953 5.0822 16.2953 6.11767 17.1827C6.47641 17.4651 6.91845 17.6211 7.37503 17.6263H7.41941Z"}),Vr("path",{d:"M34.9996 5L29.1596 19.46H26.7296L20.8896 5H23.0496C23.2829 5 23.4729 5.05667 23.6196 5.17C23.7663 5.28333 23.8763 5.43 23.9496 5.61L27.3596 14.43C27.4729 14.7167 27.5796 15.0333 27.6796 15.38C27.7863 15.72 27.8863 16.0767 27.9796 16.45C28.0596 16.0767 28.1463 15.72 28.2396 15.38C28.3329 15.0333 28.4363 14.7167 28.5496 14.43L31.9396 5.61C31.9929 5.45667 32.0963 5.31667 32.2496 5.19C32.4096 5.06333 32.603 5 32.8297 5H34.9996ZM52.1763 5V19.46H49.8064V10.12C49.8064 9.74667 49.8263 9.34333 49.8663 8.91L45.4963 17.12C45.2897 17.5133 44.973 17.71 44.5463 17.71H44.1663C43.7397 17.71 43.4231 17.5133 43.2164 17.12L38.7963 8.88C38.8163 9.1 38.833 9.31667 38.8463 9.53C38.8597 9.74333 38.8663 9.94 38.8663 10.12V19.46H36.4963V5H38.5263C38.6463 5 38.7497 5.00333 38.8363 5.01C38.923 5.01667 38.9997 5.03333 39.0663 5.06C39.1397 5.08667 39.203 5.13 39.2563 5.19C39.3163 5.25 39.373 5.33 39.4263 5.43L43.7563 13.46C43.8697 13.6733 43.973 13.8933 44.0663 14.12C44.1663 14.3467 44.263 14.58 44.3563 14.82C44.4497 14.5733 44.5464 14.3367 44.6464 14.11C44.7464 13.8767 44.8531 13.6533 44.9664 13.44L49.2363 5.43C49.2897 5.33 49.3463 5.25 49.4063 5.19C49.4663 5.13 49.5297 5.08667 49.5963 5.06C49.6697 5.03333 49.7497 5.01667 49.8363 5.01C49.923 5.00333 50.0264 5 50.1464 5H52.1763ZM61.0626 18.73C61.7426 18.73 62.3492 18.6133 62.8826 18.38C63.4226 18.14 63.8792 17.81 64.2526 17.39C64.6259 16.97 64.9092 16.4767 65.1026 15.91C65.3026 15.3367 65.4026 14.72 65.4026 14.06V5.31H66.4226V14.06C66.4226 14.84 66.2993 15.57 66.0527 16.25C65.806 16.9233 65.4493 17.5133 64.9827 18.02C64.5227 18.52 63.9592 18.9133 63.2926 19.2C62.6326 19.4867 61.8892 19.63 61.0626 19.63C60.2359 19.63 59.4893 19.4867 58.8227 19.2C58.1627 18.9133 57.5992 18.52 57.1326 18.02C56.6726 17.5133 56.3193 16.9233 56.0727 16.25C55.826 15.57 55.7026 14.84 55.7026 14.06V5.31H56.7327V14.05C56.7327 14.71 56.8292 15.3267 57.0226 15.9C57.2226 16.4667 57.506 16.96 57.8727 17.38C58.246 17.8 58.6993 18.13 59.2327 18.37C59.7727 18.61 60.3826 18.73 61.0626 18.73ZM71.4438 19.46H70.4138V5.31H71.4438V19.46Z"})]})},Ri=function(){return Vr("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Vr("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})})},zi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})})},ji=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M19 6.41 17.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"})})},$i=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})})},Hi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})})},Ui=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})})},Yi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})},Vi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})},qi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})})},Wi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})})},Qi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"m7 10 5 5 5-5z"})})},Gi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Vr("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"}),Vr("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]})},Ji=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})})},Zi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})})},Ki=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})})},Xi=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M8 5v14l11-7z"})})},eo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})})},to=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})})},no=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})})},ro=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})})},io=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})})},oo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})})},ao=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M19 13H5v-2h14v2z"})})},uo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})})},lo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})})},co=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})})},so=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})},fo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})})},ho=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})})},po=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Vr("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21 5C19.89 4.65 18.67 4.5 17.5 4.5C15.55 4.5 13.45 4.9 12 6C10.55 4.9 8.45 4.5 6.5 4.5C5.33 4.5 4.11 4.65 3 5C2.25 5.25 1.6 5.55 1 6V20.6C1 20.85 1.25 21.1 1.5 21.1C1.6 21.1 1.65 21.1 1.75 21.05C3.15 20.3 4.85 20 6.5 20C8.2 20 10.65 20.65 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5ZM21 18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5C10.65 18.65 8.2 18 6.5 18C5.3 18 4.1 18.15 3 18.5V7C4.1 6.65 5.3 6.5 6.5 6.5C8.2 6.5 10.65 7.15 12 8C13.35 7.15 15.8 6.5 17.5 6.5C18.7 6.5 19.9 6.65 21 7V18.5Z"}),Vr("path",{d:"M17.5 10.5C18.38 10.5 19.23 10.59 20 10.76V9.24C19.21 9.09 18.36 9 17.5 9C15.8 9 14.26 9.29 13 9.83V11.49C14.13 10.85 15.7 10.5 17.5 10.5ZM13 12.49V14.15C14.13 13.51 15.7 13.16 17.5 13.16C18.38 13.16 19.23 13.25 20 13.42V11.9C19.21 11.75 18.36 11.66 17.5 11.66C15.8 11.66 14.26 11.96 13 12.49ZM17.5 14.33C15.8 14.33 14.26 14.62 13 15.16V16.82C14.13 16.18 15.7 15.83 17.5 15.83C18.38 15.83 19.23 15.92 20 16.09V14.57C19.21 14.41 18.36 14.33 17.5 14.33Z"}),Vr("path",{d:"M6.5 10.5C5.62 10.5 4.77 10.59 4 10.76V9.24C4.79 9.09 5.64 9 6.5 9C8.2 9 9.74 9.29 11 9.83V11.49C9.87 10.85 8.3 10.5 6.5 10.5ZM11 12.49V14.15C9.87 13.51 8.3 13.16 6.5 13.16C5.62 13.16 4.77 13.25 4 13.42V11.9C4.79 11.75 5.64 11.66 6.5 11.66C8.2 11.66 9.74 11.96 11 12.49ZM6.5 14.33C8.2 14.33 9.74 14.62 11 15.16V16.82C9.87 16.18 8.3 15.83 6.5 15.83C5.62 15.83 4.77 15.92 4 16.09V14.57C4.79 14.41 5.64 14.33 6.5 14.33Z"})]})},vo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z"})})},mo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 10.8792 13.4202 11.3236 12.7704 11.8217C11.9421 12.4566 11 13.1787 11 15H13C13 13.9046 13.711 13.2833 14.4408 12.6455C15.21 11.9733 16 11.2829 16 10C16 7.79 14.21 6 12 6ZM13 16V18H11V16H13Z"})})},go=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M4 20h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2zM2 6c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2zm4 1H4V5h2v2zm-2 7h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2z"})})},yo=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"})})},_o=function(){return Vr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Vr("path",{d:"M3 17v2h6v-2H3zM3 5v2h10V5H3zm10 16v-2h8v-2h-8v-2h-2v6h2zM7 9v2H3v2h4v2h2V9H7zm14 4v-2H11v2h10zm-6-4h2V7h4V5h-4V3h-2v6z"})})},bo=function(e){var t=Ft(ee({width:0,height:0}),2),n=t[0],r=t[1];return ne((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,i=t.height;r({width:n,height:i})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[e]),n},Do=n(123),wo=n.n(Do);function xo(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var ko=["to","isNavLink","children"],Co=function(e){var t=e.to,n=e.isNavLink,r=e.children,i=xo(e,ko);return n?Vr(fr,yr(yr({to:t},i),{},{children:r})):Vr("div",yr(yr({},i),{},{children:r}))},Ao=function(e){var t,n=e.activeItem,r=e.item,i=e.color,o=void 0===i?Rr("color-primary"):i,a=e.activeNavRef,u=e.onChange,l=e.isNavLink;return Vr(Co,{className:wo()(mr({"vm-tabs-item":!0,"vm-tabs-item_active":n===r.value},r.className||"",r.className)),isNavLink:l,to:r.value,style:{color:o},onClick:(t=r.value,function(){u&&u(t)}),ref:n===r.value?a:void 0,children:[r.icon&&Vr("div",{className:wo()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!r.label}),children:r.icon}),r.label]})},Eo=function(e){var t=e.activeItem,n=e.items,r=e.color,i=void 0===r?Rr("color-primary"):r,o=e.onChange,a=e.indicatorPlacement,u=void 0===a?"bottom":a,l=e.isNavLink,c=bo(document.body),s=ie(null),f=Ft(ee({left:0,width:0,bottom:0}),2),d=f[0],h=f[1];return ne((function(){var e;if((null===(e=s.current)||void 0===e?void 0:e.base)instanceof HTMLElement){var t=s.current.base,n=t.offsetLeft,r=t.offsetWidth,i=t.offsetHeight;h({left:n,width:r,bottom:"top"===u?i-2:0})}}),[c,t,s,n]),Vr("div",{className:"vm-tabs",children:[n.map((function(e){return Vr(Ao,{activeItem:t,item:e,onChange:o,color:i,activeNavRef:s,isNavLink:l},e.value)})),Vr("div",{className:"vm-tabs__indicator",style:yr(yr({},d),{},{borderColor:i})})]})},So=[{value:"chart",icon:Vr(to,{}),label:"Graph",prometheusCode:0},{value:"code",icon:Vr(ro,{}),label:"JSON",prometheusCode:3},{value:"table",icon:Vr(no,{}),label:"Table",prometheusCode:1}],No=function(){var e=Io().displayType,t=Po();return Vr(Eo,{activeItem:e,items:So,onChange:function(n){var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},Fo=Br("g0.tab",0),Mo=So.find((function(e){return e.prometheusCode===+Fo||e.value===Fo})),To=Ir("SERIES_LIMITS"),Oo={displayType:(null===Mo||void 0===Mo?void 0:Mo.value)||"chart",nocache:!1,isTracingEnabled:!1,seriesLimits:To?JSON.parse(Ir("SERIES_LIMITS")):Tr,tableCompact:Ir("TABLE_COMPACT")||!1};function Bo(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return yr(yr({},e),{},{displayType:t.payload});case"SET_SERIES_LIMITS":return Lr("SERIES_LIMITS",JSON.stringify(t.payload)),yr(yr({},e),{},{seriesLimits:t.payload});case"TOGGLE_QUERY_TRACING":return yr(yr({},e),{},{isTracingEnabled:!e.isTracingEnabled});case"TOGGLE_NO_CACHE":return yr(yr({},e),{},{nocache:!e.nocache});case"TOGGLE_TABLE_COMPACT":return Lr("TABLE_COMPACT",!e.tableCompact),yr(yr({},e),{},{tableCompact:!e.tableCompact});default:throw new Error}}var Lo=j({}),Io=function(){return le(Lo).state},Po=function(){return le(Lo).dispatch},Ro={customStep:Br("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}}};function zo(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return yr(yr({},e),{},{yaxis:yr(yr({},e.yaxis),{},{limits:yr(yr({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"SET_CUSTOM_STEP":return yr(yr({},e),{},{customStep:t.payload});case"SET_YAXIS_LIMITS":return yr(yr({},e),{},{yaxis:yr(yr({},e.yaxis),{},{limits:yr(yr({},e.yaxis.limits),{},{range:t.payload})})});default:throw new Error}}var jo=j({}),$o=function(){return le(jo).state},Ho=function(){return le(jo).dispatch},Uo={runQuery:0,topN:Br("topN",10),date:Br("date",_t()().tz().format(Jr)),focusLabel:Br("focusLabel",""),match:Br("match",""),extraLabel:Br("extra_label","")};function Yo(e,t){switch(t.type){case"SET_TOP_N":return yr(yr({},e),{},{topN:t.payload});case"SET_DATE":return yr(yr({},e),{},{date:t.payload});case"SET_MATCH":return yr(yr({},e),{},{match:t.payload});case"SET_EXTRA_LABEL":return yr(yr({},e),{},{extraLabel:t.payload});case"SET_FOCUS_LABEL":return yr(yr({},e),{},{focusLabel:t.payload});case"RUN_QUERY":return yr(yr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Vo=j({}),qo=function(){return le(Vo).state},Wo=function(){return le(Vo).dispatch},Qo={topN:Br("topN",null),maxLifetime:Br("maxLifetime",""),runQuery:0};function Go(e,t){switch(t.type){case"SET_TOP_N":return yr(yr({},e),{},{topN:t.payload});case"SET_MAX_LIFE_TIME":return yr(yr({},e),{},{maxLifetime:t.payload});case"SET_RUN_QUERY":return yr(yr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Jo=j({}),Zo=function(){return le(Jo).state},Ko={windows:"Windows",mac:"Mac OS",linux:"Linux"};function Xo(){var e=bo(document.body),t=function(){var e=function(){var e=["Android","webOS","iPhone","iPad","iPod","BlackBerry","Windows Phone"].map((function(e){return navigator.userAgent.match(new RegExp(e,"i"))}));return e.some((function(e){return e}))}(),t=window.innerWidth<500;return e||t},n=Ft(ee(t()),2),r=n[0],i=n[1];return ne((function(){i(t())}),[e]),{isMobile:r}}var ea={success:Vr(Vi,{}),error:Vr(Yi,{}),warning:Vr(Ui,{}),info:Vr(Hi,{})},ta=function(e){var t,n=e.variant,r=e.children,i=Wr().isDarkTheme,o=Xo().isMobile;return Vr("div",{className:wo()((t={"vm-alert":!0},mr(t,"vm-alert_".concat(n),n),mr(t,"vm-alert_dark",i),mr(t,"vm-alert_mobile",o),t)),children:[Vr("div",{className:"vm-alert__icon",children:ea[n||"info"]}),Vr("div",{className:"vm-alert__content",children:r})]})},na=j({showInfoMessage:function(){}}),ra=function(){return le(na)},ia={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function oa(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return yr(yr({},e),{},{dashboardsSettings:t.payload});case"SET_DASHBOARDS_LOADING":return yr(yr({},e),{},{dashboardsLoading:t.payload});case"SET_DASHBOARDS_ERROR":return yr(yr({},e),{},{dashboardsError:t.payload});default:throw new Error}}var aa=j({}),ua=function(){return le(aa).state},la=function(){for(var e=arguments.length,t=new Array(e),n=0;nh,v=r.top-20<0,m=r.left+x.width+20>f,g=r.left-20<0;return p&&(r.top=t.top-x.height-u),v&&(r.top=t.height+t.top+u),m&&(r.left=t.right-x.width-l),g&&(r.left=t.left+l),d&&(r.width="".concat(t.width,"px")),r.top<0&&(r.top=20),r}),[n,i,b,t,d]);f&&sa(C,(function(){return D(!1)}),n),ne((function(){if(C.current&&b&&(!v||p)){var e=C.current.getBoundingClientRect(),t=e.right,n=e.width;if(t>window.innerWidth){var r=window.innerWidth-20-n;C.current.style.left=rm,y=r.top-20<0,_=r.left+h.width+20>p,b=r.left-20<0;return g&&(r.top=n.top-h.height-c),y&&(r.top=n.height+n.top+c),_&&(r.left=n.right-h.width-f),b&&(r.left=n.left+f),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[v,o,s,h]),b=function(){"boolean"!==typeof r&&f(!0)},D=function(){f(!1)};return ne((function(){"boolean"===typeof r&&f(r)}),[r]),ne((function(){var e,t=null===v||void 0===v||null===(e=v.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",b),t.addEventListener("mouseleave",D),function(){t.removeEventListener("mouseenter",b),t.removeEventListener("mouseleave",D)}}),[v]),Vr(g,{children:[Vr(g,{ref:v,children:t}),!l&&s&>.createPortal(Vr("div",{className:"vm-tooltip",ref:m,style:_,children:n}),document.body)]})},ga=(Object.values(Ko).find((function(e){return navigator.userAgent.indexOf(e)>=0}))||"unknown")===Ko.mac?"Cmd":"Ctrl",ya=[{title:"Query",list:[{keys:["Enter"],description:"Run"},{keys:["Shift","Enter"],description:"Multi-line queries"},{keys:[ga,"Arrow Up"],description:"Previous command from the Query history"},{keys:[ga,"Arrow Down"],description:"Next command from the Query history"},{keys:[ga,"Click by 'Eye'"],description:"Toggle multiple queries"}]},{title:"Graph",list:[{keys:[ga,"Scroll Up"],alt:["+"],description:"Zoom in"},{keys:[ga,"Scroll Down"],alt:["-"],description:"Zoom out"},{keys:[ga,"Click and Drag"],description:"Move the graph left/right"}]},{title:"Legend",list:[{keys:["Mouse Click"],description:"Select series"},{keys:[ga,"Mouse Click"],description:"Toggle multiple series"}]}],_a="Shortcut keys",ba=function(e){var t=e.showTitle,n=Ft(ee(!1),2),r=n[0],i=n[1],o=Ar();return Vr(g,{children:[Vr(ma,{open:!0!==t&&void 0,title:_a,placement:"bottom-center",children:Vr(fa,{className:o?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Vr(Ki,{}),onClick:function(){i(!0)},children:t&&_a})}),r&&Vr(va,{title:"Shortcut keys",onClose:function(){i(!1)},children:Vr("div",{className:"vm-shortcuts",children:ya.map((function(e){return Vr("div",{className:"vm-shortcuts-section",children:[Vr("h3",{className:"vm-shortcuts-section__title",children:e.title}),Vr("div",{className:"vm-shortcuts-section-list",children:e.list.map((function(e){return Vr("div",{className:"vm-shortcuts-section-list-item",children:[Vr("div",{className:"vm-shortcuts-section-list-item__key",children:[e.keys.map((function(t,n){return Vr(g,{children:[Vr("code",{children:t},t),n!==e.keys.length-1?"+":""]})})),e.alt&&e.alt.map((function(t,n){return Vr(g,{children:["or",Vr("code",{children:t},t),n!==e.alt.length-1?"+":""]})}))]}),Vr("p",{className:"vm-shortcuts-section-list-item__description",children:e.description})]},e.keys.join("+"))}))})]},e.title)}))})})]})},Da=function(e){var t=e.open;return Vr("button",{className:wo()({"vm-menu-burger":!0,"vm-menu-burger_opened":t}),children:Vr("span",{})})},wa=function(e){var t=e.background,n=e.color,r=jn().pathname,i=Xo().isMobile,o=ie(null),a=Ft(ee(!1),2),u=a[0],l=a[1],c=function(){l(!1)};return ne(c,[r]),sa(o,c),Vr("div",{className:"vm-header-sidebar",ref:o,children:[Vr("div",{className:wo()({"vm-header-sidebar-button":!0,"vm-header-sidebar-button_open":u}),onClick:function(){l((function(e){return!e}))},children:Vr(Da,{open:u})}),Vr("div",{className:wo()({"vm-header-sidebar-menu":!0,"vm-header-sidebar-menu_open":u}),children:[Vr("div",{children:Vr(pa,{color:n,background:t,direction:"column"})}),Vr("div",{className:"vm-header-sidebar-menu-settings",children:!i&&Vr(ba,{showTitle:!0})})]})]})},xa=function(e){var t=e.label,n=e.value,r=e.type,i=void 0===r?"text":r,o=e.error,a=void 0===o?"":o,u=e.placeholder,l=e.endIcon,c=e.startIcon,s=e.disabled,f=void 0!==s&&s,d=e.autofocus,h=void 0!==d&&d,p=e.helperText,v=e.inputmode,m=void 0===v?"text":v,g=e.onChange,y=e.onEnter,_=e.onKeyDown,b=e.onFocus,D=e.onBlur,w=Wr().isDarkTheme,x=Xo().isMobile,k=ie(null),C=ie(null),A=ae((function(){return"textarea"===i?C:k}),[i]),E=wo()({"vm-text-field__input":!0,"vm-text-field__input_error":a,"vm-text-field__input_icon-start":c,"vm-text-field__input_disabled":f,"vm-text-field__input_textarea":"textarea"===i}),S=function(e){_&&_(e),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),y&&y())},N=function(e){f||g&&g(e.target.value)};ne((function(){var e;h&&!x&&(null===A||void 0===A||null===(e=A.current)||void 0===e?void 0:e.focus)&&A.current.focus()}),[A,h]);var F=function(){b&&b()},M=function(){D&&D()};return Vr("label",{className:wo()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===i,"vm-text-field_dark":w}),"data-replicated-value":n,children:[c&&Vr("div",{className:"vm-text-field__icon-start",children:c}),l&&Vr("div",{className:"vm-text-field__icon-end",children:l}),"textarea"===i?Vr("textarea",{className:E,disabled:f,ref:C,value:n,rows:1,inputMode:m,placeholder:u,autoCapitalize:"none",onInput:N,onKeyDown:S,onFocus:F,onBlur:M}):Vr("input",{className:E,disabled:f,ref:k,value:n,type:i,placeholder:u,inputMode:m,autoCapitalize:"none",onInput:N,onKeyDown:S,onFocus:F,onBlur:M}),t&&Vr("span",{className:"vm-text-field__label",children:t}),Vr("span",{className:"vm-text-field__error","data-show":!!a,children:a}),p&&!a&&Vr("span",{className:"vm-text-field__helper-text",children:p})]})},ka=function(e){var t=e.accountIds,n=Ar(),r=Xo().isMobile,i=Wr(),o=i.tenantId,a=i.serverUrl,u=Qr(),l=Fi(),c=Ft(ee(""),2),f=c[0],d=c[1],h=Ft(ee(!1),2),p=h[0],v=h[1],m=ie(null),g=ae((function(){if(!f)return t;try{var e=new RegExp(f,"i");return t.filter((function(t){return e.test(t)})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(s){return[]}}),[f,t]),y=ae((function(){return t.length>1&&!0}),[t,a]),_=function(){v((function(e){return!e}))},b=function(){v(!1)},D=function(e){return function(){var t=e;if(u({type:"SET_TENANT_ID",payload:t}),a){var n=Er(a,t);if(n===a)return;u({type:"SET_SERVER",payload:n}),l({type:"RUN_QUERY"})}b()}};return ne((function(){var e=(a.match(/(\/select\/)(\d+|\d.+)(\/)(.+)/)||[])[2];o&&o!==e?D(o)():D(e)()}),[a]),y?Vr("div",{className:"vm-tenant-input",children:[Vr(ma,{title:"Define Tenant ID if you need request to another storage",children:Vr("div",{ref:m,children:r?Vr("div",{className:"vm-mobile-option",onClick:_,children:[Vr("span",{className:"vm-mobile-option__icon",children:Vr(go,{})}),Vr("div",{className:"vm-mobile-option-text",children:[Vr("span",{className:"vm-mobile-option-text__label",children:"Tenant ID"}),Vr("span",{className:"vm-mobile-option-text__value",children:o})]}),Vr("span",{className:"vm-mobile-option__arrow",children:Vr(Wi,{})})]}):Vr(fa,{className:n?"":"vm-header-button",variant:"contained",color:"primary",fullWidth:!0,startIcon:Vr(go,{}),endIcon:Vr("div",{className:wo()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":p}),children:Vr(Wi,{})}),onClick:_,children:o})})}),Vr(da,{open:p,placement:"bottom-right",onClose:b,buttonRef:m,title:r?"Define Tenant ID":void 0,children:Vr("div",{className:wo()({"vm-list vm-tenant-input-list":!0,"vm-list vm-tenant-input-list_mobile":r}),children:[Vr("div",{className:"vm-tenant-input-list__search",children:Vr(xa,{autofocus:!0,label:"Search",value:f,onChange:d,type:"search"})}),g.map((function(e){return Vr("div",{className:wo()({"vm-list-item":!0,"vm-list-item_mobile":r,"vm-list-item_active":e===o}),onClick:D(e),children:e},e)}))]})})]}):null};var Ca,Aa=function(e){var t=ie();return ne((function(){t.current=e}),[e]),t.current},Ea=function(){var e=Ar(),t=Xo().isMobile,n=$o().customStep,r=Ni().period.step,i=Ho(),o=Ni().period,a=Aa(o.end-o.start),u=Ft(ee(!1),2),l=u[0],c=u[1],s=Ft(ee(n||r),2),f=s[0],d=s[1],h=Ft(ee(""),2),p=h[0],v=h[1],m=ie(null),g=function(){c((function(e){return!e}))},y=function(){c(!1)},_=function(e){var t=e||f||r||"1s",n=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");i({type:"SET_CUSTOM_STEP",payload:n}),d(n),v("")},b=function(e){var t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((function(e){return parseFloat(e)>0})),i=n.every((function(e){return ii.find((function(t){return t.short===e}))})),o=r&&i;d(e),v(o?"":_r.validStep)};return ne((function(){n&&_(n)}),[n]),ne((function(){!n&&r&&_(r)}),[r]),ne((function(){o.end-o.start!==a&&a&&r&&_(r)}),[o,a,r]),Vr("div",{className:"vm-step-control",ref:m,children:[t?Vr("div",{className:"vm-mobile-option",onClick:g,children:[Vr("span",{className:"vm-mobile-option__icon",children:Vr(ho,{})}),Vr("div",{className:"vm-mobile-option-text",children:[Vr("span",{className:"vm-mobile-option-text__label",children:"Step"}),Vr("span",{className:"vm-mobile-option-text__value",children:f})]}),Vr("span",{className:"vm-mobile-option__arrow",children:Vr(Wi,{})})]}):Vr(ma,{title:"Query resolution step width",children:Vr(fa,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Vr(ho,{}),onClick:g,children:Vr("p",{children:["STEP",Vr("p",{className:"vm-step-control__value",children:f})]})})}),Vr(da,{open:l,placement:"bottom-right",onClose:y,buttonRef:m,title:t?"Query resolution step width":void 0,children:Vr("div",{className:wo()({"vm-step-control-popper":!0,"vm-step-control-popper_mobile":t}),children:[Vr(xa,{autofocus:!0,label:"Step value",value:f,error:p,onChange:b,onEnter:function(){_(),y()},onFocus:function(){document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:_,endIcon:Vr(ma,{title:"Set default step value: ".concat(r),children:Vr(fa,{size:"small",variant:"text",color:"primary",startIcon:Vr($i,{}),onClick:function(){var e=r||"1s";b(e),_(e)}})})}),Vr("div",{className:"vm-step-control-popper-info",children:[Vr("code",{children:"step"})," - the ",Vr("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Vr("code",{children:"query"})," is executed at",Vr("code",{children:"start"}),", ",Vr("code",{children:"start+step"}),", ",Vr("code",{children:"start+2*step"}),", \u2026, ",Vr("code",{children:"end"})," timestamps.",Vr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"help noreferrer",children:"Read more about Range query"})]})]})})]})},Sa=function(e){var t=e.relativeTime,n=e.setDuration,r=Xo().isMobile;return Vr("div",{className:wo()({"vm-time-duration":!0,"vm-time-duration_mobile":r}),children:pi.map((function(e){var i,o=e.id,a=e.duration,u=e.until,l=e.title;return Vr("div",{className:wo()({"vm-list-item":!0,"vm-list-item_mobile":r,"vm-list-item_active":o===t}),onClick:(i={duration:a,until:u(),id:o},function(){n(i)}),children:l||a},o)}))})},Na=function(e){var t=e.viewDate,n=e.displayYears,r=e.onChangeViewDate;return Vr("div",{className:"vm-calendar-header",children:[Vr("div",{className:"vm-calendar-header-left",onClick:e.toggleDisplayYears,children:[Vr("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Vr("div",{className:"vm-calendar-header-left__select-year",children:Vr(Qi,{})})]}),!n&&Vr("div",{className:"vm-calendar-header-right",children:[Vr("div",{className:"vm-calendar-header-right__prev",onClick:function(){r(t.subtract(1,"month"))},children:Vr(Wi,{})}),Vr("div",{className:"vm-calendar-header-right__next",onClick:function(){r(t.add(1,"month"))},children:Vr(Wi,{})})]})]})},Fa=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],Ma=function(e){var t=e.viewDate,n=e.selectDate,r=e.onChangeSelectDate,i=_t()().tz().startOf("day"),o=ae((function(){var e=new Array(42).fill(null),n=t.startOf("month"),r=t.endOf("month").diff(n,"day")+1,i=new Array(r).fill(n).map((function(e,t){return e.add(t,"day")})),o=n.day();return e.splice.apply(e,[o,r].concat(Ot(i))),e}),[t]),a=function(e){return function(){e&&r(e)}};return Vr("div",{className:"vm-calendar-body",children:[Fa.map((function(e){return Vr("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]},e)})),o.map((function(e,t){return Vr("div",{className:wo()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.toISOString())===n.startOf("day").toISOString(),"vm-calendar-body-cell_day_today":(e&&e.toISOString())===i.toISOString()}),onClick:a(e),children:e&&e.format("D")},e?e.toISOString():t)}))]})},Ta=function(e){var t=e.viewDate,n=e.onChangeViewDate,r=ae((function(){return t.format("YYYY")}),[t]),i=ae((function(){var e=_t()().subtract(103,"year");return new Array(206).fill(e).map((function(e,t){return e.add(t,"year")}))}),[t]);ne((function(){var e=document.getElementById("vm-calendar-year-".concat(r));e&&e.scrollIntoView({block:"center"})}),[]);return Vr("div",{className:"vm-calendar-years",children:i.map((function(e){return Vr("div",{className:wo()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===r}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,function(){n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})};!function(e){e[e.hour=0]="hour",e[e.minutes=1]="minutes",e[e.seconds=2]="seconds"}(Ca||(Ca={}));var Oa=function(e){var t=e.selectDate,n=e.onChangeTime,r=e.onClose,i=Wr().isDarkTheme,o=Ft(ee(Ca.hour),2),a=o[0],u=o[1],l=Ft(ee(t.format("HH")),2),c=l[0],s=l[1],f=Ft(ee(t.format("mm")),2),d=f[0],h=f[1],p=Ft(ee(t.format("ss")),2),v=p[0],m=p[1],g=ae((function(){return a===Ca.hour?new Array(24).fill("00").map((function(e,t){return{value:t,degrees:t/12*360,offset:0===t||t>12,title:t?"".concat(t):e}})):new Array(60).fill("00").map((function(e,t){return{value:t,degrees:t/60*360,offset:!1,title:t?"".concat(t):e}}))}),[a,c,d,v]),y=ae((function(){switch(a){case Ca.hour:return+c/12*360;case Ca.minutes:return+d/60*360;case Ca.seconds:return+v/60*360}}),[a,c,d,v]),_=ie(null),b=ie(null),D=ie(null),w=function(e){return function(t){!function(e,t){t.target.select(),u(e)}(e,t)}};return ne((function(){n("".concat(c,":").concat(d,":").concat(v))}),[c,d,v]),ne((function(){s(t.format("HH")),h(t.format("mm")),m(t.format("ss"))}),[t]),ne((function(){_.current&&_.current.focus()}),[]),Vr("div",{className:"vm-calendar-time-picker",children:[Vr("div",{className:"vm-calendar-time-picker-clock",children:[Vr("div",{className:wo()({"vm-calendar-time-picker-clock__arrow":!0,"vm-calendar-time-picker-clock__arrow_offset":a===Ca.hour&&("00"===c||+c>12)}),style:{transform:"rotate(".concat(y,"deg)")}}),g.map((function(e){return Vr("div",{className:wo()({"vm-calendar-time-picker-clock__time":!0,"vm-calendar-time-picker-clock__time_offset":e.offset,"vm-calendar-time-picker-clock__time_hide":g.length>24&&e.value%5}),style:{transform:"rotate(".concat(e.degrees,"deg)")},onClick:(t=e.value,function(){var e=String(t);switch(a){case Ca.hour:s(e),b.current&&b.current.focus();break;case Ca.minutes:h(e),D.current&&D.current.focus();break;case Ca.seconds:m(e),r()}}),children:Vr("span",{style:{transform:"rotate(-".concat(e.degrees,"deg)")},children:e.title})},e.value);var t}))]}),Vr("div",{className:wo()({"vm-calendar-time-picker-fields":!0,"vm-calendar-time-picker-fields_dark":i}),children:[Vr("input",{className:"vm-calendar-time-picker-fields__input",value:c,onChange:function(e){var t=e.target,n=t.value,r=+n>23?"23":n;t.value=r,s(r),n.length>1&&b.current&&b.current.focus()},onFocus:w(Ca.hour),ref:_,type:"number",min:0,max:24}),Vr("span",{children:":"}),Vr("input",{className:"vm-calendar-time-picker-fields__input",value:d,onChange:function(e){var t=e.target,n=t.value,r=+n>59?"59":n;t.value=r,h(r),n.length>1&&D.current&&D.current.focus()},onFocus:w(Ca.minutes),ref:b,type:"number",min:0,max:60}),Vr("span",{children:":"}),Vr("input",{className:"vm-calendar-time-picker-fields__input",value:v,onChange:function(e){var t=e.target,n=t.value,i=+n>59?"59":n;t.value=i,m(i),n.length>1&&D.current&&r()},onFocus:w(Ca.seconds),ref:D,type:"number",min:0,max:60})]})]})},Ba=[{value:"date",icon:Vr(Ji,{})},{value:"time",icon:Vr(Gi,{})}],La=function(e){var t=e.date,n=e.timepicker,r=void 0!==n&&n,i=e.format,o=void 0===i?Zr:i,a=e.onChange,u=e.onClose,l=Ft(ee(!1),2),c=l[0],s=l[1],f=Ft(ee(_t().tz(t)),2),d=f[0],h=f[1],p=Ft(ee(_t().tz(t)),2),v=p[0],m=p[1],y=Ft(ee(Ba[0].value),2),_=y[0],b=y[1],D=Xo().isMobile,w=function(e){h(e),s(!1)};return ne((function(){v.format()!==_t().tz(t).format()&&a(v.format(o))}),[v]),Vr("div",{className:wo()({"vm-calendar":!0,"vm-calendar_mobile":D}),children:["date"===_&&Vr(Na,{viewDate:d,onChangeViewDate:w,toggleDisplayYears:function(){s((function(e){return!e}))},displayYears:c}),"date"===_&&Vr(g,{children:[!c&&Vr(Ma,{viewDate:d,selectDate:v,onChangeSelectDate:function(e){m(e),r&&b("time")}}),c&&Vr(Ta,{viewDate:d,onChangeViewDate:w})]}),"time"===_&&Vr(Oa,{selectDate:v,onChangeTime:function(e){var t=Ft(e.split(":"),3),n=t[0],r=t[1],i=t[2];m((function(e){return e.set("hour",+n).set("minute",+r).set("second",+i)}))},onClose:function(){u&&u()}}),r&&Vr("div",{className:"vm-calendar__tabs",children:Vr(Eo,{activeItem:_,items:Ba,onChange:function(e){b(e)},indicatorPlacement:"top"})})]})},Ia=Ae((function(e,t){var n=e.date,r=e.targetRef,i=e.format,o=void 0===i?Zr:i,a=e.timepicker,u=e.onChange,l=e.label,c=Ft(ee(!1),2),s=c[0],f=c[1],d=ae((function(){return n?_t().tz(n):_t()().tz()}),[n]),h=Xo().isMobile,p=function(){f((function(e){return!e}))},v=function(){f(!1)},m=function(e){"Escape"!==e.key&&"Enter"!==e.key||v()};return ne((function(){var e;return null===(e=r.current)||void 0===e||e.addEventListener("click",p),function(){var e;null===(e=r.current)||void 0===e||e.removeEventListener("click",p)}}),[r]),ne((function(){return window.addEventListener("keyup",m),function(){window.removeEventListener("keyup",m)}}),[]),Vr(g,{children:Vr(da,{open:s,buttonRef:r,placement:"bottom-right",onClose:v,title:h?l:void 0,children:Vr("div",{ref:t,children:Vr(La,{date:d,format:o,timepicker:a,onChange:function(e){a||v(),u(e)},onClose:v})})})})})),Pa=Ia,Ra=function(){var e=Xo().isMobile,t=Wr().isDarkTheme,n=ie(null),r=bo(document.body),i=ae((function(){return r.width>1280}),[r]),o=Ft(ee(),2),a=o[0],u=o[1],l=Ft(ee(),2),c=l[0],s=l[1],f=ae((function(){return _t().tz(c).format(Zr)}),[c]),d=ae((function(){return _t().tz(a).format(Zr)}),[a]),h=Ni(),p=h.period,v=p.end,m=p.start,y=h.relativeTime,_=h.timezone,b=h.duration,D=Fi(),w=Ar(),x=ae((function(){return{region:_,utc:mi(_)}}),[_]);ne((function(){u(fi(hi(v)))}),[_,v]),ne((function(){s(fi(hi(m)))}),[_,m]);var k=function(e){var t=e.duration,n=e.until,r=e.id;D({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),O(!1)},C=ae((function(){return{start:_t().tz(hi(m)).format(Zr),end:_t().tz(hi(v)).format(Zr)}}),[m,v,_]),A=ae((function(){return y&&"none"!==y?y.replace(/_/g," "):"".concat(C.start," - ").concat(C.end)}),[y,C]),E=ie(null),S=ie(null),N=ie(null),F=ie(null),M=Ft(ee(!1),2),T=M[0],O=M[1],B=ie(null),L=function(){O((function(e){return!e}))},I=function(){O(!1)};return ne((function(){var e=vi({relativeTimeId:y,defaultDuration:b,defaultEndInput:hi(v)});k({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[_]),sa(n,(function(t){var n,r;if(!e){var i=t.target,o=(null===E||void 0===E?void 0:E.current)&&E.current.contains(i),a=(null===S||void 0===S?void 0:S.current)&&S.current.contains(i),u=(null===N||void 0===N?void 0:N.current)&&(null===N||void 0===N||null===(n=N.current)||void 0===n?void 0:n.contains(i)),l=(null===F||void 0===F?void 0:F.current)&&(null===F||void 0===F||null===(r=F.current)||void 0===r?void 0:r.contains(i));o||a||u||l||I()}})),Vr(g,{children:[Vr("div",{ref:B,children:e?Vr("div",{className:"vm-mobile-option",onClick:L,children:[Vr("span",{className:"vm-mobile-option__icon",children:Vr(Gi,{})}),Vr("div",{className:"vm-mobile-option-text",children:[Vr("span",{className:"vm-mobile-option-text__label",children:"Time range"}),Vr("span",{className:"vm-mobile-option-text__value",children:A})]}),Vr("span",{className:"vm-mobile-option__arrow",children:Vr(Wi,{})})]}):Vr(ma,{title:i?"Time range controls":A,children:Vr(fa,{className:w?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Vr(Gi,{}),onClick:L,children:i&&Vr("span",{children:A})})})}),Vr(da,{open:T,buttonRef:B,placement:"bottom-right",onClose:I,clickOutside:!1,title:e?"Time range controls":"",children:Vr("div",{className:wo()({"vm-time-selector":!0,"vm-time-selector_mobile":e}),ref:n,children:[Vr("div",{className:"vm-time-selector-left",children:[Vr("div",{className:wo()({"vm-time-selector-left-inputs":!0,"vm-time-selector-left-inputs_dark":t}),children:[Vr("div",{className:"vm-time-selector-left-inputs__date",ref:E,children:[Vr("label",{children:"From:"}),Vr("span",{children:f}),Vr(Ji,{}),Vr(Pa,{label:"Date From",ref:N,date:c||"",onChange:function(e){return s(e)},targetRef:E,timepicker:!0})]}),Vr("div",{className:"vm-time-selector-left-inputs__date",ref:S,children:[Vr("label",{children:"To:"}),Vr("span",{children:d}),Vr(Ji,{}),Vr(Pa,{label:"Date To",ref:F,date:a||"",onChange:function(e){return u(e)},targetRef:S,timepicker:!0})]})]}),Vr("div",{className:"vm-time-selector-left-timezone",children:[Vr("div",{className:"vm-time-selector-left-timezone__title",children:x.region}),Vr("div",{className:"vm-time-selector-left-timezone__utc",children:x.utc})]}),Vr(fa,{variant:"text",startIcon:Vr(Zi,{}),onClick:function(){return D({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"}),Vr("div",{className:"vm-time-selector-left__controls",children:[Vr(fa,{color:"error",variant:"outlined",onClick:function(){u(fi(hi(v))),s(fi(hi(m))),O(!1)},children:"Cancel"}),Vr(fa,{color:"primary",onClick:function(){return c&&a&&D({type:"SET_PERIOD",payload:{from:_t().tz(c).toDate(),to:_t().tz(a).toDate()}}),void O(!1)},children:"Apply"})]})]}),Vr(Sa,{relativeTime:y||"",setDuration:k})]})})]})},za=function(){var e=Xo().isMobile,t=Ar(),n=ie(null),r=qo().date,i=Wo(),o=ae((function(){return _t().tz(r).format(Jr)}),[r]);return Vr("div",{children:[Vr("div",{ref:n,children:e?Vr("div",{className:"vm-mobile-option",children:[Vr("span",{className:"vm-mobile-option__icon",children:Vr(Ji,{})}),Vr("div",{className:"vm-mobile-option-text",children:[Vr("span",{className:"vm-mobile-option-text__label",children:"Date control"}),Vr("span",{className:"vm-mobile-option-text__value",children:o})]}),Vr("span",{className:"vm-mobile-option__arrow",children:Vr(Wi,{})})]}):Vr(ma,{title:"Date control",children:Vr(fa,{className:t?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Vr(Ji,{}),children:o})})}),Vr(Pa,{label:"Date control",date:r||"",format:Jr,onChange:function(e){i({type:"SET_DATE",payload:e})},targetRef:n})]})},ja=[{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"}],$a=function(){var e=Xo().isMobile,t=Fi(),n=Ar(),r=Ft(ee(!1),2),i=r[0],o=r[1],a=Ft(ee(ja[0]),2),u=a[0],l=a[1];ne((function(){var e,n=u.seconds;return i?e=setInterval((function(){t({type:"RUN_QUERY"})}),1e3*n):l(ja[0]),function(){e&&clearInterval(e)}}),[u,i]);var c=Ft(ee(!1),2),s=c[0],f=c[1],d=ie(null),h=function(){f((function(e){return!e}))},p=function(e){return function(){!function(e){(i&&!e.seconds||!i&&e.seconds)&&o((function(e){return!e})),l(e),f(!1)}(e)}};return Vr(g,{children:[Vr("div",{className:"vm-execution-controls",children:Vr("div",{className:wo()({"vm-execution-controls-buttons":!0,"vm-execution-controls-buttons_mobile":e,"vm-header-button":!n}),children:[!e&&Vr(ma,{title:"Refresh dashboard",children:Vr(fa,{variant:"contained",color:"primary",onClick:function(){t({type:"RUN_QUERY"})},startIcon:Vr(qi,{})})}),e?Vr("div",{className:"vm-mobile-option",onClick:h,children:[Vr("span",{className:"vm-mobile-option__icon",children:Vr($i,{})}),Vr("div",{className:"vm-mobile-option-text",children:[Vr("span",{className:"vm-mobile-option-text__label",children:"Auto-refresh"}),Vr("span",{className:"vm-mobile-option-text__value",children:u.title})]}),Vr("span",{className:"vm-mobile-option__arrow",children:Vr(Wi,{})})]}):Vr(ma,{title:"Auto-refresh control",children:Vr("div",{ref:d,children:Vr(fa,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Vr("div",{className:wo()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":s}),children:Vr(Wi,{})}),onClick:h,children:u.title})})})]})}),Vr(da,{open:s,placement:"bottom-right",onClose:function(){f(!1)},buttonRef:d,title:e?"Auto-refresh duration":void 0,children:Vr("div",{className:wo()({"vm-execution-controls-list":!0,"vm-execution-controls-list_mobile":e}),children:ja.map((function(t){return Vr("div",{className:wo()({"vm-list-item":!0,"vm-list-item_mobile":e,"vm-list-item_active":t.seconds===u.seconds}),onClick:p(t),children:t.title},t.seconds)}))})})]})},Ha=function(e){var t;try{t=new URL(e)}catch(_){return!1}return"http:"===t.protocol||"https:"===t.protocol},Ua=function(e){var t=e.serverUrl,n=e.onChange,r=e.onEnter,i=e.onBlur,o=Ft(ee(""),2),a=o[0],u=o[1];return Vr(xa,{autofocus:!0,label:"Server URL",value:t,error:a,onChange:function(e){var t=e||"";n(t),u(""),t||u(_r.emptyServer),Ha(t)||u(_r.validServer)},onEnter:r,onBlur:i,inputmode:"url"})},Ya=[{label:"Graph",type:"chart"},{label:"JSON",type:"code"},{label:"Table",type:"table"}],Va=function(e){var t=e.limits,n=e.onChange,r=e.onEnter,i=Xo().isMobile,o=Ft(ee({table:"",chart:"",code:""}),2),a=o[0],u=o[1],l=function(e){return function(r){!function(e,r){var i=e||"";u((function(e){return yr(yr({},e),{},mr({},r,+i<0?_r.positiveNumber:""))})),n(yr(yr({},t),{},mr({},r,i||1/0)))}(r,e)}};return Vr("div",{className:"vm-limits-configurator",children:[Vr("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Vr(ma,{title:"To disable limits set to 0",children:Vr(fa,{variant:"text",color:"primary",size:"small",startIcon:Vr(Hi,{})})}),Vr("div",{className:"vm-limits-configurator-title__reset",children:Vr(fa,{variant:"text",color:"primary",size:"small",startIcon:Vr($i,{}),onClick:function(){n(Tr)},children:"Reset"})})]}),Vr("div",{className:wo()({"vm-limits-configurator__inputs":!0,"vm-limits-configurator__inputs_mobile":i}),children:Ya.map((function(e){return Vr("div",{children:Vr(xa,{label:e.label,value:t[e.type],error:a[e.type],onChange:l(e.type),onEnter:r,type:"number"})},e.type)}))})]})},qa=function(e){var t=e.defaultExpanded,n=void 0!==t&&t,r=e.onChange,i=e.title,o=e.children,a=Ft(ee(n),2),u=a[0],l=a[1];return ne((function(){r&&r(u)}),[u]),Vr(g,{children:[Vr("header",{className:"vm-accordion-header ".concat(u&&"vm-accordion-header_open"),onClick:function(){l((function(e){return!e}))},children:[i,Vr("div",{className:"vm-accordion-header__arrow ".concat(u&&"vm-accordion-header__arrow_open"),children:Vr(Wi,{})})]}),u&&Vr("section",{className:"vm-accordion-section",children:o},"content")]})},Wa=function(e){var t=e.timezoneState,n=e.onChange,r=Xo().isMobile,i=gi(),o=Ft(ee(!1),2),a=o[0],u=o[1],l=Ft(ee(""),2),c=l[0],f=l[1],d=ie(null),h=ae((function(){if(!c)return i;try{return gi(c)}catch(s){return{}}}),[c,i]),p=ae((function(){return Object.keys(h)}),[h]),v=ae((function(){return{region:_t().tz.guess(),utc:mi(_t().tz.guess())}}),[]),m=ae((function(){return{region:t,utc:mi(t)}}),[t]),g=function(){u(!1)},y=function(e){return function(){!function(e){n(e.region),f(""),g()}(e)}};return Vr("div",{className:"vm-timezones",children:[Vr("div",{className:"vm-server-configurator__title",children:"Time zone"}),Vr("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:function(){u((function(e){return!e}))},ref:d,children:[Vr("div",{className:"vm-timezones-item__title",children:m.region}),Vr("div",{className:"vm-timezones-item__utc",children:m.utc}),Vr("div",{className:wo()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":a}),children:Vr(Qi,{})})]}),Vr(da,{open:a,buttonRef:d,placement:"bottom-left",onClose:g,fullWidth:!0,title:r?"Time zone":void 0,children:Vr("div",{className:wo()({"vm-timezones-list":!0,"vm-timezones-list_mobile":r}),children:[Vr("div",{className:"vm-timezones-list-header",children:[Vr("div",{className:"vm-timezones-list-header__search",children:Vr(xa,{autofocus:!0,label:"Search",value:c,onChange:function(e){f(e)}})}),Vr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:y(v),children:[Vr("div",{className:"vm-timezones-item__title",children:["Browser Time (",v.region,")"]}),Vr("div",{className:"vm-timezones-item__utc",children:v.utc})]})]}),p.map((function(e){return Vr("div",{className:"vm-timezones-list-group",children:Vr(qa,{defaultExpanded:!0,title:Vr("div",{className:"vm-timezones-list-group__title",children:e}),children:Vr("div",{className:"vm-timezones-list-group-options",children:h[e]&&h[e].map((function(e){return Vr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:y(e),children:[Vr("div",{className:"vm-timezones-item__title",children:e.region}),Vr("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)}))})})},e)}))]})})]})},Qa=function(e){var t=e.options,n=e.value,r=e.label,i=e.onChange,o=ie(null),a=Ft(ee({width:"0px",left:"0px",borderRadius:"0px"}),2),u=a[0],l=a[1],c=function(e){return function(){i(e)}};return ne((function(){if(o.current){var e=t.findIndex((function(e){return e.value===n})),r=o.current.getBoundingClientRect().width,i=e*r,a="0";0===e&&(a="16px 0 0 16px"),e===t.length-1&&(a="10px",i-=1,a="0 16px 16px 0"),0!==e&&e!==t.length-1&&(r+=1,i-=1),l({width:"".concat(r,"px"),left:"".concat(i,"px"),borderRadius:a})}else l({width:"0px",left:"0px",borderRadius:"0px"})}),[o,n,t]),Vr("div",{className:"vm-toggles",children:[r&&Vr("label",{className:"vm-toggles__label",children:r}),Vr("div",{className:"vm-toggles-group",style:{gridTemplateColumns:"repeat(".concat(t.length,", 1fr)")},children:[u.borderRadius&&Vr("div",{className:"vm-toggles-group__highlight",style:u}),t.map((function(e,t){return Vr("div",{className:wo()({"vm-toggles-group-item":!0,"vm-toggles-group-item_first":0===t,"vm-toggles-group-item_active":e.value===n,"vm-toggles-group-item_icon":e.icon&&e.title}),onClick:c(e.value),ref:e.value===n?o:null,children:[e.icon,e.title]},e.value)}))]})]})},Ga=Object.values(br).map((function(e){return{title:e,value:e}})),Ja=function(){var e=Xo().isMobile,t=Wr().theme,n=Qr();return Vr("div",{className:wo()({"vm-theme-control":!0,"vm-theme-control_mobile":e}),children:[Vr("div",{className:"vm-server-configurator__title",children:"Theme preferences"}),Vr("div",{className:"vm-theme-control__toggle",children:Vr(Qa,{options:Ga,value:t,onChange:function(e){n({type:"SET_THEME",payload:e})}})},"".concat(e))]})},Za="Settings",Ka=function(){var e=Xo().isMobile,t=Ar(),n=Wr().serverUrl,r=Ni().timezone,i=Io().seriesLimits,o=Qr(),a=Fi(),u=Po(),l=Ft(ee(n),2),c=l[0],s=l[1],f=Ft(ee(i),2),d=f[0],h=f[1],p=Ft(ee(r),2),v=p[0],m=p[1],y=Ft(ee(!1),2),_=y[0],b=y[1],D=function(){return b(!0)},w=function(){o({type:"SET_SERVER",payload:c}),a({type:"SET_TIMEZONE",payload:v}),u({type:"SET_SERIES_LIMITS",payload:d})};return ne((function(){n!==c&&s(n)}),[n]),Vr(g,{children:[e?Vr("div",{className:"vm-mobile-option",onClick:D,children:[Vr("span",{className:"vm-mobile-option__icon",children:Vr(zi,{})}),Vr("div",{className:"vm-mobile-option-text",children:Vr("span",{className:"vm-mobile-option-text__label",children:Za})}),Vr("span",{className:"vm-mobile-option__arrow",children:Vr(Wi,{})})]}):Vr(ma,{title:Za,children:Vr(fa,{className:wo()({"vm-header-button":!t}),variant:"contained",color:"primary",startIcon:Vr(zi,{}),onClick:D})}),_&&Vr(va,{title:Za,onClose:function(){return b(!1)},children:Vr("div",{className:wo()({"vm-server-configurator":!0,"vm-server-configurator_mobile":e}),children:[!t&&Vr("div",{className:"vm-server-configurator__input",children:Vr(Ua,{serverUrl:c,onChange:s,onEnter:w,onBlur:w})}),Vr("div",{className:"vm-server-configurator__input",children:Vr(Va,{limits:d,onChange:h,onEnter:w})}),Vr("div",{className:"vm-server-configurator__input",children:Vr(Wa,{timezoneState:v,onChange:m})}),!t&&Vr("div",{className:"vm-server-configurator__input",children:Vr(Ja,{})})]})})]})};function Xa(){Xa=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(S){l=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var o=t&&t.prototype instanceof d?t:d,a=Object.create(o.prototype),u=new C(i||[]);return r(a,"_invoke",{value:D(e,n,u)}),a}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(S){return{type:"throw",arg:S}}}e.wrap=c;var f={};function d(){}function h(){}function p(){}var v={};l(v,o,(function(){return this}));var m=Object.getPrototypeOf,g=m&&m(m(A([])));g&&g!==t&&n.call(g,o)&&(v=g);var y=p.prototype=d.prototype=Object.create(v);function _(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function i(r,o,a,u){var l=s(e[r],e,o);if("throw"!==l.type){var c=l.arg,f=c.value;return f&&"object"==Lt(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){i("next",e,a,u)}),(function(e){i("throw",e,a,u)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return i("throw",e,a,u)}))}u(l.arg)}var o;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return o=o?o.then(r,r):r()}})}function D(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return E()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var u=w(a,n);if(u){if(u===f)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=s(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function w(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=s(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function k(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),f}},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 i=r.arg;k(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:A(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function eu(e,t,n,r,i,o,a){try{var u=e[o](a),l=u.value}catch(c){return void n(c)}u.done?t(l):Promise.resolve(l).then(r,i)}function tu(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){eu(o,r,i,a,u,"next",e)}function u(e){eu(o,r,i,a,u,"throw",e)}a(void 0)}))}}var nu,ru,iu=function(e){var t=e.displaySidebar,n=e.isMobile,r=e.headerSetup,i=e.accountIds;return Vr("div",{className:wo()({"vm-header-controls":!0,"vm-header-controls_mobile":n}),children:[(null===r||void 0===r?void 0:r.tenant)&&Vr(ka,{accountIds:i||[]}),(null===r||void 0===r?void 0:r.stepControl)&&Vr(Ea,{}),(null===r||void 0===r?void 0:r.timeSelector)&&Vr(Ra,{}),(null===r||void 0===r?void 0:r.cardinalityDatePicker)&&Vr(za,{}),(null===r||void 0===r?void 0:r.executionControls)&&Vr($a,{}),Vr(Ka,{}),!t&&Vr(ba,{})]})},ou=function(e){var t=Ar(),n=Ft(ee(!1),2),r=n[0],i=n[1],o=jn().pathname,a=function(){var e=Cr().useTenantID,t=Wr().serverUrl,n=Ft(ee(!1),2),r=n[0],i=n[1],o=Ft(ee(),2),a=o[0],u=o[1],l=Ft(ee([]),2),c=l[0],s=l[1],f=ae((function(){return"".concat(t.replace(/^(.+)(\/select.+)/,"$1"),"/admin/tenants")}),[t]);return ne((function(){if(e){var t=function(){var e=tu(Xa().mark((function e(){var t,n,r;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i(!0),e.prev=1,e.next=4,fetch(f);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],s(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?u(void 0):u("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&u("".concat(e.t0.name,": ").concat(e.t0.message));case 16:i(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[f]),{accountIds:c,isLoading:r,error:a}}(),u=a.accountIds,l=ae((function(){return(xr[o]||{}).header||{}}),[o]);return e.isMobile?Vr(g,{children:[Vr("div",{children:Vr(fa,{className:wo()({"vm-header-button":!t}),startIcon:Vr(yo,{}),onClick:function(){i((function(e){return!e}))}})}),Vr(va,{title:"Controls",onClose:function(){i(!1)},isOpen:r,className:wo()({"vm-header-controls-modal":!0,"vm-header-controls-modal_open":r}),children:Vr(iu,yr(yr({},e),{},{accountIds:u,headerSetup:l}))})]}):Vr(iu,yr(yr({},e),{},{accountIds:u,headerSetup:l}))},au=function(){var e=Xo().isMobile,t=ae((function(){return window.innerWidth<1e3}),[bo(document.body)]),n=Wr().isDarkTheme,r=Ar(),i=ae((function(){return Rr(n?"color-background-block":"color-primary")}),[n]),o=ae((function(){var e=Cr().headerStyles,t=void 0===e?{}:e,n=t.background,o=void 0===n?r?"#FFF":i:n,a=t.color;return{background:o,color:void 0===a?r?i:"#FFF":a}}),[i]),a=o.background,u=o.color,l=$n(),c=function(){l({pathname:kr.home}),window.location.reload()};return Vr("header",{className:wo()({"vm-header":!0,"vm-header_app":r,"vm-header_dark":n,"vm-header_mobile":e}),style:{background:a,color:u},children:[t?Vr(wa,{background:a,color:u}):Vr(g,{children:[!r&&Vr("div",{className:"vm-header-logo",onClick:c,style:{color:u},children:Vr(Pi,{})}),Vr(pa,{color:u,background:a})]}),e&&Vr("div",{className:"vm-header-logo vm-header-logo_mobile",onClick:c,style:{color:u},children:Vr(Pi,{})}),Vr(ou,{displaySidebar:t,isMobile:e})]})},uu=function(){var e=Xo().isMobile,t="2019-".concat(_t()().format("YYYY"));return Vr("footer",{className:"vm-footer",children:[Vr("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"me noreferrer",children:[Vr(Ri,{}),"victoriametrics.com"]}),Vr("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/#vmui",rel:"help noreferrer",children:[Vr(po,{}),e?"Docs":"Documentation"]}),Vr("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:[Vr(vo,{}),e?"New issue":"Create an issue"]}),Vr("div",{className:"vm-footer__copyright",children:["\xa9 ",t," VictoriaMetrics"]})]})},lu=function(){var e=tu(Xa().mark((function e(t){var n,r;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("./dashboards/".concat(t));case 2:return n=e.sent,e.next=5,n.json();case 5:return r=e.sent,e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),cu=function(){var e=Ar(),t=Wr().serverUrl,n=le(aa).dispatch,r=Ft(ee(!1),2),i=r[0],o=r[1],a=Ft(ee(""),2),u=a[0],l=a[1],c=Ft(ee([]),2),s=c[0],f=c[1],d=function(){var e=tu(Xa().mark((function e(){var t,n;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(t=window.__VMUI_PREDEFINED_DASHBOARDS__)&&void 0!==t&&t.length){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,Promise.all(t.map(function(){var e=tu(Xa().mark((function e(t){return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",lu(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:n=e.sent,f((function(e){return[].concat(Ot(n),Ot(e))}));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),h=function(){var e=tu(Xa().mark((function e(){var n,r,i;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return l(""),o(!0),e.prev=4,e.next=7,fetch("".concat(t,"/vmui/custom-dashboards"));case 7:return n=e.sent,e.next=10,n.json();case 10:if(r=e.sent,!n.ok){e.next=17;break}(i=r.dashboardsSettings)&&i.length>0&&f((function(e){return[].concat(Ot(e),Ot(i))})),o(!1),e.next=21;break;case 17:return e.next=19,d();case 19:l(r.error),o(!1);case 21:e.next=29;break;case 23:return e.prev=23,e.t0=e.catch(4),o(!1),e.t0 instanceof Error&&l("".concat(e.t0.name,": ").concat(e.t0.message)),e.next=29,d();case 29:case"end":return e.stop()}}),e,null,[[4,23]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){e||(f([]),h())}),[t]),ne((function(){n({type:"SET_DASHBOARDS_SETTINGS",payload:s})}),[s]),ne((function(){n({type:"SET_DASHBOARDS_LOADING",payload:i})}),[i]),ne((function(){n({type:"SET_DASHBOARDS_ERROR",payload:u})}),[u]),{dashboardsSettings:s,isLoading:i,error:u}},su=function(){var e=Ar(),t=Xo().isMobile;cu();var n=jn().pathname;return ne((function(){var e,t="vmui",r=null===(e=xr[n])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(t):t}),[n]),Vr("section",{className:"vm-container",children:[Vr(au,{}),Vr("div",{className:wo()({"vm-container-body":!0,"vm-container-body_mobile":t,"vm-container-body_app":e}),children:Vr(Xn,{})}),!e&&Vr(uu,{})]})},fu="u-off",du="u-label",hu="width",pu="height",vu="top",mu="bottom",gu="left",yu="right",_u="#000",bu=_u+"0",Du="mousemove",wu="mousedown",xu="mouseup",ku="mouseenter",Cu="mouseleave",Au="dblclick",Eu="change",Su="dppxchange",Nu="undefined"!=typeof window,Fu=Nu?document:null,Mu=Nu?window:null,Tu=Nu?navigator:null;function Ou(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function Bu(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function Lu(e,t,n){e.style[t]=n+"px"}function Iu(e,t,n,r){var i=Fu.createElement(e);return null!=t&&Ou(i,t),null!=n&&n.insertBefore(i,r),i}function Pu(e,t){return Iu("div",e,t)}var Ru=new WeakMap;function zu(e,t,n,r,i){var o="translate("+t+"px,"+n+"px)";o!=Ru.get(e)&&(e.style.transform=o,Ru.set(e,o),t<0||n<0||t>r||n>i?Ou(e,fu):Bu(e,fu))}var ju=new WeakMap;function $u(e,t,n){var r=t+n;r!=ju.get(e)&&(ju.set(e,r),e.style.background=t,e.style.borderColor=n)}var Hu=new WeakMap;function Uu(e,t,n,r){var i=t+""+n;i!=Hu.get(e)&&(Hu.set(e,i),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 Yu={passive:!0},Vu=yr(yr({},Yu),{},{capture:!0});function qu(e,t,n,r){t.addEventListener(e,n,r?Vu:Yu)}function Wu(e,t,n,r){t.removeEventListener(e,n,r?Vu:Yu)}function Qu(e,t,n,r){var i;n=n||0;for(var o=(r=r||t.length-1)<=2147483647;r-n>1;)t[i=o?n+r>>1:fl((n+r)/2)]=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}function Ju(e,t,n,r){var i=Dl,o=-Dl;if(1==r)i=e[t],o=e[n];else if(-1==r)i=e[n],o=e[t];else for(var a=t;a<=n;a++)null!=e[a]&&(i=pl(i,e[a]),o=vl(o,e[a]));return[i,o]}function Zu(e,t,n){for(var r=Dl,i=-Dl,o=t;o<=n;o++)e[o]>0&&(r=pl(r,e[o]),i=vl(i,e[o]));return[r==Dl?1:r,i==-Dl?10:i]}function Ku(e,t,n,r){var i=gl(e),o=gl(t),a=10==n?yl:_l;e==t&&(-1==i?(e*=n,t/=n):(e/=n,t*=n));var u=1==o?hl:fl,l=(1==i?fl:hl)(a(sl(e))),c=u(a(sl(t))),s=ml(n,l),f=ml(n,c);return l<0&&(s=Ol(s,-l)),c<0&&(f=Ol(f,-c)),r?(e=s*i,t=f*o):(e=Tl(e,s),t=Ml(t,f)),[e,t]}function Xu(e,t,n,r){var i=Ku(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}Nu&&function e(){var t=devicePixelRatio;nu!=t&&(nu=t,ru&&Wu(Eu,ru,e),ru=matchMedia("(min-resolution: ".concat(nu-.001,"dppx) and (max-resolution: ").concat(nu+.001,"dppx)")),qu(Eu,ru,e),Mu.dispatchEvent(new CustomEvent(Su)))}();var el={mode:3,pad:.1},tl={pad:0,soft:null,mode:0},nl={min:tl,max:tl};function rl(e,t,n,r){return Ul(n)?ol(e,t,n):(tl.pad=n,tl.soft=r?0:null,tl.mode=r?3:0,ol(e,t,nl))}function il(e,t){return null==e?t:e}function ol(e,t,n){var r=n.min,i=n.max,o=il(r.pad,0),a=il(i.pad,0),u=il(r.hard,-Dl),l=il(i.hard,Dl),c=il(r.soft,Dl),s=il(i.soft,-Dl),f=il(r.mode,0),d=il(i.mode,0),h=t-e,p=yl(h),v=vl(sl(e),sl(t)),m=yl(v),g=sl(m-p);(h<1e-9||g>10)&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&c!=Dl&&(o=0),2==d&&s!=-Dl&&(a=0)));var y=h||v||1e3,_=yl(y),b=ml(10,fl(_)),D=Ol(Tl(e-y*(0==h?0==e?.1:1:o),b/10),9),w=e>=c&&(1==f||3==f&&D<=c||2==f&&D>=c)?c:Dl,x=vl(u,D=w?w:pl(w,D)),k=Ol(Ml(t+y*(0==h?0==t?.1:1:a),b/10),9),C=t<=s&&(1==d||3==d&&k>=s||2==d&&k<=s)?s:-Dl,A=pl(l,k>C&&t<=C?C:vl(C,k));return x==A&&0==x&&(A=100),[x,A]}var al=new Intl.NumberFormat(Nu?Tu.language:"en-US"),ul=function(e){return al.format(e)},ll=Math,cl=ll.PI,sl=ll.abs,fl=ll.floor,dl=ll.round,hl=ll.ceil,pl=ll.min,vl=ll.max,ml=ll.pow,gl=ll.sign,yl=ll.log10,_l=ll.log2,bl=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return ll.asinh(e/t)},Dl=1/0;function wl(e){return 1+(0|yl((e^e>>31)-(e>>31)))}function xl(e,t){return dl(e/t)*t}function kl(e,t,n){return pl(vl(e,t),n)}function Cl(e){return"function"==typeof e?e:function(){return e}}var Al=function(e){return e},El=function(e,t){return t},Sl=function(e){return null},Nl=function(e){return!0},Fl=function(e,t){return e==t};function Ml(e,t){return hl(e/t)*t}function Tl(e,t){return fl(e/t)*t}function Ol(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if($l(e))return e;var n=Math.pow(10,t),r=e*n*(1+Number.EPSILON);return dl(r)/n}var Bl=new Map;function Ll(e){return((""+e).split(".")[1]||"").length}function Il(e,t,n,r){for(var i=[],o=r.map(Ll),a=t;a=0&&a>=0?0:u)+(a>=o[c]?0:o[c]),d=Ol(s,f);i.push(d),Bl.set(d,f)}return i}var Pl={},Rl=[],zl=[null,null],jl=Array.isArray,$l=Number.isInteger;function Hl(e){return"string"==typeof e}function Ul(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function Yl(e){return null!=e&&"object"==typeof e}var Vl=Object.getPrototypeOf(Uint8Array);function ql(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Ul;if(jl(e)){var r=e.find((function(e){return null!=e}));if(jl(r)||n(r)){t=Array(e.length);for(var i=0;io){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 nc(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return nc(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function ic(e,t){t=t||tc;for(var n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;n=i.exec(e);)r.push("{"==n[0][0]?rc[n[1]]:n[0]);return function(e){for(var n="",i=0;i=a,v=f>=o&&f=i?i:f,F=_+(fl(c)-fl(g))+Ml(g-_,N);h.push(F);for(var M=t(F),T=M.getHours()+M.getMinutes()/n+M.getSeconds()/r,O=f/r,B=d/u.axes[l]._space;!((F=Ol(F+f,1==e?0:3))>s);)if(O>1){var L=fl(Ol(T+O,6))%24,I=t(F).getHours()-L;I>1&&(I=-1),T=(T+O)%24,Ol(((F-=I*r)-h[h.length-1])/f,3)*B>=.7&&h.push(F)}else h.push(F)}return h}}]}var xc=Ft(wc(1),3),kc=xc[0],Cc=xc[1],Ac=xc[2],Ec=Ft(wc(.001),3),Sc=Ec[0],Nc=Ec[1],Fc=Ec[2];function Mc(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 Tc(e,t){return function(n,r,i,o,a){var u,l,c,s,f,d,h=t.find((function(e){return a>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),i=n.getMonth(),o=n.getDate(),a=n.getHours(),p=n.getMinutes(),v=n.getSeconds(),m=r!=u&&h[2]||i!=l&&h[3]||o!=c&&h[4]||a!=s&&h[5]||p!=f&&h[6]||v!=d&&h[7]||h[1];return u=r,l=i,c=o,s=a,f=p,d=v,m(n)}))}}function Oc(e,t,n){return new Date(e,t,n)}function Bc(e,t){return t(e)}Il(2,-53,53,[1]);function Lc(e,t){return function(n,r){return t(e(r))}}var Ic={show:!0,live:!0,isolate:!1,mount:function(){},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 Pc=[0,0];function Rc(e,t,n){return function(e){0==e.button&&n(e)}}function zc(e,t,n){return n}var jc={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return Pc[0]=t,Pc[1]=n,Pc},points:{show:function(e,t){var n=e.cursor.points,r=Pu(),i=n.size(e,t);Lu(r,hu,i),Lu(r,pu,i);var o=i/-2;Lu(r,"marginLeft",o),Lu(r,"marginTop",o);var a=n.width(e,t,i);return a&&Lu(r,"borderWidth",a),r},size:function(e,t){return as(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:Rc,mouseup:Rc,click:Rc,dblclick:Rc,mousemove:zc,mouseleave:zc,mouseenter:zc},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},$c={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},Hc=Wl({},$c,{filter:El}),Uc=Wl({},Hc,{size:10}),Yc=Wl({},$c,{show:!1}),Vc='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"',qc="bold "+Vc,Wc={show:!0,scale:"x",stroke:_u,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:qc,side:2,grid:Hc,ticks:Uc,border:Yc,font:Vc,rotate:0},Qc={show:!0,scale:"x",auto:!1,sorted:1,min:Dl,max:-Dl,idxs:[]};function Gc(e,t,n,r,i){return t.map((function(e){return null==e?"":ul(e)}))}function Jc(e,t,n,r,i,o,a){for(var u=[],l=Bl.get(i)||0,c=n=a?n:Ol(Ml(n,i),l);c<=r;c=Ol(c+i,l))u.push(Object.is(c,-0)?0:c);return u}function Zc(e,t,n,r,i,o,a){var u=[],l=e.scales[e.axes[t].scale].log,c=fl((10==l?yl:_l)(n));i=ml(l,c),c<0&&(i=Ol(i,-c));var s=n;do{u.push(s),(s=Ol(s+i,Bl.get(i)))>=i*l&&(i=s)}while(s<=r);return u}function Kc(e,t,n,r,i,o,a){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Zc(e,t,vl(u,n),r,i):[u],c=r>=0&&n<=0?[0]:[];return(n<-u?Zc(e,t,vl(u,-r),-n,i):[u]).reverse().map((function(e){return-e})).concat(c,l)}var Xc=/./,es=/[12357]/,ts=/[125]/,ns=/1/;function rs(e,t,n,r,i){var o=e.axes[n],a=o.scale,u=e.scales[a];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,c=o._space,s=l(10,a),f=l(9,a)-s>=c?Xc:l(7,a)-s>=c?es:l(5,a)-s>=c?ts:ns;return t.map((function(e){return 4==u.distr&&0==e||f.test(e)?e:null}))}function is(e,t){return null==t?"":ul(t)}var os={show:!0,scale:"y",stroke:_u,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:qc,side:3,grid:Hc,ticks:Uc,border:Yc,font:Vc,rotate:0};function as(e,t){return Ol((3+2*(e||1))*t,3)}var us={scale:null,auto:!0,sorted:0,min:Dl,max:-Dl},ls=function(e,t,n,r,i){return i},cs={show:!0,auto:!0,sorted:0,gaps:ls,alpha:1,facets:[Wl({},us,{scale:"x"}),Wl({},us,{scale:"y"})]},ss={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:ls,alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,i=n.idxs,o=e._data[0],a=e.valToPos(o[i[0]],r,!0),u=e.valToPos(o[i[1]],r,!0),l=sl(u-a)/(e.series[t].points.space*nu);return i[1]-i[0]<=l},filter:null},values:null,min:Dl,max:-Dl,idxs:[],path:null,clip:null};function fs(e,t,n,r,i){return n/10}var ds={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},hs=Wl({},ds,{time:!1,ori:1}),ps={};function vs(e,t){var n=ps[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,i,o,a,u){for(var l=0;l0){a=new Path2D;for(var u=0==t?Ss:Ns,l=n,c=0;cs[0]){var f=s[0]-l;f>0&&u(a,l,r,f,r+o),l=s[1]}}var d=n+i-l;d>0&&u(a,l,r,d,r+o)}return a}function Ds(e,t,n,r,i,o,a){for(var u=[],l=e.length,c=1==i?n:r;c>=n&&c<=r;c+=i){if(null===t[c]){var s=c,f=c;if(1==i)for(;++c<=r&&null===t[c];)f=c;else for(;--c>=n&&null===t[c];)f=c;var d=o(e[s]),h=f==s?d:o(e[f]),p=s-i;d=a<=0&&p>=0&&p=0&&v>=0&&v=d&&u.push([d,h])}}return u}function ws(e){return 0==e?Al:1==e?dl:function(t){return xl(t,e)}}function xs(e){var t=0==e?ks:Cs,n=0==e?function(e,t,n,r,i,o){e.arcTo(t,n,r,i,o)}:function(e,t,n,r,i,o){e.arcTo(n,t,i,r,o)},r=0==e?function(e,t,n,r,i){e.rect(t,n,r,i)}:function(e,t,n,r,i){e.rect(n,t,i,r)};return function(e,i,o,a,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,i,o,a,u):(l=pl(l,a/2,u/2),t(e,i+l,o),n(e,i+a,o,i+a,o+u,l),n(e,i+a,o+u,i,o+u,l),n(e,i,o+u,i,o,l),n(e,i,o,i+a,o,l),e.closePath())}}var ks=function(e,t,n){e.moveTo(t,n)},Cs=function(e,t,n){e.moveTo(n,t)},As=function(e,t,n){e.lineTo(t,n)},Es=function(e,t,n){e.lineTo(n,t)},Ss=xs(0),Ns=xs(1),Fs=function(e,t,n,r,i,o){e.arc(t,n,r,i,o)},Ms=function(e,t,n,r,i,o){e.arc(n,t,r,i,o)},Ts=function(e,t,n,r,i,o,a){e.bezierCurveTo(t,n,r,i,o,a)},Os=function(e,t,n,r,i,o,a){e.bezierCurveTo(n,t,i,r,a,o)};function Bs(e){return function(e,t,n,r,i){return ms(e,t,(function(t,o,a,u,l,c,s,f,d,h,p){var v,m,g=t.pxRound,y=t.points;0==u.ori?(v=ks,m=Fs):(v=Cs,m=Ms);var _=Ol(y.width*nu,3),b=(y.size-y.width)/2*nu,D=Ol(2*b,3),w=new Path2D,x=new Path2D,k=e.bbox,C=k.left,A=k.top,E=k.width,S=k.height;Ss(x,C-D,A-D,E+2*D,S+2*D);var N=function(e){if(null!=a[e]){var t=g(c(o[e],u,h,f)),n=g(s(a[e],l,p,d));v(w,t+b,n),m(w,t,n,b,0,2*cl)}};if(i)i.forEach(N);else for(var F=n;F<=r;F++)N(F);return{stroke:_>0?w:null,fill:w,clip:x,flags:3}}))}}function Ls(e){return function(t,n,r,i,o,a){r!=i&&(o!=r&&a!=r&&e(t,n,r),o!=i&&a!=i&&e(t,n,i),e(t,n,a))}}var Is=Ls(As),Ps=Ls(Es);function Rs(e){var t=il(null===e||void 0===e?void 0:e.alignGaps,0);return function(e,n,r,i){return ms(e,n,(function(o,a,u,l,c,s,f,d,h,p,v){var m,g,y=o.pxRound,_=function(e){return y(s(e,l,p,d))},b=function(e){return y(f(e,c,v,h))};0==l.ori?(m=As,g=Is):(m=Es,g=Ps);for(var D,w,x,k=l.dir*(0==l.ori?1:-1),C={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},A=C.stroke,E=Dl,S=-Dl,N=_(a[1==k?r:i]),F=Gu(u,r,i,1*k),M=Gu(u,r,i,-1*k),T=_(a[F]),O=_(a[M]),B=1==k?r:i;B>=r&&B<=i;B+=k){var L=_(a[B]);L==N?null!=u[B]&&(w=b(u[B]),E==Dl&&(m(A,L,w),D=w),E=pl(w,E),S=vl(w,S)):(E!=Dl&&(g(A,N,E,S,D,w),x=N),null!=u[B]?(m(A,L,w=b(u[B])),E=S=D=w):(E=Dl,S=-Dl),N=L)}E!=Dl&&E!=S&&x!=N&&g(A,N,E,S,D,w);var I=Ft(gs(e,n),2),P=I[0],R=I[1];if(null!=o.fill||0!=P){var z=C.fill=new Path2D(A),j=b(o.fillTo(e,n,o.min,o.max,P));m(z,O,j),m(z,T,j)}if(!o.spanGaps){var $,H=[];($=H).push.apply($,Ot(Ds(a,u,r,i,k,_,t))),C.gaps=H=o.gaps(e,n,r,i,H),C.clip=bs(H,l.ori,d,h,p,v)}return 0!=R&&(C.band=2==R?[_s(e,n,r,i,A,-1),_s(e,n,r,i,A,1)]:_s(e,n,r,i,A,R)),C}))}}function zs(e,t,n,r,i,o){var a=e.length;if(a<2)return null;var u=new Path2D;if(n(u,e[0],t[0]),2==a)r(u,e[1],t[1]);else{for(var l=Array(a),c=Array(a-1),s=Array(a-1),f=Array(a-1),d=0;d0!==c[h]>0?l[h]=0:(l[h]=3*(f[h-1]+f[h])/((2*f[h]+f[h-1])/c[h-1]+(f[h]+2*f[h-1])/c[h]),isFinite(l[h])||(l[h]=0));l[a-1]=c[a-2];for(var p=0;p=i&&o+(l<5?Bl.get(l):0)<=17)return[l,c]}while(++u0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?bl(e,t.asinh):e)-t._min)/(t._max-t._min)}function a(e,t,n,r){var i=o(e,t);return r+n*(-1==t.dir?1-i:i)}function u(e,t,n,r){var i=o(e,t);return r+n*(-1==t.dir?i:1-i)}function l(e,t,n,r){return 0==t.ori?a(e,t,n,r):u(e,t,n,r)}r.valToPosH=a,r.valToPosV=u;var c=!1;r.status=0;var s=r.root=Pu("uplot");(null!=e.id&&(s.id=e.id),Ou(s,e.class),e.title)&&(Pu("u-title",s).textContent=e.title);var f=Iu("canvas"),d=r.ctx=f.getContext("2d"),h=Pu("u-wrap",s),p=r.under=Pu("u-under",h);h.appendChild(f);var v=r.over=Pu("u-over",h),m=+il((e=ql(e)).pxAlign,1),g=ws(m);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(r,e)||e)}));var y=e.ms||.001,_=r.series=1==i?Ys(e.series||[],Qc,ss,!1):function(e,t){return e.map((function(e,n){return 0==n?null:Wl({},t,e)}))}(e.series||[null],cs),b=r.axes=Ys(e.axes||[],Wc,os,!0),D=r.scales={},w=r.bands=e.bands||[];w.forEach((function(e){e.fill=Cl(e.fill||null),e.dir=il(e.dir,-1)}));var x=2==i?_[1].facets[0].scale:_[0].scale,k={axes:function(){for(var e=function(){var e=b[t];if(!e.show||!e._show)return"continue";var n,i,o=e.side,a=o%2,u=e.stroke(r,t),c=0==o||3==o?-1:1;if(e.label){var s=e.labelGap*c,f=dl((e._lpos+s)*nu);Ke(e.labelFont[0],u,"center",2==o?vu:mu),d.save(),1==a?(n=i=0,d.translate(f,dl(de+pe/2)),d.rotate((3==o?-cl:cl)/2)):(n=dl(fe+he/2),i=f),d.fillText(e.label,n,i),d.restore()}var h=Ft(e._found,2),p=h[0],v=h[1];if(0==v)return"continue";var m=D[e.scale],y=0==a?he:pe,_=0==a?fe:de,w=dl(e.gap*nu),x=e._splits,k=2==m.distr?x.map((function(e){return We[e]})):x,C=2==m.distr?We[x[1]]-We[x[0]]:p,A=e.ticks,E=e.border,S=A.show?dl(A.size*nu):0,N=e._rotate*-cl/180,F=g(e._pos*nu),M=F+(S+w)*c;i=0==a?M:0,n=1==a?M:0,Ke(e.font[0],u,1==e.align?gu:2==e.align?yu:N>0?gu:N<0?yu:0==a?"center":3==o?yu:gu,N||1==a?"middle":2==o?vu:mu);for(var T=1.5*e.font[1],O=x.map((function(e){return g(l(e,m,y,_))})),B=e._values,L=0;L0&&(_.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var o=2==i?[0,t[n][0].length-1]:function(e){var t=kl(Ye-1,0,Me-1),n=kl(Ve+1,0,Me-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){$e!=e.alpha&&(d.globalAlpha=$e=e.alpha),et(t,!1),e._paths&&tt(t,!1),et(t,!0);var n=e._paths?e._paths.gaps:null,i=e.points.show(r,t,Ye,Ve,n),o=e.points.filter(r,t,i,n);(i||o)&&(e.points._paths=e.points.paths(r,t,Ye,Ve,o),tt(t,!0)),1!=$e&&(d.globalAlpha=$e=1),an("drawSeries",t)}})))}},C=(e.drawOrder||["axes","series"]).map((function(e){return k[e]}));function A(t){var n=D[t];if(null==n){var r=(e.scales||Pl)[t]||Pl;if(null!=r.from)A(r.from),D[t]=Wl({},D[r.from],r,{key:t});else{(n=D[t]=Wl({},t==x?ds:hs,r)).key=t;var o=n.time,a=n.range,u=jl(a);if((t!=x||2==i&&!o)&&(!u||null!=a[0]&&null!=a[1]||(a={min:null==a[0]?el:{mode:1,hard:a[0],soft:a[0]},max:null==a[1]?el:{mode:1,hard:a[1],soft:a[1]}},u=!1),!u&&Ul(a))){var l=a;a=function(e,t,n){return null==t?zl:rl(t,n,l)}}n.range=Cl(a||(o?Ws:t==x?3==n.distr?Js:4==n.distr?Ks:qs:3==n.distr?Gs:4==n.distr?Zs:Qs)),n.auto=Cl(!u&&n.auto),n.clamp=Cl(n.clamp||fs),n._min=n._max=null}}}for(var E in A("x"),A("y"),1==i&&_.forEach((function(e){A(e.scale)})),b.forEach((function(e){A(e.scale)})),e.scales)A(E);var S,N,F=D[x],M=F.distr;0==F.ori?(Ou(s,"u-hz"),S=a,N=u):(Ou(s,"u-vt"),S=u,N=a);var T={};for(var O in D){var B=D[O];null==B.min&&null==B.max||(T[O]={min:B.min,max:B.max},B.min=B.max=null)}var L,I=e.tzDate||function(e){return new Date(dl(e/y))},P=e.fmtDate||ic,R=1==y?Ac(I):Fc(I),z=Tc(I,Mc(1==y?Cc:Nc,P)),j=Lc(I,Bc("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",P)),$=[],H=r.legend=Wl({},Ic,e.legend),U=H.show,Y=H.markers;H.idxs=$,Y.width=Cl(Y.width),Y.dash=Cl(Y.dash),Y.stroke=Cl(Y.stroke),Y.fill=Cl(Y.fill);var V,q=[],W=[],Q=!1,G={};if(H.live){var J=_[1]?_[1].values:null;for(var Z in V=(Q=null!=J)?J(r,1,0):{_:0})G[Z]="--"}if(U)if(L=Iu("table","u-legend",s),H.mount(r,L),Q){var K=Iu("tr","u-thead",L);for(var X in Iu("th",null,K),V)Iu("th",du,K).textContent=X}else Ou(L,"u-inline"),H.live&&Ou(L,"u-live");var ee={show:!0},te={show:!1};var ne=new Map;function re(e,t,n){var i=ne.get(t)||{},o=xe.bind[e](r,t,n);o&&(qu(e,t,i[e]=o),ne.set(t,i))}function ie(e,t,n){var r=ne.get(t)||{};for(var i in r)null!=e&&i!=e||(Wu(i,t,r[i]),delete r[i]);null==e&&ne.delete(t)}var oe=0,ae=0,ue=0,le=0,ce=0,se=0,fe=0,de=0,he=0,pe=0;r.bbox={};var ve=!1,me=!1,ge=!1,ye=!1,_e=!1,be=!1;function De(e,t,n){(n||e!=r.width||t!=r.height)&&we(e,t),lt(!1),ge=!0,me=!0,xe.left>=0&&(ye=be=!0),wt()}function we(e,t){r.width=oe=ue=e,r.height=ae=le=t,ce=se=0,function(){var e=!1,t=!1,n=!1,r=!1;b.forEach((function(i,o){if(i.show&&i._show){var a=i.side,u=a%2,l=i._size+(null!=i.label?i.labelSize:0);l>0&&(u?(ue-=l,3==a?(ce+=l,r=!0):n=!0):(le-=l,0==a?(se+=l,e=!0):t=!0))}})),Ne[0]=e,Ne[1]=n,Ne[2]=t,Ne[3]=r,ue-=Ue[1]+Ue[3],ce+=Ue[3],le-=Ue[2]+Ue[0],se+=Ue[0]}(),function(){var e=ce+ue,t=se+le,n=ce,r=se;function i(i,o){switch(i){case 1:return(e+=o)-o;case 2:return(t+=o)-o;case 3:return(n-=o)+o;case 0:return(r-=o)+o}}b.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=i(n,e._size),null!=e.label&&(e._lpos=i(n,e.labelSize))}}))}();var n=r.bbox;fe=n.left=xl(ce*nu,.5),de=n.top=xl(se*nu,.5),he=n.width=xl(ue*nu,.5),pe=n.height=xl(le*nu,.5)}r.setSize=function(e){De(e.width,e.height)};var xe=r.cursor=Wl({},jc,{drag:{y:2==i}},e.cursor);xe.idxs=$,xe._lock=!1;var ke=xe.points;ke.show=Cl(ke.show),ke.size=Cl(ke.size),ke.stroke=Cl(ke.stroke),ke.width=Cl(ke.width),ke.fill=Cl(ke.fill);var Ce=r.focus=Wl({},e.focus||{alpha:.3},xe.focus),Ae=Ce.prox>=0,Ee=[null];function Se(e,t){if(1==i||t>0){var n=1==i&&D[e.scale].time,o=e.value;e.value=n?Hl(o)?Lc(I,Bc(o,P)):o||j:o||is,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||Hs||Sl,e.fillTo=Cl(e.fillTo||ys),e.pxAlign=+il(e.pxAlign,m),e.pxRound=ws(e.pxAlign),e.stroke=Cl(e.stroke||null),e.fill=Cl(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var a=as(e.width,1),u=e.points=Wl({},{size:a,width:vl(1,.2*a),stroke:e.stroke,space:2*a,paths:Us,_stroke:null,_fill:null},e.points);u.show=Cl(u.show),u.filter=Cl(u.filter),u.fill=Cl(u.fill),u.stroke=Cl(u.stroke),u.paths=Cl(u.paths),u.pxAlign=e.pxAlign}if(U){var l=function(e,t){if(0==t&&(Q||!H.live||2==i))return zl;var n=[],o=Iu("tr","u-series",L,L.childNodes[t]);Ou(o,e.class),e.show||Ou(o,fu);var a=Iu("th",null,o);if(Y.show){var u=Pu("u-marker",a);if(t>0){var l=Y.width(r,t);l&&(u.style.border=l+"px "+Y.dash(r,t)+" "+Y.stroke(r,t)),u.style.background=Y.fill(r,t)}}var c=Pu(du,a);for(var s in c.textContent=e.label,t>0&&(Y.show||(c.style.color=e.width>0?Y.stroke(r,t):Y.fill(r,t)),re("click",a,(function(t){if(!xe._lock){var n=_.indexOf(e);if((t.ctrlKey||t.metaKey)!=H.isolate){var r=_.some((function(e,t){return t>0&&t!=n&&e.show}));_.forEach((function(e,t){t>0&&Pt(t,r?t==n?ee:te:ee,!0,un.setSeries)}))}else Pt(n,{show:!e.show},!0,un.setSeries)}})),Ae&&re(ku,a,(function(t){xe._lock||Pt(_.indexOf(e),Rt,!0,un.setSeries)}))),V){var f=Iu("td","u-value",o);f.textContent="--",n.push(f)}return[o,n]}(e,t);q.splice(t,0,l[0]),W.splice(t,0,l[1]),H.values.push(null)}if(xe.show){$.splice(t,0,null);var c=function(e,t){if(t>0){var n=xe.points.show(r,t);if(n)return Ou(n,"u-cursor-pt"),Ou(n,e.class),zu(n,-10,-10,ue,le),v.insertBefore(n,Ee[t]),n}}(e,t);c&&Ee.splice(t,0,c)}an("addSeries",t)}r.addSeries=function(e,t){t=null==t?_.length:t,e=1==i?Vs(e,t,Qc,ss):Vs(e,t,null,cs),_.splice(t,0,e),Se(_[t],t)},r.delSeries=function(e){if(_.splice(e,1),U){H.values.splice(e,1),W.splice(e,1);var t=q.splice(e,1)[0];ie(null,t.firstChild),t.remove()}xe.show&&($.splice(e,1),Ee.length>1&&Ee.splice(e,1)[0].remove()),an("delSeries",e)};var Ne=[!1,!1,!1,!1];function Fe(e,t,n,r){var i=Ft(n,4),o=i[0],a=i[1],u=i[2],l=i[3],c=t%2,s=0;return 0==c&&(l||a)&&(s=0==t&&!o||2==t&&!u?dl(Wc.size/3):0),1==c&&(o||u)&&(s=1==t&&!a||3==t&&!l?dl(os.size/2):0),s}var Me,Te,Oe,Be,Le,Ie,Pe,Re,ze,je,$e,He=r.padding=(e.padding||[Fe,Fe,Fe,Fe]).map((function(e){return Cl(il(e,Fe))})),Ue=r._padding=He.map((function(e,t){return e(r,t,Ne,0)})),Ye=null,Ve=null,qe=1==i?_[0].idxs:null,We=null,Qe=!1;function Ge(e,n){if(t=null==e?[]:ql(e,Yl),2==i){Me=0;for(var o=1;o<_.length;o++)Me+=t[o][0].length;r.data=t=e}else if(null==t[0]&&(t[0]=[]),r.data=t.slice(),We=t[0],Me=We.length,2==M){t[0]=Array(Me);for(var a=0;a=0,be=!0,wt()}}function Je(){var e,n;if(Qe=!0,1==i)if(Me>0){if(Ye=qe[0]=0,Ve=qe[1]=Me-1,e=t[0][Ye],n=t[0][Ve],2==M)e=Ye,n=Ve;else if(1==Me)if(3==M){var r=Ft(Ku(e,e,F.log,!1),2);e=r[0],n=r[1]}else if(4==M){var o=Ft(Xu(e,e,F.log,!1),2);e=o[0],n=o[1]}else if(F.time)n=e+dl(86400/y);else{var a=Ft(rl(e,n,.1,!0),2);e=a[0],n=a[1]}}else Ye=qe[0]=e=null,Ve=qe[1]=n=null;It(x,e,n)}function Ze(e,t,n,r,i,o){var a,u,l,c,s;null!==(a=e)&&void 0!==a||(e=bu),null!==(u=n)&&void 0!==u||(n=Rl),null!==(l=r)&&void 0!==l||(r="butt"),null!==(c=i)&&void 0!==c||(i=bu),null!==(s=o)&&void 0!==s||(o="round"),e!=Te&&(d.strokeStyle=Te=e),i!=Oe&&(d.fillStyle=Oe=i),t!=Be&&(d.lineWidth=Be=t),o!=Ie&&(d.lineJoin=Ie=o),r!=Pe&&(d.lineCap=Pe=r),n!=Le&&d.setLineDash(Le=n)}function Ke(e,t,n,r){t!=Oe&&(d.fillStyle=Oe=t),e!=Re&&(d.font=Re=e),n!=ze&&(d.textAlign=ze=n),r!=je&&(d.textBaseline=je=r)}function Xe(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(i.length>0&&e.auto(r,Qe)&&(null==t||null==t.min)){var a=il(Ye,0),u=il(Ve,i.length-1),l=null==n.min?3==e.distr?Zu(i,a,u):Ju(i,a,u,o):[n.min,n.max];e.min=pl(e.min,n.min=l[0]),e.max=vl(e.max,n.max=l[1])}}function et(e,t){var n=t?_[e].points:_[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function tt(e,n){var i=n?_[e].points:_[e],o=i._stroke,a=i._fill,u=i._paths,l=u.stroke,c=u.fill,s=u.clip,f=u.flags,h=null,p=Ol(i.width*nu,3),v=p%2/2;n&&null==a&&(a=p>0?"#fff":o);var m=1==i.pxAlign;if(m&&d.translate(v,v),!n){var g=fe,y=de,b=he,D=pe,x=p*nu/2;0==i.min&&(D+=x),0==i.max&&(y-=x,D+=x),(h=new Path2D).rect(g,y,b,D)}n?nt(o,p,i.dash,i.cap,a,l,c,f,s):function(e,n,i,o,a,u,l,c,s,f,d){var h=!1;w.forEach((function(p,v){if(p.series[0]==e){var m,g=_[p.series[1]],y=t[p.series[1]],b=(g._paths||Pl).band;jl(b)&&(b=1==p.dir?b[0]:b[1]);var D=null;g.show&&b&&function(e,t,n){for(t=il(t,0),n=il(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(y,Ye,Ve)?(D=p.fill(r,v)||u,m=g._paths.clip):b=null,nt(n,i,o,a,D,l,c,s,f,d,m,b),h=!0}})),h||nt(n,i,o,a,u,l,c,s,f,d)}(e,o,p,i.dash,i.cap,a,l,c,f,h,s),m&&d.translate(-v,-v)}r.setData=Ge;function nt(e,t,n,r,i,o,a,u,l,c,s,f){Ze(e,t,n,r,i),(l||c||f)&&(d.save(),l&&d.clip(l),c&&d.clip(c)),f?3==(3&u)?(d.clip(f),s&&d.clip(s),it(i,a),rt(e,o,t)):2&u?(it(i,a),d.clip(f),rt(e,o,t)):1&u&&(d.save(),d.clip(f),s&&d.clip(s),it(i,a),d.restore(),rt(e,o,t)):(it(i,a),rt(e,o,t)),(l||c||f)&&d.restore()}function rt(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){d.strokeStyle=Te=t,d.stroke(e)})):null!=t&&e&&d.stroke(t))}function it(e,t){t instanceof Map?t.forEach((function(e,t){d.fillStyle=Oe=t,d.fill(e)})):null!=t&&e&&d.fill(t)}function ot(e,t,n,r,i,o,a,u,l,c){var s=a%2/2;1==m&&d.translate(s,s),Ze(u,a,l,c,u),d.beginPath();var f,h,p,v,g=i+(0==r||3==r?-o:o);0==n?(h=i,v=g):(f=i,p=g);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 ct,st,ft,dt,ht,pt,vt,mt,gt,yt,_t,bt,Dt=!1;function wt(){Dt||(Gl(xt),Dt=!0)}function xt(){ve&&(!function(){var e=ql(D,Yl);for(var n in e){var o=e[n],a=T[n];if(null!=a&&null!=a.min)Wl(o,a),n==x&<(!0);else if(n!=x||2==i)if(0==Me&&null==o.from){var u=o.range(r,null,null,n);o.min=u[0],o.max=u[1]}else o.min=Dl,o.max=-Dl}if(Me>0)for(var l in _.forEach((function(n,o){if(1==i){var a=n.scale,u=e[a],l=T[a];if(0==o){var c=u.range(r,u.min,u.max,a);u.min=c[0],u.max=c[1],Ye=Qu(u.min,t[0]),(Ve=Qu(u.max,t[0]))-Ye>1&&(t[0][Ye]u.max&&Ve--),n.min=We[Ye],n.max=We[Ve]}else n.show&&n.auto&&Xe(u,l,n,t[o],n.sorted);n.idxs[0]=Ye,n.idxs[1]=Ve}else if(o>0&&n.show&&n.auto){var s=Ft(n.facets,2),f=s[0],d=s[1],h=f.scale,p=d.scale,v=Ft(t[o],2),m=v[0],g=v[1];Xe(e[h],T[h],f,m,f.sorted),Xe(e[p],T[p],d,g,d.sorted),n.min=d.min,n.max=d.max}})),e){var c=e[l],s=T[l];if(null==c.from&&(null==s||null==s.min)){var f=c.range(r,c.min==Dl?null:c.min,c.max==-Dl?null:c.max,l);c.min=f[0],c.max=f[1]}}for(var d in e){var h=e[d];if(null!=h.from){var p=e[h.from];if(null==p.min)h.min=h.max=null;else{var v=h.range(r,p.min,p.max,d);h.min=v[0],h.max=v[1]}}}var m={},g=!1;for(var y in e){var b=e[y],w=D[y];if(w.min!=b.min||w.max!=b.max){w.min=b.min,w.max=b.max;var k=w.distr;w._min=3==k?yl(w.min):4==k?bl(w.min,w.asinh):w.min,w._max=3==k?yl(w.max):4==k?bl(w.max,w.asinh):w.max,m[y]=g=!0}}if(g){for(var C in _.forEach((function(e,t){2==i?t>0&&m.y&&(e._paths=null):m[e.scale]&&(e._paths=null)})),m)ge=!0,an("setScale",C);xe.show&&xe.left>=0&&(ye=be=!0)}for(var A in T)T[A]=null}(),ve=!1),ge&&(!function(){for(var e=!1,t=0;!e;){var n=at(++t),i=ut(t);(e=3==t||n&&i)||(we(r.width,r.height),me=!0)}}(),ge=!1),me&&(Lu(p,gu,ce),Lu(p,vu,se),Lu(p,hu,ue),Lu(p,pu,le),Lu(v,gu,ce),Lu(v,vu,se),Lu(v,hu,ue),Lu(v,pu,le),Lu(h,hu,oe),Lu(h,pu,ae),f.width=dl(oe*nu),f.height=dl(ae*nu),b.forEach((function(e){var t=e._el,n=e._show,r=e._size,i=e._pos,o=e.side;if(null!=t)if(n){var a=o%2==1;Lu(t,a?"left":"top",i-(3===o||0===o?r:0)),Lu(t,a?"width":"height",r),Lu(t,a?"top":"left",a?se:ce),Lu(t,a?"height":"width",a?le:ue),Bu(t,fu)}else Ou(t,fu)})),Te=Oe=Be=Ie=Pe=Re=ze=je=Le=null,$e=1,Qt(!0),an("setSize"),me=!1),oe>0&&ae>0&&(d.clearRect(0,0,f.width,f.height),an("drawClear"),C.forEach((function(e){return e()})),an("draw")),Ot.show&&_e&&(Lt(Ot),_e=!1),xe.show&&ye&&(qt(null,!0,!1),ye=!1),c||(c=!0,r.status=1,an("ready")),Qe=!1,Dt=!1}function kt(e,n){var i=D[e];if(null==i.from){if(0==Me){var o=i.range(r,n.min,n.max,e);n.min=o[0],n.max=o[1]}if(n.min>n.max){var a=n.min;n.min=n.max,n.max=a}if(Me>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==x&&2==i.distr&&Me>0&&(n.min=Qu(n.min,t[0]),n.max=Qu(n.max,t[0]),n.min==n.max&&n.max++),T[e]=n,ve=!0,wt()}}r.redraw=function(e,t){ge=t||!1,!1!==e?It(x,F.min,F.max):wt()},r.setScale=kt;var Ct=!1,At=xe.drag,Et=At.x,St=At.y;xe.show&&(xe.x&&(ct=Pu("u-cursor-x",v)),xe.y&&(st=Pu("u-cursor-y",v)),0==F.ori?(ft=ct,dt=st):(ft=st,dt=ct),_t=xe.left,bt=xe.top);var Nt,Mt,Tt,Ot=r.select=Wl({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Bt=Ot.show?Pu("u-select",Ot.over?v:p):null;function Lt(e,t){if(Ot.show){for(var n in e)Ot[n]=e[n],n in Zt&&Lu(Bt,n,e[n]);!1!==t&&an("setSelect")}}function It(e,t,n){kt(e,{min:t,max:n})}function Pt(e,t,n,o){null!=t.focus&&function(e){if(e!=Tt){var t=null==e,n=1!=Ce.alpha;_.forEach((function(r,i){var o=t||0==i||i==e;r._focus=t?null:o,n&&function(e,t){_[e].alpha=t,xe.show&&Ee[e]&&(Ee[e].style.opacity=t);U&&q[e]&&(q[e].style.opacity=t)}(i,o?1:Ce.alpha)})),Tt=e,n&&wt()}}(e),null!=t.show&&_.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=_[e],r=U?q[e]:null;n.show?r&&Bu(r,fu):(r&&Ou(r,fu),Ee.length>1&&zu(Ee[e],-10,-10,ue,le))}(r,t.show),It(2==i?n.facets[1].scale:n.scale,null,null),wt())})),!1!==n&&an("setSeries",e,t),o&&sn("setSeries",r,e,t)}r.setSelect=Lt,r.setSeries=Pt,r.addBand=function(e,t){e.fill=Cl(e.fill||null),e.dir=il(e.dir,-1),t=null==t?w.length:t,w.splice(t,0,e)},r.setBand=function(e,t){Wl(w[e],t)},r.delBand=function(e){null==e?w.length=0:w.splice(e,1)};var Rt={focus:!0};function zt(e,t,n){var r=D[t];n&&(e=e/nu-(1==r.ori?se:ce));var i=ue;1==r.ori&&(e=(i=le)-e),-1==r.dir&&(e=i-e);var o=r._min,a=o+(r._max-o)*(e/i),u=r.distr;return 3==u?ml(10,a):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return ll.sinh(e)*t}(a,r.asinh):a}function jt(e,t){Lu(Bt,gu,Ot.left=e),Lu(Bt,hu,Ot.width=t)}function $t(e,t){Lu(Bt,vu,Ot.top=e),Lu(Bt,pu,Ot.height=t)}U&&Ae&&qu(Cu,L,(function(e){xe._lock||null!=Tt&&Pt(null,Rt,!0,un.setSeries)})),r.valToIdx=function(e){return Qu(e,t[0])},r.posToIdx=function(e,n){return Qu(zt(e,x,n),t[0],Ye,Ve)},r.posToVal=zt,r.valToPos=function(e,t,n){return 0==D[t].ori?a(e,D[t],n?he:ue,n?fe:0):u(e,D[t],n?pe:le,n?de:0)},r.batch=function(e){e(r),wt()},r.setCursor=function(e,t,n){_t=e.left,bt=e.top,qt(null,t,n)};var Ht=0==F.ori?jt:$t,Ut=1==F.ori?jt:$t;function Yt(e,t){if(null!=e){var n=e.idx;H.idx=n,_.forEach((function(e,t){(t>0||!Q)&&Vt(t,n)}))}U&&H.live&&function(){if(U&&H.live)for(var e=2==i?1:0;e<_.length;e++)if(0!=e||!Q){var t=H.values[e],n=0;for(var r in t)W[e][n++].firstChild.nodeValue=t[r]}}(),be=!1,!1!==t&&an("setLegend")}function Vt(e,n){var i;if(null==n)i=G;else{var o=_[e],a=0==e&&2==M?We:t[e];i=Q?o.values(r,e,n):{_:o.value(r,a[n],e,n)}}H.values[e]=i}function qt(e,n,o){gt=_t,yt=bt;var a,u=Ft(xe.move(r,_t,bt),2);_t=u[0],bt=u[1],xe.show&&(ft&&zu(ft,dl(_t),0,ue,le),dt&&zu(dt,0,dl(bt),ue,le));var l=Ye>Ve;Nt=Dl;var c=0==F.ori?ue:le,s=1==F.ori?ue:le;if(_t<0||0==Me||l){a=null;for(var f=0;f<_.length;f++)f>0&&Ee.length>1&&zu(Ee[f],-10,-10,ue,le);if(Ae&&Pt(null,Rt,!0,null==e&&un.setSeries),H.live){$.fill(null),be=!0;for(var d=0;d<_.length;d++)H.values[d]=G}}else{var h,p;1==i&&(a=Qu(h=zt(0==F.ori?_t:bt,x),t[0],Ye,Ve),p=Ml(S(t[0][a],F,c,0),.5));for(var v=2==i?1:0;v<_.length;v++){var m=_[v],g=$[v],y=1==i?t[v][g]:t[v][1][g],b=xe.dataIdx(r,v,a,h),w=1==i?t[v][b]:t[v][1][b];be=be||w!=y||b!=g,$[v]=b;var k=b==a?p:Ml(S(1==i?t[0][b]:t[v][0][b],F,c,0),.5);if(v>0&&m.show){var C=null==w?-10:Ml(N(w,1==i?D[m.scale]:D[m.facets[1].scale],s,0),.5);if(C>0&&1==i){var A=sl(C-bt);A<=Nt&&(Nt=A,Mt=v)}var E=void 0,M=void 0;if(0==F.ori?(E=k,M=C):(E=C,M=k),be&&Ee.length>1){$u(Ee[v],xe.points.fill(r,v),xe.points.stroke(r,v));var T=void 0,O=void 0,B=void 0,L=void 0,I=!0,P=xe.points.bbox;if(null!=P){I=!1;var R=P(r,v);B=R.left,L=R.top,T=R.width,O=R.height}else B=E,L=M,T=O=xe.points.size(r,v);Uu(Ee[v],T,O,I),zu(Ee[v],B,L,ue,le)}}if(H.live){if(!be||0==v&&Q)continue;Vt(v,b)}}}if(xe.idx=a,xe.left=_t,xe.top=bt,be&&(H.idx=a,Yt()),Ot.show&&Ct)if(null!=e){var z=Ft(un.scales,2),j=z[0],U=z[1],Y=Ft(un.match,2),V=Y[0],q=Y[1],W=Ft(e.cursor.sync.scales,2),J=W[0],Z=W[1],K=e.cursor.drag;if(Et=K._x,St=K._y,Et||St){var X,ee,te,ne,re,ie=e.select,oe=ie.left,ae=ie.top,ce=ie.width,se=ie.height,fe=e.scales[j].ori,de=e.posToVal,he=null!=j&&V(j,J),pe=null!=U&&q(U,Z);he&&Et?(0==fe?(X=oe,ee=ce):(X=ae,ee=se),te=D[j],ne=S(de(X,J),te,c,0),re=S(de(X+ee,J),te,c,0),Ht(pl(ne,re),sl(re-ne))):Ht(0,c),pe&&St?(1==fe?(X=oe,ee=ce):(X=ae,ee=se),te=D[U],ne=N(de(X,Z),te,s,0),re=N(de(X+ee,Z),te,s,0),Ut(pl(ne,re),sl(re-ne))):Ut(0,s)}else Kt()}else{var ve=sl(gt-ht),me=sl(yt-pt);if(1==F.ori){var ge=ve;ve=me,me=ge}Et=At.x&&ve>=At.dist,St=At.y&&me>=At.dist;var ye,_e,De=At.uni;null!=De?Et&&St&&(St=me>=De,(Et=ve>=De)||St||(me>ve?St=!0:Et=!0)):At.x&&At.y&&(Et||St)&&(Et=St=!0),Et&&(0==F.ori?(ye=vt,_e=_t):(ye=mt,_e=bt),Ht(pl(ye,_e),sl(_e-ye)),St||Ut(0,s)),St&&(1==F.ori?(ye=vt,_e=_t):(ye=mt,_e=bt),Ut(pl(ye,_e),sl(_e-ye)),Et||Ht(0,c)),Et||St||(Ht(0,0),Ut(0,0))}if(At._x=Et,At._y=St,null==e){if(o){if(null!=ln){var we=Ft(un.scales,2),ke=we[0],Se=we[1];un.values[0]=null!=ke?zt(0==F.ori?_t:bt,ke):null,un.values[1]=null!=Se?zt(1==F.ori?_t:bt,Se):null}sn(Du,r,_t,bt,ue,le,a)}if(Ae){var Ne=o&&un.setSeries,Fe=Ce.prox;null==Tt?Nt<=Fe&&Pt(Mt,Rt,!0,Ne):Nt>Fe?Pt(null,Rt,!0,Ne):Mt!=Tt&&Pt(Mt,Rt,!0,Ne)}}!1!==n&&an("setCursor")}r.setLegend=Yt;var Wt=null;function Qt(e){!0===e?Wt=null:an("syncRect",Wt=v.getBoundingClientRect())}function Gt(e,t,n,r,i,o,a){xe._lock||Ct&&null!=e&&0==e.movementX&&0==e.movementY||(Jt(e,t,n,r,i,o,a,!1,null!=e),null!=e?qt(null,!0,!0):qt(t,!0,!1))}function Jt(e,t,n,i,o,a,u,c,s){if(null==Wt&&Qt(!1),null!=e)n=e.clientX-Wt.left,i=e.clientY-Wt.top;else{if(n<0||i<0)return _t=-10,void(bt=-10);var f=Ft(un.scales,2),d=f[0],h=f[1],p=t.cursor.sync,v=Ft(p.values,2),m=v[0],g=v[1],y=Ft(p.scales,2),_=y[0],b=y[1],w=Ft(un.match,2),x=w[0],k=w[1],C=t.axes[0].side%2==1,A=0==F.ori?ue:le,E=1==F.ori?ue:le,S=C?a:o,N=C?o:a,M=C?i:n,T=C?n:i;if(n=null!=_?x(d,_)?l(m,D[d],A,0):-10:A*(M/S),i=null!=b?k(h,b)?l(g,D[h],E,0):-10:E*(T/N),1==F.ori){var O=n;n=i,i=O}}if(s&&((n<=1||n>=ue-1)&&(n=xl(n,ue)),(i<=1||i>=le-1)&&(i=xl(i,le))),c){ht=n,pt=i;var B=Ft(xe.move(r,n,i),2);vt=B[0],mt=B[1]}else _t=n,bt=i}var Zt={width:0,height:0,left:0,top:0};function Kt(){Lt(Zt,!1)}function Xt(e,t,n,i,o,a,u){Ct=!0,Et=St=At._x=At._y=!1,Jt(e,t,n,i,o,a,0,!0,!1),null!=e&&(re(xu,Fu,en),sn(wu,r,vt,mt,ue,le,null))}function en(e,t,n,i,o,a,u){Ct=At._x=At._y=!1,Jt(e,t,n,i,o,a,0,!1,!0);var l=Ot.left,c=Ot.top,s=Ot.width,f=Ot.height,d=s>0||f>0;if(d&&Lt(Ot),At.setScale&&d){var h=l,p=s,v=c,m=f;if(1==F.ori&&(h=c,p=f,v=l,m=s),Et&&It(x,zt(h,x),zt(h+p,x)),St)for(var g in D){var y=D[g];g!=x&&null==y.from&&y.min!=Dl&&It(g,zt(v+m,g),zt(v,g))}Kt()}else xe.lock&&(xe._lock=!xe._lock,xe._lock||qt(null,!0,!1));null!=e&&(ie(xu,Fu),sn(xu,r,_t,bt,ue,le,null))}function tn(e,t,n,i,o,a,u){Je(),Kt(),null!=e&&sn(Au,r,_t,bt,ue,le,null)}function nn(){b.forEach(tf),De(r.width,r.height,!0)}qu(Su,Mu,nn);var rn={};rn.mousedown=Xt,rn.mousemove=Gt,rn.mouseup=en,rn.dblclick=tn,rn.setSeries=function(e,t,n,r){Pt(n,r,!0,!1)},xe.show&&(re(wu,v,Xt),re(Du,v,Gt),re(ku,v,Qt),re(Cu,v,(function(e,t,n,r,i,o,a){if(!xe._lock){var u=Ct;if(Ct){var l,c,s=!0,f=!0;0==F.ori?(l=Et,c=St):(l=St,c=Et),l&&c&&(s=_t<=10||_t>=ue-10,f=bt<=10||bt>=le-10),l&&s&&(_t=_t=3&&10==i.log?rs:El)),e.font=ef(e.font),e.labelFont=ef(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Ne[t]=!0,e._el=Pu("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(s),fn()):n(r,fn):fn(),r}nf.assign=Wl,nf.fmtNum=ul,nf.rangeNum=rl,nf.rangeLog=Ku,nf.rangeAsinh=Xu,nf.orient=ms,nf.pxRatio=nu,nf.join=function(e,t){for(var n=new Set,r=0;r=a&&O<=u;O+=S){var B=s[O];if(null!=B){var L=x(c[O]),I=k(B);1==t?C(E,L,N):C(E,M,I),C(E,L,I),N=I,M=L}}var P=M;i&&1==t&&C(E,P=D+w,N);var R=Ft(gs(e,o),2),z=R[0],j=R[1];if(null!=l.fill||0!=z){var $=A.fill=new Path2D(E),H=k(l.fillTo(e,o,l.min,l.max,z));C($,P,H),C($,T,H)}if(!l.spanGaps){var U,Y=[];(U=Y).push.apply(U,Ot(Ds(c,s,a,u,S,x,r)));var V=l.width*nu/2,q=n||1==t?V:-V,W=n||-1==t?-V:V;Y.forEach((function(e){e[0]+=q,e[1]+=W})),A.gaps=Y=l.gaps(e,o,a,u,Y),A.clip=bs(Y,f.ori,v,m,g,y)}return 0!=j&&(A.band=2==j?[_s(e,o,a,u,E,-1),_s(e,o,a,u,E,1)]:_s(e,o,a,u,E,j)),A}))}},rf.bars=function(e){var t=il((e=e||Pl).size,[.6,Dl,1]),n=e.align||0,r=(e.gap||0)*nu,i=il(e.radius,0),o=1-t[0],a=il(t[1],Dl)*nu,u=il(t[2],1)*nu,l=il(e.disp,Pl),c=il(e.each,(function(e){})),s=l.fill,f=l.stroke;return function(e,t,d,h){return ms(e,t,(function(p,v,m,g,y,_,b,D,w,x,k){var C,A,E=p.pxRound,S=g.dir*(0==g.ori?1:-1),N=y.dir*(1==y.ori?1:-1),F=0==g.ori?Ss:Ns,M=0==g.ori?c:function(e,t,n,r,i,o,a){c(e,t,n,i,r,a,o)},T=Ft(gs(e,t),2),O=T[0],B=T[1],L=3==y.distr?1==O?y.max:y.min:0,I=b(L,y,k,w),P=E(p.width*nu),R=!1,z=null,j=null,$=null,H=null;null==s||0!=P&&null==f||(R=!0,z=s.values(e,t,d,h),j=new Map,new Set(z).forEach((function(e){null!=e&&j.set(e,new Path2D)})),P>0&&($=f.values(e,t,d,h),H=new Map,new Set($).forEach((function(e){null!=e&&H.set(e,new Path2D)}))));var U=l.x0,Y=l.size;if(null!=U&&null!=Y){v=U.values(e,t,d,h),2==U.unit&&(v=v.map((function(t){return e.posToVal(D+t*x,g.key,!0)})));var V=Y.values(e,t,d,h);A=E((A=2==Y.unit?V[0]*x:_(V[0],g,x,D)-_(0,g,x,D))-P),C=1==S?-P/2:A+P/2}else{var q=x;if(v.length>1)for(var W=null,Q=0,G=1/0;Q=d&&ie<=h;ie+=S){var oe=m[ie];if(void 0!==oe){var ae=_(2!=g.distr||null!=l?v[ie]:ie,g,x,D),ue=b(il(oe,L),y,k,w);null!=re&&null!=oe&&(I=b(re[ie],y,k,w));var le=E(ae-C),ce=E(vl(ue,I)),se=E(pl(ue,I)),fe=ce-se,de=i*A;null!=oe&&(R?(P>0&&null!=$[ie]&&F(H.get($[ie]),le,se+fl(P/2),A,vl(0,fe-P),de),null!=z[ie]&&F(j.get(z[ie]),le,se+fl(P/2),A,vl(0,fe-P),de)):F(X,le,se+fl(P/2),A,vl(0,fe-P),de),M(e,t,ie,le-P/2,se,A+P,fe)),0!=B&&(N*B==1?(ce=se,se=Z):(se=ce,ce=Z),F(ee,le-P/2,se,A+P,vl(0,fe=ce-se),0))}}return P>0&&(K.stroke=R?H:X),K.fill=R?j:X,K}))}},rf.spline=function(e){return function(e,t){var n=il(null===t||void 0===t?void 0:t.alignGaps,0);return function(t,r,i,o){return ms(t,r,(function(a,u,l,c,s,f,d,h,p,v,m){var g,y,_,b=a.pxRound,D=function(e){return b(f(e,c,v,h))},w=function(e){return b(d(e,s,m,p))};0==c.ori?(g=ks,_=As,y=Ts):(g=Cs,_=Es,y=Os);var x=c.dir*(0==c.ori?1:-1);i=Gu(l,i,o,1),o=Gu(l,i,o,-1);for(var k=D(u[1==x?i:o]),C=k,A=[],E=[],S=1==x?i:o;S>=i&&S<=o;S+=x)if(null!=l[S]){var N=D(u[S]);A.push(C=N),E.push(w(l[S]))}var F={stroke:e(A,E,g,_,y,b),fill:null,clip:null,band:null,gaps:null,flags:1},M=F.stroke,T=Ft(gs(t,r),2),O=T[0],B=T[1];if(null!=a.fill||0!=O){var L=F.fill=new Path2D(M),I=w(a.fillTo(t,r,a.min,a.max,O));_(L,C,I),_(L,k,I)}if(!a.spanGaps){var P,R=[];(P=R).push.apply(P,Ot(Ds(u,l,i,o,x,D,n))),F.gaps=R=a.gaps(t,r,i,o,R),F.clip=bs(R,c.ori,h,p,v,m)}return 0!=B&&(F.band=2==B?[_s(t,r,i,o,M,-1),_s(t,r,i,o,M,1)]:_s(t,r,i,o,M,B)),F}))}}(zs,e)};var of,af={legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:function(){return null},dblclick:function(){return null}}}},uf=function(e,t,n){if(void 0===e||null===e)return"";n=n||0,t=t||0;var r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();var i=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(i)||i>20)&&(i=20),e.toLocaleString("en-US",{minimumSignificantDigits:i,maximumSignificantDigits:i})},lf=function(e,t,n,r){var i,o=e.axes[n];if(r>1)return o._size||60;var a=6+((null===o||void 0===o||null===(i=o.ticks)||void 0===i?void 0:i.size)||0)+(o.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,"10px Arial")),Math.ceil(a)},cf=function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,i=e.u,o=e.setPanning,a=e.setPlotScale;t.preventDefault();var u=t instanceof MouseEvent;o(!0);var l=u?t.clientX:t.touches[0].clientX,c=i.posToVal(1,"x")-i.posToVal(0,"x"),s=i.scales.x.min||0,f=i.scales.x.max||0,d=function(e){var t=e instanceof MouseEvent;if(t||!(e.touches.length>1)){e.preventDefault();var n=t?e.clientX:e.touches[0].clientX,o=c*((n-l)*r);a({u:i,min:s-o,max:f-o})}},h=function e(){o(!1),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",e),document.removeEventListener("touchmove",d),document.removeEventListener("touchend",e)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",h),document.addEventListener("touchmove",d),document.addEventListener("touchend",h)},sf=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},ff=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]:"",r=t[0],i=t[t.length-1];return n?t.map((function(e){return"".concat(uf(e,r,i)," ").concat(n)})):t.map((function(e){return uf(e,r,i)}))}(e,n,t)}};return e?Number(e)%2?n:yr(yr({},n),{},{side:1}):{space:80,values:df,stroke:Rr("color-text")}}))},pf=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]},vf=n(61),mf=n.n(vf),gf=function(e){var t,n,r,i=e.u,o=e.id,a=e.unit,u=void 0===a?"":a,l=e.metrics,c=e.series,s=e.yRange,f=e.tooltipIdx,d=e.tooltipOffset,h=e.isSticky,p=e.onClose,v=ie(null),m=Ft(ee({top:-999,left:-999}),2),y=m[0],_=m[1],b=Ft(ee(!1),2),D=b[0],w=b[1],x=Ft(ee(!1),2),k=x[0],C=x[1],A=Ft(ee(f.seriesIdx),2),E=A[0],S=A[1],N=Ft(ee(f.dataIdx),2),F=N[0],M=N[1],T=ae((function(){return i.root.querySelector(".u-wrap")}),[i]),O=Mr()(i,["data",E,F],0),B=uf(O,Mr()(s,[0]),Mr()(s,[1])),L=i.data[0][F],I=_t()(1e3*L).tz().format("YYYY-MM-DD HH:mm:ss:SSS (Z)"),P=(null===(t=c[E])||void 0===t?void 0:t.stroke)+"",R=(null===(n=c[E])||void 0===n?void 0:n.calculations)||{},z=new Set(l.map((function(e){return e.group}))),j=z.size>1,$=(null===(r=l[E-1])||void 0===r?void 0:r.group)||0,H=ae((function(){var e,t=(null===(e=l[E-1])||void 0===e?void 0:e.metric)||{},n=Object.keys(t).filter((function(e){return"__name__"!=e})),r=n.map((function(e){return"".concat(e,"=").concat(JSON.stringify(t[e]))})),i=t.__name__||"";return r.length>0&&(i+="{"+r.join(",")+"}"),i}),[l,E]),U=function(e){if(D){var t=e.clientX,n=e.clientY;_({top:n,left:t})}},Y=function(){w(!1)};return ne((function(){var e;if(v.current){var t=i.valToPos(O||0,(null===(e=c[E])||void 0===e?void 0:e.scale)||"1"),n=i.valToPos(L,"x"),r=v.current.getBoundingClientRect(),o=r.width,a=r.height,u=i.over.getBoundingClientRect(),l=n+o>=u.width?o+20:0,s=t+a>=u.height?a+20:0,f={top:t+d.top+10-s,left:n+d.left+10-l};f.left<0&&(f.left=20),f.top<0&&(f.top=20),_(f)}}),[i,O,L,E,d,v]),ne((function(){S(f.seriesIdx),M(f.dataIdx)}),[f]),ne((function(){return D&&(document.addEventListener("mousemove",U),document.addEventListener("mouseup",Y)),function(){document.removeEventListener("mousemove",U),document.removeEventListener("mouseup",Y)}}),[D]),!T||f.seriesIdx<0||f.dataIdx<0?null:gt.createPortal(Vr("div",{className:wo()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":h,"vm-chart-tooltip_moved":k}),ref:v,style:y,children:[Vr("div",{className:"vm-chart-tooltip-header",children:[Vr("div",{className:"vm-chart-tooltip-header__date",children:[j&&Vr("div",{children:["Query ",$]}),I]}),h&&Vr(g,{children:[Vr(fa,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Vr(fo,{}),onMouseDown:function(e){C(!0),w(!0);var t=e.clientX,n=e.clientY;_({top:n,left:t})}}),Vr(fa,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Vr(ji,{}),onClick:function(){p&&p(o)}})]})]}),Vr("div",{className:"vm-chart-tooltip-data",children:[Vr("div",{className:"vm-chart-tooltip-data__marker",style:{background:P}}),Vr("div",{children:[Vr("b",{children:[B,u]}),Vr("br",{}),"median:",Vr("b",{children:R.median}),", min:",Vr("b",{children:R.min}),", max:",Vr("b",{children:R.max})]})]}),Vr("div",{className:"vm-chart-tooltip-info",children:H})]}),T)};!function(e){e.xRange="xRange",e.yRange="yRange",e.data="data"}(of||(of={}));var yf=function(e){var t=e.data,n=e.series,r=e.metrics,i=void 0===r?[]:r,o=e.period,a=e.yaxis,u=e.unit,l=e.setPeriod,c=e.container,s=e.height,f=Wr().isDarkTheme,d=ie(null),h=Ft(ee(!1),2),v=h[0],m=h[1],g=Ft(ee({min:o.start,max:o.end}),2),y=g[0],_=g[1],b=Ft(ee([0,1]),2),D=b[0],w=b[1],x=Ft(ee(),2),k=x[0],C=x[1],A=Ft(ee(0),2),E=A[0],S=A[1],N=bo(c),F=Ft(ee(!1),2),M=F[0],T=F[1],O=Ft(ee({seriesIdx:-1,dataIdx:-1}),2),B=O[0],L=O[1],I=Ft(ee({left:0,top:0}),2),P=I[0],R=I[1],z=Ft(ee([]),2),j=z[0],$=z[1],H=ae((function(){return"".concat(B.seriesIdx,"_").concat(B.dataIdx)}),[B]),U=ue(mf()((function(e){var t=e.min,n=e.max;l({from:_t()(1e3*t).toDate(),to:_t()(1e3*n).toDate()})}),500),[]),Y=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);iti||(t.setScale("x",{min:n,max:r}),_({min:n,max:r}),U({min:n,max:r}))},V=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,o=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(k&&!o){var a="+"===i||"="===i;if(("-"===i||a)&&!n&&!r){e.preventDefault();var u=(y.max-y.min)/10*(a?1:-1);Y({u:k,min:y.min+u,max:y.max-u})}}},q=function(){var e="".concat(B.seriesIdx,"_").concat(B.dataIdx),t={id:e,unit:u,series:n,metrics:i,yRange:D,tooltipIdx:B,tooltipOffset:P};if(!j.find((function(t){return t.id===e}))){var r=JSON.parse(JSON.stringify(t));$((function(e){return[].concat(Ot(e),[r])}))}},W=function(e){$((function(t){return t.filter((function(t){return t.id!==e}))}))},Q=function(){return[y.min,y.max]},G=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"1"==r&&w([t,n]),a.limits.enable?a.limits.range[r]:pf(t,n)},J=yr(yr({},af),{},{tzDate:function(e){return _t()(fi(hi(e))).local().toDate()},series:n,axes:hf([{},{scale:"1"}],u),scales:yr({},function(){var e={x:{range:Q}},t=Object.keys(a.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 G(e,n,r,t)}}})),e}()),width:N.width||400,height:s||500,plugins:[{hooks:{ready:function(e){var t=.9;R({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(n){var r=n.ctrlKey,i=n.metaKey;0===n.button&&(r||i)&&cf({u:e,e:n,setPanning:m,setPlotScale:Y,factor:t})})),e.over.addEventListener("touchstart",(function(n){cf({u:e,e:n,setPanning:m,setPlotScale:Y,factor:t})})),e.over.addEventListener("wheel",(function(n){if(n.ctrlKey||n.metaKey){n.preventDefault();var r=e.over.getBoundingClientRect().width,i=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,o=e.posToVal(i,"x"),a=(e.scales.x.max||0)-(e.scales.x.min||0),u=n.deltaY<0?a*t:a/t,l=o-i/r*u,c=l+u;e.batch((function(){return Y({u:e,min:l,max:c})}))}}))},setCursor:function(e){var t,n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;L((function(e){return yr(yr({},e),{},{dataIdx:n})}))},setSeries:function(e,t){var n=null!==t&&void 0!==t?t:-1;L((function(e){return yr(yr({},e),{},{seriesIdx:n})}))}}}],hooks:{setSelect:[function(e){var t=e.posToVal(e.select.left,"x"),n=e.posToVal(e.select.left+e.select.width,"x");Y({u:e,min:t,max:n})}]}}),Z=function(e){if(k){switch(e){case of.xRange:k.scales.x.range=Q;break;case of.yRange:Object.keys(a.limits.range).forEach((function(e){k.scales[e]&&(k.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 G(t,n,r,e)})}));break;case of.data:k.setData(t)}v||k.redraw()}};ne((function(){return _({min:o.start,max:o.end})}),[o]),ne((function(){if($([]),L({seriesIdx:-1,dataIdx:-1}),d.current){var e=new nf(J,t,d.current);return C(e),_({min:o.start,max:o.end}),e.destroy}}),[d.current,n,N,s,f]),ne((function(){return window.addEventListener("keydown",V),function(){window.removeEventListener("keydown",V)}}),[y]);var K=function(e){if(2===e.touches.length){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY;S(Math.sqrt(t*t+n*n))}},X=function(e){if(2===e.touches.length&&k){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY,r=Math.sqrt(t*t+n*n),i=E-r,o=k.scales.x.max||y.max,a=k.scales.x.min||y.min,u=(o-a)/50*(i>0?-1:1);k.batch((function(){return Y({u:k,min:a+u,max:o-u})}))}};return ne((function(){return window.addEventListener("touchmove",X),window.addEventListener("touchstart",K),function(){window.removeEventListener("touchmove",X),window.removeEventListener("touchstart",K)}}),[k,E]),ne((function(){return Z(of.data)}),[t]),ne((function(){return Z(of.xRange)}),[y]),ne((function(){return Z(of.yRange)}),[a]),ne((function(){var e=-1!==B.dataIdx&&-1!==B.seriesIdx;return T(e),e&&window.addEventListener("click",q),function(){window.removeEventListener("click",q)}}),[B,j]),Vr("div",{className:wo()({"vm-line-chart":!0,"vm-line-chart_panning":v}),style:{minWidth:"".concat(N.width||400,"px"),minHeight:"".concat(s||500,"px")},children:[Vr("div",{className:"vm-line-chart__u-plot",ref:d}),k&&M&&Vr(gf,{unit:u,u:k,series:n,metrics:i,yRange:D,tooltipIdx:B,tooltipOffset:P,id:H}),k&&j.map((function(e){return p(gf,yr(yr({},e),{},{isSticky:!0,u:k,key:e.id,onClose:W}))}))]})},_f=function(e){var t=e.legend,n=e.onChange,r=Ft(ee(""),2),i=r[0],o=r[1],a=ae((function(){return function(e){var t=Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e}));return t.map((function(t){var n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))}(t)}),[t]),u=t.calculations,l=function(){var e=tu(Xa().mark((function e(t,n){return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:o(n),setTimeout((function(){return o("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return Vr("div",{className:wo()({"vm-legend-item":!0,"vm-legend-row":!0,"vm-legend-item_hide":!t.checked}),onClick:function(e){return function(t){n(e,t.ctrlKey||t.metaKey)}}(t),children:[Vr("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Vr("div",{className:"vm-legend-item-info",children:Vr("span",{className:"vm-legend-item-info__label",children:[t.freeFormFields.__name__,"{",a.map((function(e,t){return Vr(ma,{open:i===e.id,title:"copied!",placement:"top-center",children:Vr("span",{className:"vm-legend-item-info__free-fields",onClick:(n=e.freeField,r=e.id,function(e){e.stopPropagation(),l(n,r)}),title:"copy to clipboard",children:[e.freeField,t+11;return Vr(g,{children:Vr("div",{className:"vm-legend",children:i.map((function(e){return Vr("div",{className:"vm-legend-group",children:[Vr("div",{className:"vm-legend-group-title",children:[o&&Vr("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Vr("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),Vr("div",{children:t.filter((function(t){return t.group===e})).map((function(e){return Vr(_f,{legend:e,onChange:r},e.label)}))})]},e)}))})})},Df=["__name__"],wf=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.metric,i=r.__name__,o=xo(r,Df),a=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(i||"");return 0==Object.keys(o).length?a||"value":"".concat(a,"{").concat(Object.entries(o).map((function(e){return"".concat(e[0],"=").concat(JSON.stringify(e[1]))})).join(", "),"}")},xf=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},kf=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],Cf=function(e){var t=16777215,n=1,r=0,i=1;if(e.length>0)for(var o=0;or&&(r=e[o].charCodeAt(0)),i=parseInt(String(t/r)),n=(n+e[o].charCodeAt(0)*i*49979693)%t;var a=(n*e.length%t).toString(16);return a=a.padEnd(6,a),"#".concat(a)},Af=function(){var e={};return function(t,n,r){var i=wf(t,r[t.group-1]),o=Object.keys(e).length;o>1]}(a),s=function(e){for(var t=e.length;t--;){var n=e[t];if(Number.isFinite(n))return n}}(a);return{label:i,freeFormFields:t.metric,width:1.4,stroke:e[i]||Cf(i),show:!Sf(i,n),scale:"1",points:{size:4.2,width:1.4},calculations:{min:uf(u,u,l),max:uf(l,u,l),median:uf(c,u,l),last:uf(s,u,l)}}}},Ef=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields,calculations:e.calculations}},Sf=function(e,t){return t.includes("".concat(e))},Nf=function(e){var t=e.data,n=void 0===t?[]:t,r=e.period,i=e.customStep,o=e.query,a=e.yaxis,u=e.unit,l=e.showLegend,c=void 0===l||l,s=e.setYaxisLimits,f=e.setPeriod,d=e.alias,h=void 0===d?[]:d,p=e.fullWidth,v=void 0===p||p,m=e.height,g=Xo().isMobile,y=Ni().timezone,_=ae((function(){return i||r.step||"1s"}),[r.step,i]),b=ue(Af(),[n]),D=Ft(ee([[]]),2),w=D[0],x=D[1],k=Ft(ee([]),2),C=k[0],A=k[1],E=Ft(ee([]),2),S=E[0],N=E[1],F=Ft(ee([]),2),M=F[0],T=F[1],O=function(e){var t=function(e){var t={},n=Object.values(e).flat(),r=ff(n),i=sf(n);return t[1]=pf(r,i),t}(e);s(t)};ne((function(){var e=[],t={},i=[],o=[{}];null===n||void 0===n||n.forEach((function(n){var r=b(n,M,h);o.push(r),i.push(Ef(r,n.group));var a,u=t[n.group]||[],l=Mt(n.values);try{for(l.s();!(a=l.n()).done;){var c=a.value;e.push(c[0]),u.push(xf(c[1]))}}catch(s){l.e(s)}finally{l.f()}t[n.group]=u}));var a=function(e,t,n){for(var r=li(t)||1,i=Array.from(new Set(e)).sort((function(e,t){return e-t})),o=n.start,a=ai(n.end+r),u=0,l=[];o<=a;){for(;u=i.length||i[u]>o)&&l.push(o)}for(;l.length<2;)l.push(o),o=ai(o+r);return l}(e,_,r),u=n.map((function(e){var t,n=[],r=e.values,i=r.length,o=0,u=Mt(a);try{for(u.s();!(t=u.n()).done;){for(var l=t.value;o1e10*h?n.map((function(){return f})):n}));u.unshift(a),O(t),x(u),A(o),N(i)}),[n,y]),ne((function(){var e=[],t=[{}];null===n||void 0===n||n.forEach((function(n){var r=b(n,M,h);t.push(r),e.push(Ef(r,n.group))})),A(t),N(e)}),[M]);var B=ie(null);return Vr("div",{className:wo()({"vm-graph-view":!0,"vm-graph-view_full-width":v,"vm-graph-view_full-width_mobile":v&&g}),ref:B,children:[(null===B||void 0===B?void 0:B.current)&&Vr(yf,{data:w,series:C,metrics:n,period:r,yaxis:a,unit:u,setPeriod:f,container:null===B||void 0===B?void 0:B.current,height:m}),c&&Vr(bf,{labels:S,query:o,onChange:function(e,t){T(function(e){var t=e.hideSeries,n=e.legend,r=e.metaKey,i=e.series,o=n.label,a=Sf(o,t),u=i.map((function(e){return e.label||""}));return r?a?t.filter((function(e){return e!==o})):[].concat(Ot(t),[o]):t.length?a?Ot(u.filter((function(e){return e!==o}))):[]:Ot(u.filter((function(e){return e!==o})))}({hideSeries:M,legend:e,metaKey:t,series:C}))}})]})},Ff=function(e){var t=e.value,n=e.options,r=e.anchor,i=e.disabled,o=e.maxWords,a=void 0===o?1:o,u=e.minLength,l=void 0===u?2:u,c=e.fullWidth,f=e.selected,d=e.noOptionsText,h=e.label,p=e.disabledFullScreen,v=e.onSelect,m=e.onOpenAutocomplete,g=Xo().isMobile,y=ie(null),_=Ft(ee(!1),2),b=_[0],D=_[1],w=Ft(ee(-1),2),x=w[0],k=w[1],C=ae((function(){if(!b)return[];try{var e=new RegExp(String(t),"i");return n.filter((function(n){return e.test(n)&&n!==t})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(s){return[]}}),[b,n,t]),A=ae((function(){return d&&!C.length}),[d,C]),E=function(){D(!1)},S=function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,i=e.shiftKey,o=n||r||i,a=C.length;if("ArrowUp"===t&&!o&&a&&(e.preventDefault(),k((function(e){return e<=0?0:e-1}))),"ArrowDown"===t&&!o&&a){e.preventDefault();var u=C.length-1;k((function(e){return e>=u?u:e+1}))}if("Enter"===t){var l=C[x];l&&v(l),f||E()}"Escape"===t&&E()};return ne((function(){var e=(t.match(/[a-zA-Z_:.][a-zA-Z0-9_:.]*/gm)||[]).length;D(t.length>l&&e<=a)}),[t]),ne((function(){return function(){if(y.current){var e=y.current.childNodes[x];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}(),window.addEventListener("keydown",S),function(){window.removeEventListener("keydown",S)}}),[x,C]),ne((function(){k(-1)}),[C]),ne((function(){m&&m(b)}),[b]),Vr(da,{open:b,buttonRef:r,placement:"bottom-left",onClose:E,fullWidth:c,title:g?h:void 0,disabledFullScreen:p,children:Vr("div",{className:wo()({"vm-autocomplete":!0,"vm-autocomplete_mobile":g&&!p}),ref:y,children:[A&&Vr("div",{className:"vm-autocomplete__no-options",children:d}),C.map((function(e,t){return Vr("div",{className:wo()({"vm-list-item":!0,"vm-list-item_mobile":g,"vm-list-item_active":t===x,"vm-list-item_multiselect":f,"vm-list-item_multiselect_selected":null===f||void 0===f?void 0:f.includes(e)}),id:"$autocomplete$".concat(e),onClick:(n=e,function(){i||(v(n),f||E())}),children:[(null===f||void 0===f?void 0:f.includes(e))&&Vr(uo,{}),Vr("span",{children:e})]},e);var n}))]})})},Mf=function(e){var t=e.value,n=e.onChange,r=e.onEnter,i=e.onArrowUp,o=e.onArrowDown,a=e.autocomplete,u=e.error,l=e.options,c=e.label,s=e.disabled,f=void 0!==s&&s,d=Ft(ee(!1),2),h=d[0],p=d[1],v=ie(null);return Vr("div",{className:"vm-query-editor",ref:v,children:[Vr(xa,{value:t,label:c,type:"textarea",autofocus:!!t,error:u,onKeyDown:function(e){var t=e.key,n=e.ctrlKey,a=e.metaKey,u=e.shiftKey,l=n||a,c="ArrowDown"===t,s="Enter"===t;"ArrowUp"===t&&l&&(e.preventDefault(),i()),c&&l&&(e.preventDefault(),o()),!s||u||h||r()},onChange:n,disabled:f,inputmode:"search"}),a&&Vr(Ff,{disabledFullScreen:!0,value:t,options:l,anchor:v,onSelect:function(e){n(e)},onOpenAutocomplete:p})]})},Tf=function(e){var t,n=e.value,r=void 0!==n&&n,i=e.disabled,o=void 0!==i&&i,a=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.fullWidth,s=e.onChange;return Vr("div",{className:wo()((mr(t={"vm-switch":!0,"vm-switch_full-width":c,"vm-switch_disabled":o,"vm-switch_active":r},"vm-switch_".concat(l,"_active"),r),mr(t,"vm-switch_".concat(l),l),t)),onClick:function(){o||s(!r)},children:[Vr("div",{className:"vm-switch-track",children:Vr("div",{className:"vm-switch-track__thumb"})}),a&&Vr("span",{className:"vm-switch__label",children:a})]})},Of=function(e){var t=e.isMobile,n=Li().autocomplete,r=Ii(),i=Io(),o=i.nocache,a=i.isTracingEnabled,u=Po();return Vr("div",{className:wo()({"vm-additional-settings":!0,"vm-additional-settings_mobile":t}),children:[Vr(Tf,{label:"Autocomplete",value:n,onChange:function(){r({type:"TOGGLE_AUTOCOMPLETE"})},fullWidth:t}),Vr(Tf,{label:"Disable cache",value:o,onChange:function(){u({type:"TOGGLE_NO_CACHE"})},fullWidth:t}),Vr(Tf,{label:"Trace query",value:a,onChange:function(){u({type:"TOGGLE_QUERY_TRACING"})},fullWidth:t})]})},Bf=function(){var e=Xo().isMobile,t=Ft(ee(!1),2),n=t[0],r=t[1],i=ie(null);return e?Vr(g,{children:[Vr("div",{ref:i,children:Vr(fa,{variant:"outlined",startIcon:Vr(_o,{}),onClick:function(){r((function(e){return!e}))}})}),Vr(da,{open:n,buttonRef:i,placement:"bottom-left",onClose:function(){r(!1)},title:"Query settings",children:Vr(Of,{isMobile:e})})]}):Vr(Of,{})},Lf=function(e,t){return e.length===t.length&&e.every((function(e,n){return e===t[n]}))},If=function(e){var t=e.error,n=e.queryOptions,r=e.onHideQuery,i=Xo().isMobile,o=Li(),a=o.query,u=o.queryHistory,l=o.autocomplete,c=Ii(),s=Fi(),f=Ft(ee(a||[]),2),d=f[0],h=f[1],p=Ft(ee([]),2),v=p[0],m=p[1],g=Aa(d),y=function(){c({type:"SET_QUERY_HISTORY",payload:d.map((function(e,t){var n=u[t]||{values:[]},r=e===n.values[n.values.length-1];return{index:n.values.length-Number(r),values:!r&&e?[].concat(Ot(n.values),[e]):n.values}}))}),c({type:"SET_QUERY",payload:d}),s({type:"RUN_QUERY"})},_=function(e,t){h((function(n){return n.map((function(n,r){return r===t?e:n}))}))},b=function(e,t){return function(){!function(e,t){var n=u[t],r=n.index,i=n.values,o=r+e;o<0||o>=i.length||(_(i[o]||"",t),c({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:i,index:o},queryNumber:t}}))}(e,t)}},D=function(e){return function(t){_(t,e)}},w=function(e){return function(){var t;t=e,h((function(e){return e.filter((function(e,n){return n!==t}))})),m((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):t.map((function(t){return t>e?t-1:t}))}))}},x=function(e){return function(t){!function(e,t){var n=e.ctrlKey,r=e.metaKey;if(n||r){var i=d.map((function(e,t){return t})).filter((function(e){return e!==t}));m((function(e){return Lf(i,e)?[]:i}))}else m((function(e){return e.includes(t)?e.filter((function(e){return e!==t})):[].concat(Ot(e),[t])}))}(t,e)}};return ne((function(){g&&d.length1&&Vr(ma,{title:"Remove Query",children:Vr("div",{className:"vm-query-configurator-list-row__button",children:Vr(fa,{variant:"text",color:"error",startIcon:Vr(io,{}),onClick:w(r)})})})]},r)}))}),Vr("div",{className:"vm-query-configurator-settings",children:[Vr(Bf,{}),Vr("div",{className:"vm-query-configurator-settings__buttons",children:[d.length<4&&Vr(fa,{variant:"outlined",onClick:function(){h((function(e){return[].concat(Ot(e),[""])}))},startIcon:Vr(oo,{}),children:"Add Query"}),Vr(fa,{variant:"contained",onClick:y,startIcon:Vr(Xi,{}),children:i?"Execute":"Execute Query"})]})]})]})};function Pf(e){var t,n,r,i=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new Rf(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function Rf(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 Rf=function(e){this.s=e,this.n=e.next},Rf.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 Rf(e)}var zf=n(936),jf=n.n(zf),$f=0,Hf=function(){function e(t,n){Bt(this,e),this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=t,this.originalTracing=JSON.parse(JSON.stringify(t)),this.query=n,this.id=$f++;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n)}))}return Rt(e,[{key:"queryValue",get:function(){return this.query}},{key:"idValue",get:function(){return this.id}},{key:"children",get:function(){return this.tracingChildren}},{key:"message",get:function(){return this.tracing.message}},{key:"duration",get:function(){return this.tracing.duration_msec}},{key:"JSON",get:function(){return JSON.stringify(this.tracing,null,2)}},{key:"originalJSON",get:function(){return JSON.stringify(this.originalTracing,null,2)}},{key:"setTracing",value:function(t){var n=this;this.tracing=t;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n.query)}))}},{key:"setQuery",value:function(e){this.query=e}},{key:"resetTracing",value:function(){this.tracing=this.originalTracing}}]),e}(),Uf=function(e){var t=e.predefinedQuery,n=e.visible,r=e.display,i=e.customStep,o=e.hideQuery,a=e.showAllSeries,u=Li().query,l=Ni().period,c=Io(),s=c.displayType,f=c.nocache,d=c.isTracingEnabled,h=c.seriesLimits,p=Wr().serverUrl,v=Ft(ee(!1),2),m=v[0],g=v[1],y=Ft(ee(),2),_=y[0],b=y[1],D=Ft(ee(),2),w=D[0],x=D[1],k=Ft(ee(),2),C=k[0],A=k[1],E=Ft(ee(),2),S=E[0],N=E[1],F=Ft(ee(),2),M=F[0],T=F[1],O=Ft(ee([]),2),B=O[0],L=O[1];ne((function(){S&&(b(void 0),x(void 0),A(void 0))}),[S]);var I=function(){var e=tu(Xa().mark((function e(t){var n,r,i,o,a,u,l,c,s,f,d,h,p,v,m,y,_,D,w,k,C,E,S,F,M;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.fetchUrl,r=t.fetchQueue,i=t.displayType,o=t.query,a=t.stateSeriesLimits,u=t.showAllSeries,l=t.hideQuery,c=new AbortController,L([].concat(Ot(r),[c])),e.prev=3,s="chart"===i,f=u?1/0:a[i],d=[],h=[],p=1,v=0,m=!1,y=!1,e.prev=12,D=Pf(n);case 14:return e.next=16,D.next();case 16:if(!(m=!(w=e.sent).done)){e.next=32;break}if(k=w.value,!(null===l||void 0===l?void 0:l.includes(p-1))){e.next=22;break}return p++,e.abrupt("continue",29);case 22:return e.next=24,fetch(k,{signal:c.signal});case 24:return C=e.sent,e.next=27,C.json();case 27:E=e.sent,C.ok?(N(void 0),E.trace&&(S=new Hf(E.trace,o[p-1]),h.push(S)),F=f-d.length,E.data.result.slice(0,F).forEach((function(e){e.group=p,d.push(e)})),v+=E.data.result.length,p++):N("".concat(E.errorType,"\r\n").concat(null===E||void 0===E?void 0:E.error));case 29:m=!1,e.next=14;break;case 32:e.next=38;break;case 34:e.prev=34,e.t0=e.catch(12),y=!0,_=e.t0;case 38:if(e.prev=38,e.prev=39,!m||null==D.return){e.next=43;break}return e.next=43,D.return();case 43:if(e.prev=43,!y){e.next=46;break}throw _;case 46:return e.finish(43);case 47:return e.finish(38);case 48:M="Showing ".concat(f," series out of ").concat(v," series due to performance reasons. Please narrow down the query, so it returns less series"),T(v>f?M:""),s?b(d):x(d),A(h),e.next=57;break;case 54:e.prev=54,e.t1=e.catch(3),e.t1 instanceof Error&&"AbortError"!==e.t1.name&&N("".concat(e.t1.name,": ").concat(e.t1.message));case 57:g(!1);case 58:case"end":return e.stop()}}),e,null,[[3,54],[12,34,38,48],[39,,43,47]])})));return function(t){return e.apply(this,arguments)}}(),P=ue(jf()(I,300),[]),R=ae((function(){var e=null!==t&&void 0!==t?t:u,n="chart"===(r||s);if(l)if(p)if(e.every((function(e){return!e.trim()})))N(_r.validQuery);else{if(Ha(p)){var o=yr({},l);return o.step=i,e.map((function(e){return n?function(e,t,n,r,i){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":"").concat(i?"&trace=1":"")}(p,e,o,f,d):function(e,t,n,r){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end,"&step=").concat(n.step).concat(r?"&trace=1":"")}(p,e,o,d)}))}N(_r.validServer)}else N(_r.emptyServer)}),[p,l,s,i,o]),z=Ft(ee([]),2),j=z[0],$=z[1];return ne((function(){var e=R===j&&!!t;n&&null!==R&&void 0!==R&&R.length&&!e&&(g(!0),P({fetchUrl:R,fetchQueue:B,displayType:r||s,query:null!==t&&void 0!==t?t:u,stateSeriesLimits:h,showAllSeries:a,hideQuery:o}),$(R))}),[R,n,h,a]),ne((function(){var e=B.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),L(B.filter((function(e){return!e.signal.aborted}))))}),[B]),{fetchUrl:R,isLoading:m,graphData:_,liveData:w,error:S,warning:M,traces:C}},Yf=function(e){var t=e.data,n=ra().showInfoMessage,r=ae((function(){return JSON.stringify(t,null,2)}),[t]);return Vr("div",{className:"vm-json-view",children:[Vr("div",{className:"vm-json-view__copy",children:Vr(fa,{variant:"outlined",onClick:function(){navigator.clipboard.writeText(r),n({text:"Formatted JSON has been copied",type:"success"})},children:"Copy JSON"})}),Vr("pre",{className:"vm-json-view__code",children:Vr("code",{children:r})})]})},Vf=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=Xo().isMobile,o=ae((function(){return Object.keys(t.limits.range)}),[t.limits.range]),a=ue(jf()((function(e,r,i){var o=t.limits.range;o[r][i]=+e,o[r][0]===o[r][1]||o[r][0]>o[r][1]||n(o)}),500),[t.limits.range]),u=function(e,t){return function(n){a(n,e,t)}};return Vr("div",{className:wo()({"vm-axes-limits":!0,"vm-axes-limits_mobile":i}),children:[Vr(Tf,{value:t.limits.enable,onChange:r,label:"Fix the limits for y-axis",fullWidth:i}),Vr("div",{className:"vm-axes-limits-list",children:o.map((function(e){return Vr("div",{className:"vm-axes-limits-list__inputs",children:[Vr(xa,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:u(e,0)}),Vr(xa,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:u(e,1)})]},e)}))})]})},qf="Axes settings",Wf=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=ie(null),o=Ft(ee(!1),2),a=o[0],u=o[1],l=ie(null);return Vr("div",{className:"vm-graph-settings",children:[Vr(ma,{title:qf,children:Vr("div",{ref:l,children:Vr(fa,{variant:"text",startIcon:Vr(zi,{}),onClick:function(){u((function(e){return!e}))}})})}),Vr(da,{open:a,buttonRef:l,placement:"bottom-right",onClose:function(){u(!1)},title:qf,children:Vr("div",{className:"vm-graph-settings-popper",ref:i,children:Vr("div",{className:"vm-graph-settings-popper__body",children:Vr(Vf,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:r})})})})]})},Qf=function(e){var t=e.containerStyles,n=void 0===t?{}:t,r=e.message,i=Wr().isDarkTheme;return Vr("div",{className:wo()({"vm-spinner":!0,"vm-spinner_dark":i}),style:n&&{},children:[Vr("div",{className:"half-circle-spinner",children:[Vr("div",{className:"circle circle-1"}),Vr("div",{className:"circle circle-2"})]}),r&&Vr("div",{className:"vm-spinner__message",children:r})]})},Gf=function(){var e=Wr().serverUrl,t=Ft(ee([]),2),n=t[0],r=t[1],i=function(){var t=tu(Xa().mark((function t(){var n,i,o;return Xa().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return n="".concat(e,"/api/v1/label/__name__/values"),t.prev=3,t.next=6,fetch(n);case 6:return i=t.sent,t.next=9,i.json();case 9:o=t.sent,i.ok&&r(o.data),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(3),console.error(t.t0);case 16:case"end":return t.stop()}}),t,null,[[3,13]])})));return function(){return t.apply(this,arguments)}}();return ne((function(){i()}),[e]),{queryOptions:n}},Jf=function(e){var t=e.value;return Vr("div",{className:"vm-line-progress",children:[Vr("div",{className:"vm-line-progress-track",children:Vr("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Vr("span",{children:[t.toFixed(2),"%"]})]})},Zf=function e(t){var n,r=t.trace,i=t.totalMsec,o=Wr().isDarkTheme,a=Xo().isMobile,u=Ft(ee({}),2),l=u[0],c=u[1],s=r.children&&!!r.children.length,f=r.duration/i*100;return Vr("div",{className:wo()({"vm-nested-nav":!0,"vm-nested-nav_dark":o,"vm-nested-nav_mobile":a}),children:[Vr("div",{className:"vm-nested-nav-header",onClick:(n=r.idValue,function(){c((function(e){return yr(yr({},e),{},mr({},n,!e[n]))}))}),children:[s&&Vr("div",{className:wo()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":l[r.idValue]}),children:Vr(Wi,{})}),Vr("div",{className:"vm-nested-nav-header__progress",children:Vr(Jf,{value:f})}),Vr("div",{className:"vm-nested-nav-header__message",children:r.message}),Vr("div",{className:"vm-nested-nav-header__duration",children:"duration: ".concat(r.duration," ms")})]}),l[r.idValue]&&Vr("div",{children:s&&r.children.map((function(t){return Vr(e,{trace:t,totalMsec:i},t.duration)}))})]})},Kf=function(e){var t=e.editable,n=void 0!==t&&t,r=e.defaultTile,i=void 0===r?"JSON":r,o=e.displayTitle,a=void 0===o||o,u=e.defaultJson,l=void 0===u?"":u,c=e.resetValue,f=void 0===c?"":c,d=e.onClose,h=e.onUpload,p=ra().showInfoMessage,v=Xo().isMobile,m=Ft(ee(l),2),g=m[0],y=m[1],_=Ft(ee(i),2),b=_[0],D=_[1],w=Ft(ee(""),2),x=w[0],k=w[1],C=Ft(ee(""),2),A=C[0],E=C[1],S=ae((function(){try{var e=JSON.parse(g),t=e.trace||e;return t.duration_msec?(new Hf(t,""),""):_r.traceNotFound}catch(s){return s instanceof Error?s.message:"Unknown error"}}),[g]),N=function(){var e=tu(Xa().mark((function e(){return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(g);case 2:p({text:"Formatted JSON has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),F=function(){E(S),b.trim()||k(_r.emptyTitle),S||x||(h(g,b),d())};return Vr("div",{className:wo()({"vm-json-form":!0,"vm-json-form_one-field":!a,"vm-json-form_one-field_mobile":!a&&v,"vm-json-form_mobile":v}),children:[a&&Vr(xa,{value:b,label:"Title",error:x,onEnter:F,onChange:function(e){D(e)}}),Vr(xa,{value:g,label:"JSON",type:"textarea",error:A,autofocus:!0,onChange:function(e){E(""),y(e)},disabled:!n}),Vr("div",{className:"vm-json-form-footer",children:[Vr("div",{className:"vm-json-form-footer__controls",children:[Vr(fa,{variant:"outlined",startIcon:Vr(so,{}),onClick:N,children:"Copy JSON"}),f&&Vr(fa,{variant:"text",startIcon:Vr($i,{}),onClick:function(){y(f)},children:"Reset JSON"})]}),Vr("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Vr(fa,{variant:"outlined",color:"error",onClick:d,children:"Cancel"}),Vr(fa,{variant:"contained",onClick:F,children:"apply"})]})]})]})},Xf=function(e){var t=e.traces,n=e.jsonEditor,r=void 0!==n&&n,i=e.onDeleteClick,o=Xo().isMobile,a=Ft(ee(null),2),u=a[0],l=a[1],c=function(){l(null)};if(!t.length)return Vr(ta,{variant:"info",children:"Please re-run the query to see results of the tracing"});var f=function(e){return function(){i(e)}};return Vr(g,{children:[Vr("div",{className:"vm-tracings-view",children:t.map((function(e){return Vr("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Vr("div",{className:"vm-tracings-view-trace-header",children:[Vr("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Vr("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Vr(ma,{title:"Open JSON",children:Vr(fa,{variant:"text",startIcon:Vr(ro,{}),onClick:(t=e,function(){l(t)})})}),Vr(ma,{title:"Remove trace",children:Vr(fa,{variant:"text",color:"error",startIcon:Vr(io,{}),onClick:f(e)})})]}),Vr("nav",{className:wo()({"vm-tracings-view-trace__nav":!0,"vm-tracings-view-trace__nav_mobile":o}),children:Vr(Zf,{trace:e,totalMsec:e.duration})})]},e.idValue);var t}))}),u&&Vr(va,{title:u.queryValue,onClose:c,children:Vr(Kf,{editable:r,displayTitle:r,defaultTile:u.queryValue,defaultJson:u.JSON,resetValue:u.originalJSON,onClose:c,onUpload:function(e,t){if(r&&u)try{u.setTracing(JSON.parse(e)),u.setQuery(t),l(null)}catch(s){console.error(s)}}})})]})},ed=function(e,t){return ae((function(){var n={};e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return n[e[0]]?n[e[0]].options.add(e[1]):n[e[0]]={options:new Set([e[1]])}}))}));var r=Object.entries(n).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}));return t?r.filter((function(e){return t.includes(e.key)})):r}),[e,t])},td=function(e){var t,n=e.checked,r=void 0!==n&&n,i=e.disabled,o=void 0!==i&&i,a=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Vr("div",{className:wo()((mr(t={"vm-checkbox":!0,"vm-checkbox_disabled":o,"vm-checkbox_active":r},"vm-checkbox_".concat(l,"_active"),r),mr(t,"vm-checkbox_".concat(l),l),t)),onClick:function(){o||c(!r)},children:[Vr("div",{className:"vm-checkbox-track",children:Vr("div",{className:"vm-checkbox-track__thumb",children:Vr(uo,{})})}),a&&Vr("span",{className:"vm-checkbox__label",children:a})]})},nd="Table settings",rd=function(e){var t=e.data,n=e.defaultColumns,r=void 0===n?[]:n,i=e.onChange,o=Xo().isMobile,a=Io().tableCompact,u=Po(),l=ed(t),c=ie(null),s=Ft(ee(!1),2),f=s[0],d=s[1],h=ae((function(){return!l.length}),[l]),p=function(e){return function(){!function(e){i(r.includes(e)?r.filter((function(t){return t!==e})):[].concat(Ot(r),[e]))}(e)}};return ne((function(){var e=l.map((function(e){return e.key}));Lf(e,r)||i(e)}),[l]),Vr("div",{className:"vm-table-settings",children:[Vr(ma,{title:nd,children:Vr("div",{ref:c,children:Vr(fa,{variant:"text",startIcon:Vr(zi,{}),onClick:function(){d((function(e){return!e}))},disabled:h})})}),Vr(da,{open:f,onClose:function(){d(!1)},placement:"bottom-right",buttonRef:c,title:nd,children:Vr("div",{className:wo()({"vm-table-settings-popper":!0,"vm-table-settings-popper_mobile":o}),children:[Vr("div",{className:"vm-table-settings-popper-list vm-table-settings-popper-list_first",children:Vr(Tf,{label:"Compact view",value:a,onChange:function(){u({type:"TOGGLE_TABLE_COMPACT"})}})}),Vr("div",{className:"vm-table-settings-popper-list",children:[Vr("div",{className:"vm-table-settings-popper-list-header",children:[Vr("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Vr(ma,{title:"Reset to default",children:Vr(fa,{color:"primary",variant:"text",size:"small",onClick:function(){d(!1),i(l.map((function(e){return e.key})))},startIcon:Vr($i,{})})})]}),l.map((function(e){return Vr("div",{className:"vm-table-settings-popper-list__item",children:Vr(td,{checked:r.includes(e.key),onChange:p(e.key),label:e.key,disabled:a})},e.key)}))]})]})})]})};function id(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(function(e){return!!e[1]}))}var od=["__name__"],ad=function(e){var t=e.data,n=e.displayColumns,r=ra().showInfoMessage,i=Xo().isMobile,o=Io().tableCompact,a=bo(document.body),u=ie(null),l=Ft(ee(0),2),c=l[0],s=l[1],f=Ft(ee(0),2),d=f[0],h=f[1],p=Ft(ee(""),2),v=p[0],m=p[1],g=Ft(ee("asc"),2),y=g[0],_=g[1],b=o?ed([{group:0,metric:{Data:"Data"}}],["Data"]):ed(t,n),D=function(e){var t=e.__name__,n=xo(e,od);return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},w=new Set(null===t||void 0===t?void 0:t.map((function(e){return e.group}))),x=w.size>1,k=ae((function(){var e=null===t||void 0===t?void 0:t.map((function(e){return{metadata:b.map((function(t){return o?wf(e,"",x):e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-",values:e.values?e.values.map((function(e){var t=Ft(e,2),n=t[0],r=t[1];return"".concat(r," @").concat(n)})):[],copyValue:D(e.metric)}})),n="Value"===v,r=b.findIndex((function(e){return e.key===v}));return n||-1!==r?e.sort((function(e,t){var i=n?Number(e.value):e.metadata[r],o=n?Number(t.value):t.metadata[r];return("asc"===y?io)?-1:1})):e}),[b,t,v,y,o]),C=ae((function(){return k.some((function(e){return e.copyValue}))}),[k]),A=function(){var e=tu(Xa().mark((function e(t){return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:r({text:"Row has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),E=function(e){return function(){!function(e){_((function(t){return"asc"===t&&v===e?"desc":"asc"})),m(e)}(e)}},S=function(){if(u.current){var e=u.current.getBoundingClientRect().top;h(e<0?window.scrollY-c:0)}};return ne((function(){return window.addEventListener("scroll",S),function(){window.removeEventListener("scroll",S)}}),[u,c,a]),ne((function(){if(u.current){var e=u.current.getBoundingClientRect().top;s(e+window.scrollY)}}),[u,a]),k.length?Vr("div",{className:wo()({"vm-table-view":!0,"vm-table-view_mobile":i}),children:Vr("table",{className:"vm-table",ref:u,children:[Vr("thead",{className:"vm-table-header",children:Vr("tr",{className:"vm-table__row vm-table__row_header",style:{transform:"translateY(".concat(d,"px)")},children:[b.map((function(e,t){return Vr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:E(e.key),children:Vr("div",{className:"vm-table-cell__content",children:[e.key,Vr("div",{className:wo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":v===e.key,"vm-table__sort-icon_desc":"desc"===y&&v===e.key}),children:Vr(Qi,{})})]})},t)})),Vr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:E("Value"),children:Vr("div",{className:"vm-table-cell__content",children:[Vr("div",{className:wo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===v,"vm-table__sort-icon_desc":"desc"===y}),children:Vr(Qi,{})}),"Value"]})}),C&&Vr("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Vr("tbody",{className:"vm-table-body",children:k.map((function(e,t){return Vr("tr",{className:"vm-table__row",children:[e.metadata.map((function(e,n){return Vr("td",{className:wo()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":k[t-1]&&k[t-1].metadata[n]===e}),children:e},n)})),Vr("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((function(e){return Vr("p",{children:e},e)})):e.value}),C&&Vr("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Vr("div",{className:"vm-table-cell__content",children:Vr(ma,{title:"Copy row",children:Vr(fa,{variant:"text",color:"gray",size:"small",startIcon:Vr(so,{}),onClick:(n=e.copyValue,function(){A(n)})})})})})]},t);var n}))})]})}):Vr(ta,{variant:"warning",children:"No data to show"})},ud=function(){var e=Io(),t=e.displayType,n=e.isTracingEnabled,r=Li().query,i=Ni().period,o=Fi(),a=Xo().isMobile;!function(){var e=Wr().tenantId,t=Io().displayType,n=Li().query,r=Ni(),i=r.duration,o=r.relativeTime,a=r.period,u=a.date,l=a.step,c=$o().customStep,s=Ft(pr(),2)[1],f=function(){var r={};n.forEach((function(n,a){var s,f="g".concat(a);r["".concat(f,".expr")]=n,r["".concat(f,".range_input")]=i,r["".concat(f,".end_input")]=u,r["".concat(f,".tab")]=(null===(s=So.find((function(e){return e.value===t})))||void 0===s?void 0:s.prometheusCode)||0,r["".concat(f,".relative_time")]=o,r["".concat(f,".tenantID")]=e,l!==c&&c&&(r["".concat(f,".step_input")]=c)})),s(id(r))};ne(f,[e,t,n,i,o,u,l,c]),ne(f,[])}();var u=Ft(ee(),2),l=u[0],c=u[1],s=Ft(ee([]),2),f=s[0],d=s[1],h=Ft(ee([]),2),p=h[0],v=h[1],m=Ft(ee(!1),2),g=m[0],y=m[1],_=$o(),b=_.customStep,D=_.yaxis,w=Ho(),x=Gf().queryOptions,k=Uf({visible:!0,customStep:b,hideQuery:p,showAllSeries:g}),C=k.isLoading,A=k.liveData,E=k.graphData,S=k.error,N=k.warning,F=k.traces,M=function(e){w({type:"SET_YAXIS_LIMITS",payload:e})};return ne((function(){F&&d([].concat(Ot(f),Ot(F)))}),[F]),ne((function(){d([])}),[t]),ne((function(){y(!1)}),[r]),Vr("div",{className:wo()({"vm-custom-panel":!0,"vm-custom-panel_mobile":a}),children:[Vr(If,{error:S,queryOptions:x,onHideQuery:function(e){v(e)}}),n&&Vr("div",{className:"vm-custom-panel__trace",children:Vr(Xf,{traces:f,onDeleteClick:function(e){var t=f.filter((function(t){return t.idValue!==e.idValue}));d(Ot(t))}})}),C&&Vr(Qf,{}),S&&Vr(ta,{variant:"error",children:S}),N&&Vr(ta,{variant:"warning",children:Vr("div",{className:wo()({"vm-custom-panel__warning":!0,"vm-custom-panel__warning_mobile":a}),children:[Vr("p",{children:N}),Vr(fa,{color:"warning",variant:"outlined",onClick:function(){y(!0)},children:"Show all"})]})}),Vr("div",{className:wo()({"vm-custom-panel-body":!0,"vm-custom-panel-body_mobile":a,"vm-block":!0,"vm-block_mobile":a}),children:[Vr("div",{className:"vm-custom-panel-body-header",children:[Vr(No,{}),"chart"===t&&Vr(Wf,{yaxis:D,setYaxisLimits:M,toggleEnableLimits:function(){w({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}}),"table"===t&&Vr(rd,{data:A||[],defaultColumns:l,onChange:c})]}),E&&i&&"chart"===t&&Vr(Nf,{data:E,period:i,customStep:b,query:r,yaxis:D,setYaxisLimits:M,setPeriod:function(e){var t=e.from,n=e.to;o({type:"SET_PERIOD",payload:{from:t,to:n}})},height:a?.5*window.innerHeight:500}),A&&"code"===t&&Vr(Yf,{data:A}),A&&"table"===t&&Vr(ad,{data:A,displayColumns:l})]})]})};function ld(){return{async:!1,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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var cd={async:!1,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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var sd=/[&<>"']/,fd=new RegExp(sd.source,"g"),dd=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,hd=new RegExp(dd.source,"g"),pd={"&":"&","<":"<",">":">",'"':""","'":"'"},vd=function(e){return pd[e]};function md(e,t){if(t){if(sd.test(e))return e.replace(fd,vd)}else if(dd.test(e))return e.replace(hd,vd);return e}var gd=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function yd(e){return e.replace(gd,(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 _d=/(^|[^\[])\^/g;function bd(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(_d,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var Dd=/[^\w:]/g,wd=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function xd(e,t,n){if(e){var r;try{r=decodeURIComponent(yd(n)).replace(Dd,"").toLowerCase()}catch(s){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!wd.test(n)&&(n=function(e,t){kd[" "+e]||(Cd.test(e)?kd[" "+e]=e+"/":kd[" "+e]=Md(e,"/",!0));e=kd[" "+e];var n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(Ad,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(Ed,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(s){return null}return n}var kd={},Cd=/^[^:]+:\/*[^/]*$/,Ad=/^([^:]+:)[\s\S]*$/,Ed=/^([^:]+:\/*[^/]*)[\s\S]*$/;var Sd={exec:function(){}};function Nd(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function Bd(e,t,n,r){var i=t.href,o=t.title?md(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:i,title:o,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,u}return{type:"image",raw:n,href:i,title:o,text:md(a)}}var Ld=function(){function e(t){Bt(this,e),this.options=t||cd}return Rt(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:Md(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:Ft(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:r}}}},{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=Md(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}},{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,""),r=this.lexer.state.top;this.lexer.state.top=!0;var i=this.lexer.blockTokens(n);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:i,text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,i,o,a,u,l,c,s,f,d,h,p=t[1].trim(),v=p.length>1,m={type:"list",raw:"",ordered:v,start:v?+p.slice(0,-1):"",loose:!1,items:[]};p=v?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=v?p:"[*+-]");for(var g=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(h=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0].replace(/^\t+/,(function(e){return" ".repeat(3*e.length)})),s=e.split("\n",1)[0],this.options.pedantic?(o=2,d=c.trimLeft()):(o=(o=t[2].search(/[^ ]/))>4?1:o,d=c.slice(o),o+=t[1].length),u=!1,!c&&/^ *$/.test(s)&&(n+=s+"\n",e=e.substring(s.length+1),h=!0),!h)for(var y=new RegExp("^ {0,".concat(Math.min(3,o-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))")),_=new RegExp("^ {0,".concat(Math.min(3,o-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),b=new RegExp("^ {0,".concat(Math.min(3,o-1),"}(?:```|~~~)")),D=new RegExp("^ {0,".concat(Math.min(3,o-1),"}#"));e&&(s=f=e.split("\n",1)[0],this.options.pedantic&&(s=s.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!b.test(s))&&!D.test(s)&&!y.test(s)&&!_.test(e);){if(s.search(/[^ ]/)>=o||!s.trim())d+="\n"+s.slice(o);else{if(u)break;if(c.search(/[^ ]/)>=4)break;if(b.test(c))break;if(D.test(c))break;if(_.test(c))break;d+="\n"+s}u||s.trim()||(u=!0),n+=f+"\n",e=e.substring(f.length+1),c=s.slice(o)}m.loose||(l?m.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d))&&(i="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,"")),m.items.push({type:"list_item",raw:n,task:!!r,checked:i,loose:!1,text:d}),m.raw+=n}m.items[m.items.length-1].raw=n.trimRight(),m.items[m.items.length-1].text=d.trimRight(),m.raw=m.raw.trimRight();var w=m.items.length;for(a=0;a0&&x.some((function(e){return/\n.*\n/.test(e.raw)}));m.loose=k}if(m.loose)for(a=0;a$/,"$1").replace(this.rules.inline._escapes,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:r,title:i}}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:Fd(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,i,o,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]):md(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=Md(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var i=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,i=0;i-1){var o=(0===t[0].indexOf("!")?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,o).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)),Bd(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()])){var i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return Bd(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\uDE3F\uDE40\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\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\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\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\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\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\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\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\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-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/))){var i=r[1]||r[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){var o,a,u=r[0].length-1,l=u,c=0,s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=s.exec(t));)if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(a=o.length,r[3]||r[4])l+=a;else if(!((r[5]||r[6])&&u%3)||(u+a)%3){if(!((l-=a)>0)){a=Math.min(a,a+l+c);var f=e.slice(0,u+r.index+(r[0].length-o.length)+a);if(Math.min(u,a)%2){var d=f.slice(1,-1);return{type:"em",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}var h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}else c+=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),i=/^ /.test(n)&&/ $/.test(n);return r&&i&&(n=n.substring(1,n.length-1)),n=md(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,i=this.rules.inline.autolink.exec(e);if(i)return r="@"===i[2]?"mailto:"+(n=md(this.options.mangle?t(i[1]):i[1])):n=md(i[1]),{type:"link",raw:i[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,i;if("@"===n[2])i="mailto:"+(r=md(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);r=md(n[0]),i="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:r,href:i,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]):md(r[0]):r[0]:md(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),Id={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 *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Sd,lheading:/^((?:.|\n(?!\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?'|\([^()]*\))/};Id.def=bd(Id.def).replace("label",Id._label).replace("title",Id._title).getRegex(),Id.bullet=/(?:[*+-]|\d{1,9}[.)])/,Id.listItemStart=bd(/^( *)(bull) */).replace("bull",Id.bullet).getRegex(),Id.list=bd(Id.list).replace(/bull/g,Id.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Id.def.source+")").getRegex(),Id._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",Id._comment=/|$)/,Id.html=bd(Id.html,"i").replace("comment",Id._comment).replace("tag",Id._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Id.paragraph=bd(Id._paragraph).replace("hr",Id.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",Id._tag).getRegex(),Id.blockquote=bd(Id.blockquote).replace("paragraph",Id.paragraph).getRegex(),Id.normal=Nd({},Id),Id.gfm=Nd({},Id.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Id.gfm.table=bd(Id.gfm.table).replace("hr",Id.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",Id._tag).getRegex(),Id.gfm.paragraph=bd(Id._paragraph).replace("hr",Id.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Id.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",Id._tag).getRegex(),Id.pedantic=Nd({},Id.normal,{html:bd("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Id._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:Sd,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:bd(Id.normal._paragraph).replace("hr",Id.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Id.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Pd={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Sd,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:Sd,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}Pd._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",Pd.punctuation=bd(Pd.punctuation).replace(/punctuation/g,Pd._punctuation).getRegex(),Pd.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Pd.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,Pd._comment=bd(Id._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Pd.emStrong.lDelim=bd(Pd.emStrong.lDelim).replace(/punct/g,Pd._punctuation).getRegex(),Pd.emStrong.rDelimAst=bd(Pd.emStrong.rDelimAst,"g").replace(/punct/g,Pd._punctuation).getRegex(),Pd.emStrong.rDelimUnd=bd(Pd.emStrong.rDelimUnd,"g").replace(/punct/g,Pd._punctuation).getRegex(),Pd._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Pd._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Pd._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])?)+(?![-_])/,Pd.autolink=bd(Pd.autolink).replace("scheme",Pd._scheme).replace("email",Pd._email).getRegex(),Pd._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Pd.tag=bd(Pd.tag).replace("comment",Pd._comment).replace("attribute",Pd._attribute).getRegex(),Pd._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Pd._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Pd._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Pd.link=bd(Pd.link).replace("label",Pd._label).replace("href",Pd._href).replace("title",Pd._title).getRegex(),Pd.reflink=bd(Pd.reflink).replace("label",Pd._label).replace("ref",Id._label).getRegex(),Pd.nolink=bd(Pd.nolink).replace("ref",Id._label).getRegex(),Pd.reflinkSearch=bd(Pd.reflinkSearch,"g").replace("reflink",Pd.reflink).replace("nolink",Pd.nolink).getRegex(),Pd.normal=Nd({},Pd),Pd.pedantic=Nd({},Pd.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:bd(/^!?\[(label)\]\((.*?)\)/).replace("label",Pd._label).getRegex(),reflink:bd(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Pd._label).getRegex()}),Pd.gfm=Nd({},Pd.normal,{escape:bd(Pd.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]:[];e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));for(var u=function(){if(o.options.extensions&&o.options.extensions.block&&o.options.extensions.block.some((function(n){return!!(t=n.call({lexer:o},e,a))&&(e=e.substring(t.raw.length),a.push(t),!0)})))return"continue";if(t=o.tokenizer.space(e))return e=e.substring(t.raw.length),1===t.raw.length&&a.length>0?a[a.length-1].raw+="\n":a.push(t),"continue";if(t=o.tokenizer.code(e))return 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,o.inlineQueue[o.inlineQueue.length-1].src=n.text),"continue";if(t=o.tokenizer.fences(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.heading(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.hr(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.blockquote(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.list(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.html(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.def(e))return e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?o.tokens.links[t.tag]||(o.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,o.inlineQueue[o.inlineQueue.length-1].src=n.text),"continue";if(t=o.tokenizer.table(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.lheading(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(r=e,o.options.extensions&&o.options.extensions.startBlock){var u,l=1/0,c=e.slice(1);o.options.extensions.startBlock.forEach((function(e){"number"===typeof(u=e.call({lexer:this},c))&&u>=0&&(l=Math.min(l,u))})),l<1/0&&l>=0&&(r=e.substring(0,l+1))}if(o.state.top&&(t=o.tokenizer.paragraph(r)))return n=a[a.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,o.inlineQueue.pop(),o.inlineQueue[o.inlineQueue.length-1].src=n.text):a.push(t),i=r.length!==e.length,e=e.substring(t.raw.length),"continue";if(t=o.tokenizer.text(e))return e=e.substring(t.raw.length),(n=a[a.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,o.inlineQueue.pop(),o.inlineQueue[o.inlineQueue.length-1].src=n.text):a.push(t),"continue";if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(o.options.silent)return console.error(s),"break";throw new Error(s)}};e;){var l=u();if("continue"!==l&&"break"===l)break}return this.state.top=!0,a}},{key:"inline",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}},{key:"inlineTokens",value:function(e){var t,n,r,i,o,a,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],c=e;if(this.tokens.links){var s=Object.keys(this.tokens.links);if(s.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)s.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+Od("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+Od("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,i.index+i[0].length-2)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(var f=function(){if(o||(a=""),o=!1,u.options.extensions&&u.options.extensions.inline&&u.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)})))return"continue";if(t=u.tokenizer.escape(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.tag(e))return 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),"continue";if(t=u.tokenizer.link(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.reflink(e,u.tokens.links))return 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),"continue";if(t=u.tokenizer.emStrong(e,c,a))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.codespan(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.br(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.del(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.autolink(e,zd))return e=e.substring(t.raw.length),l.push(t),"continue";if(!u.state.inLink&&(t=u.tokenizer.url(e,zd)))return e=e.substring(t.raw.length),l.push(t),"continue";if(r=e,u.options.extensions&&u.options.extensions.startInline){var i,s=1/0,f=e.slice(1);u.options.extensions.startInline.forEach((function(e){"number"===typeof(i=e.call({lexer:this},f))&&i>=0&&(s=Math.min(s,i))})),s<1/0&&s>=0&&(r=e.substring(0,s+1))}if(t=u.tokenizer.inlineText(r,Rd))return e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(a=t.raw.slice(-1)),o=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(e){var d="Infinite loop on byte: "+e.charCodeAt(0);if(u.options.silent)return console.error(d),"break";throw new Error(d)}};e;){var d=f();if("continue"!==d&&"break"===d)break}return l}}],[{key:"rules",get:function(){return{block:Id,inline:Pd}}},{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}(),$d=function(){function e(t){Bt(this,e),this.options=t||cd}return Rt(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return e=e.replace(/\n$/,"")+"\n",r?'
'+(n?e:md(e,!0))+"
\n":"
"+(n?e:md(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 i=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=xd(this.options.sanitize,this.options.baseUrl,e)))return n;var r='"}},{key:"image",value:function(e,t,n){if(null===(e=xd(this.options.sanitize,this.options.baseUrl,e)))return n;var r='').concat(n,'":">"}},{key:"text",value:function(e){return e}}]),e}(),Hd=function(){function e(){Bt(this,e)}return Rt(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}(),Ud=function(){function e(){Bt(this,e),this.seen={}}return Rt(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}(),Yd=function(){function e(t){Bt(this,e),this.options=t||cd,this.options.renderer=this.options.renderer||new $d,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new Hd,this.slugger=new Ud}return Rt(e,[{key:"parse",value:function(e){var t,n,r,i,o,a,u,l,c,s,f,d,h,p,v,m,g,y,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],D="",w=e.length;for(t=0;t0&&"paragraph"===v.tokens[0].type?(v.tokens[0].text=y+" "+v.tokens[0].text,v.tokens[0].tokens&&v.tokens[0].tokens.length>0&&"text"===v.tokens[0].tokens[0].type&&(v.tokens[0].tokens[0].text=y+" "+v.tokens[0].tokens[0].text)):v.tokens.unshift({type:"text",text:y}):p+=y),p+=this.parse(v.tokens,h),c+=this.renderer.listitem(p,g,m);D+=this.renderer.list(c,f,d);continue;case"html":D+=this.renderer.html(s.text);continue;case"paragraph":D+=this.renderer.paragraph(this.parseInline(s.tokens));continue;case"text":for(c=s.tokens?this.parseInline(s.tokens):s.text;t+1An error occurred:

    "+md(e.message+"",!0)+"
    ";throw e}try{var l=jd.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(Vd.walkTokens(l,t.walkTokens)).then((function(){return Yd.parse(l,t)})).catch(u);Vd.walkTokens(l,t.walkTokens)}return Yd.parse(l,t)}catch(s){u(s)}}Vd.options=Vd.setOptions=function(e){var t;return Nd(Vd.defaults,e),t=Vd.defaults,cd=t,Vd},Vd.getDefaults=ld,Vd.defaults=cd,Vd.use=function(){for(var e=Vd.defaults.extensions||{renderers:{},childTokens:{}},t=arguments.length,n=new Array(t),r=0;rAn error occurred:

    "+md(s.message+"",!0)+"
    ";throw s}},Vd.Parser=Yd,Vd.parser=Yd.parse,Vd.Renderer=$d,Vd.TextRenderer=Hd,Vd.Lexer=jd,Vd.lexer=jd.lex,Vd.Tokenizer=Ld,Vd.Slugger=Ud,Vd.parse=Vd;Vd.options,Vd.setOptions,Vd.use,Vd.walkTokens,Vd.parseInline,Yd.parse,jd.lex;var qd=function(e){var t=e.title,n=e.description,r=e.unit,i=e.expr,o=e.showLegend,a=e.filename,u=e.alias,l=Xo().isMobile,c=Ni().period,s=$o().customStep,f=Fi(),d=ie(null),h=Ft(ee(!1),2),p=h[0],v=h[1],m=Ft(ee({limits:{enable:!1,range:{1:[0,0]}}}),2),y=m[0],_=m[1],b=ae((function(){return Array.isArray(i)&&i.every((function(e){return e}))}),[i]),D=Uf({predefinedQuery:b?i:[],display:"chart",visible:p,customStep:s}),w=D.isLoading,x=D.graphData,k=D.error,C=D.warning,A=function(e){var t=yr({},y);t.limits.range=e,_(t)};if(ne((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return v(e.isIntersecting)}))}),{threshold:.1});return d.current&&e.observe(d.current),function(){d.current&&e.unobserve(d.current)}}),[d]),!b)return Vr(ta,{variant:"error",children:[Vr("code",{children:'"expr"'})," not found. Check the configuration file ",Vr("b",{children:a}),"."]});var E=function(){return Vr("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Vr(g,{children:[Vr("div",{children:[Vr("span",{children:"Description:"}),Vr("div",{dangerouslySetInnerHTML:{__html:Vd.parse(n)}})]}),Vr("hr",{})]}),Vr("div",{children:[Vr("span",{children:"Queries:"}),Vr("div",{children:i.map((function(e,t){return Vr("div",{children:e},"".concat(t,"_").concat(e))}))})]})]})};return Vr("div",{className:"vm-predefined-panel",ref:d,children:[Vr("div",{className:"vm-predefined-panel-header",children:[Vr(ma,{title:Vr(E,{}),children:Vr("div",{className:"vm-predefined-panel-header__info",children:Vr(Hi,{})})}),Vr("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Vr(Wf,{yaxis:y,setYaxisLimits:A,toggleEnableLimits:function(){var e=yr({},y);e.limits.enable=!e.limits.enable,_(e)}})]}),Vr("div",{className:"vm-predefined-panel-body",children:[w&&Vr(Qf,{}),k&&Vr(ta,{variant:"error",children:k}),C&&Vr(ta,{variant:"warning",children:C}),x&&Vr(Nf,{data:x,period:c,customStep:s,query:i,yaxis:y,unit:r,alias:u,showLegend:o,setYaxisLimits:A,setPeriod:function(e){var t=e.from,n=e.to;f({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1,height:l?.5*window.innerHeight:500})]})]})},Wd=function(e){var t=e.index,n=e.title,r=e.panels,i=e.filename,o=bo(document.body),a=ae((function(){return o.width/12}),[o]),u=Ft(ee(!t),2),l=u[0],c=u[1],s=Ft(ee([]),2),f=s[0],d=s[1];ne((function(){d(r&&r.map((function(e){return e.width||12})))}),[r]);var h=Ft(ee({start:0,target:0,enable:!1}),2),p=h[0],v=h[1],m=function(e){if(p.enable){var t=p.start,n=Math.ceil((t-e.clientX)/a);if(!(Math.abs(n)>=12)){var r=f.map((function(e,t){return e-(t===p.target?n:0)}));d(r)}}},g=function(){v(yr(yr({},p),{},{enable:!1}))},y=function(e){return function(t){!function(e,t){v({start:e.clientX,target:t,enable:!0})}(t,e)}};return ne((function(){return window.addEventListener("mousemove",m),window.addEventListener("mouseup",g),function(){window.removeEventListener("mousemove",m),window.removeEventListener("mouseup",g)}}),[p]),Vr("div",{className:"vm-predefined-dashboard",children:Vr(qa,{defaultExpanded:l,onChange:function(e){return c(e)},title:Vr((function(){return Vr("div",{className:wo()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":l}),children:[(n||i)&&Vr("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(i)}),r&&Vr("span",{className:"vm-predefined-dashboard-header__count",children:["(",r.length," panels)"]})]})}),{}),children:Vr("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(r)&&r.length?r.map((function(e,t){return Vr("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(f[t])},children:[Vr(qd,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:i,showLegend:e.showLegend}),Vr("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:y(t)})]},t)})):Vr("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Vr(ta,{variant:"error",children:[Vr("code",{children:'"panels"'})," not found. Check the configuration file ",Vr("b",{children:i}),"."]})})})})})},Qd=function(){!function(){var e=Ni(),t=e.duration,n=e.relativeTime,r=e.period.date,i=$o().customStep,o=Ft(pr(),2)[1],a=function(){var e,a=id((mr(e={},"g0.range_input",t),mr(e,"g0.end_input",r),mr(e,"g0.step_input",i),mr(e,"g0.relative_time",n),e));o(a)};ne(a,[t,n,r,i]),ne(a,[])}();var e=Xo().isMobile,t=ua(),n=t.dashboardsSettings,r=t.dashboardsLoading,i=t.dashboardsError,o=Ft(ee(0),2),a=o[0],u=o[1],l=ae((function(){return n.map((function(e,t){return{label:e.title||"",value:t}}))}),[n]),c=ae((function(){return n[a]||{}}),[n,a]),s=ae((function(){return null===c||void 0===c?void 0:c.rows}),[c]),f=ae((function(){return c.title||c.filename||""}),[c]),d=ae((function(){return Array.isArray(s)&&!!s.length}),[s]),h=function(e){return function(){!function(e){u(e)}(e)}};return Vr("div",{className:"vm-predefined-panels",children:[r&&Vr(Qf,{}),i&&Vr(ta,{variant:"error",children:i}),!n.length&&Vr(ta,{variant:"info",children:"Dashboards not found"}),l.length>1&&Vr("div",{className:wo()({"vm-predefined-panels-tabs":!0,"vm-block":!0,"vm-block_mobile":e}),children:l.map((function(e){return Vr("div",{className:wo()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==a}),onClick:h(e.value),children:e.label},e.value)}))}),Vr("div",{className:"vm-predefined-panels__dashboards",children:[d&&s.map((function(e,t){return Vr(Wd,{index:t,filename:f,title:e.title,panels:e.panels},"".concat(a,"_").concat(t))})),!!n.length&&!d&&Vr(ta,{variant:"error",children:[Vr("code",{children:'"rows"'})," not found. Check the configuration file ",Vr("b",{children:f}),"."]})]})]})},Gd=function(e,t){var n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)},Jd=function(){function e(){Bt(this,e),this.tsdbStatus=void 0,this.tabsNames=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"]}return Rt(e,[{key:"tsdbStatusData",get:function(){return this.tsdbStatus},set:function(e){this.tsdbStatus=e}},{key:"defaultTSDBStatus",get:function(){return{totalSeries:0,totalLabelValuePairs:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}},{key:"keys",value:function(e){var t=[];return e&&(t=t.concat("seriesCountByFocusLabelValue")),t=t.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair","labelValueCountByLabelName"),t}},{key:"defaultState",get:function(){var e=this;return this.keys("job").reduce((function(t,n){return yr(yr({},t),{},{tabs:yr(yr({},t.tabs),{},mr({},n,e.tabsNames)),containerRefs:yr(yr({},t.containerRefs),{},mr({},n,ie(null))),defaultActiveTab:yr(yr({},t.defaultActiveTab),{},mr({},n,0))})}),{tabs:{},containerRefs:{},defaultActiveTab:{}})}},{key:"sectionsTitles",value:function(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}},{key:"tablesHeaders",get:function(){return{seriesCountByMetricName:Zd,seriesCountByLabelName:Kd,seriesCountByFocusLabelValue:Xd,seriesCountByLabelValuePair:eh,labelValueCountByLabelName:th}}},{key:"totalSeries",value:function(e){return"labelValueCountByLabelName"===e?-1:this.tsdbStatus.totalSeries}}]),e}(),Zd=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Kd=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Xd=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{disablePadding:!1,id:"action",label:"Action",numeric:!1}],eh=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],th=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:"Action"}],nh={seriesCountByMetricName:function(e,t){return rh("__name__",t)},seriesCountByLabelName:function(e,t){return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:function(e,t){return rh(e,t)},seriesCountByLabelValuePair:function(e,t){var n=t.split("="),r=n[0],i=n.slice(1).join("=");return rh(r,i)},labelValueCountByLabelName:function(e,t){return"{".concat(t,'!=""}')}},rh=function(e,t){return e?"{"+e+"="+JSON.stringify(t)+"}":""},ih=function(e){var t=e.topN,n=e.error,r=e.query,i=e.onSetHistory,o=e.onRunQuery,a=e.onSetQuery,u=e.onTopNChange,l=e.onFocusLabelChange,c=e.totalSeries,s=e.totalLabelValuePairs,f=e.date,d=e.match,h=e.focusLabel,p=Li().autocomplete,v=Ii(),m=Xo().isMobile,g=Gf().queryOptions,y=ae((function(){return t<1?"Number must be bigger than zero":""}),[t]);return Vr("div",{className:wo()({"vm-cardinality-configurator":!0,"vm-block":!0,"vm-block_mobile":m}),children:[Vr("div",{className:"vm-cardinality-configurator-controls",children:[Vr("div",{className:"vm-cardinality-configurator-controls__query",children:Vr(Mf,{value:r,autocomplete:p,options:g,error:n,onArrowUp:function(){i(-1)},onArrowDown:function(){i(1)},onEnter:o,onChange:a,label:"Time series selector"})}),Vr("div",{className:"vm-cardinality-configurator-controls__item",children:Vr(xa,{label:"Number of entries per table",type:"number",value:t,error:y,onChange:u})}),Vr("div",{className:"vm-cardinality-configurator-controls__item",children:Vr(xa,{label:"Focus label",type:"text",value:h||"",onChange:l,endIcon:Vr(ma,{title:Vr("div",{children:[Vr("p",{children:"To identify values with the highest number of series for the selected label."}),Vr("p",{children:"Adds a table showing the series with the highest number of series."})]}),children:Vr(Hi,{})})})})]}),Vr("div",{className:"vm-cardinality-configurator-additional",children:Vr(Tf,{label:"Autocomplete",value:p,onChange:function(){v({type:"TOGGLE_AUTOCOMPLETE"})}})}),Vr("div",{className:wo()({"vm-cardinality-configurator-bottom":!0,"vm-cardinality-configurator-bottom_mobile":m}),children:[Vr("div",{className:"vm-cardinality-configurator-bottom__info",children:["Analyzed ",Vr("b",{children:c})," series with ",Vr("b",{children:s}),' "label=value" pairs at ',Vr("b",{children:f}),d&&Vr("span",{children:[" for series selector ",Vr("b",{children:d})]}),". Show top ",t," entries per table."]}),Vr("div",{className:"vm-cardinality-configurator-bottom__docs",children:[Vr("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/#cardinality-explorer",rel:"help noreferrer",children:[Vr(po,{}),"Documentation"]}),Vr("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://victoriametrics.com/blog/cardinality-explorer/",rel:"help noreferrer",children:[Vr(mo,{}),"Example of using"]})]}),Vr(fa,{startIcon:Vr(Xi,{}),onClick:o,fullWidth:!0,children:"Execute Query"})]})]})};function oh(e){var t=e.order,n=e.orderBy,r=e.onRequestSort,i=e.headerCells;return Vr("thead",{className:"vm-table-header",children:Vr("tr",{className:"vm-table__row vm-table__row_header",children:i.map((function(e){return Vr("th",{className:wo()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(i=e.id,function(e){r(e,i)}),children:Vr("div",{className:"vm-table-cell__content",children:[e.label,"action"!==e.id&&"percentage"!==e.id&&Vr("div",{className:wo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Vr(Qi,{})})]})},e.id);var i}))})})}function ah(e,t,n){return t[n]e[n]?1:0}function uh(e,t){return"desc"===e?function(e,n){return ah(e,n,t)}:function(e,n){return-ah(e,n,t)}}function lh(e,t){var n=e.map((function(e,t){return[e,t]}));return n.sort((function(e,n){var r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((function(e){return e[0]}))}var ch=function(e){var t=e.rows,n=e.headerCells,r=e.defaultSortColumn,i=e.tableCells,o=Ft(ee("desc"),2),a=o[0],u=o[1],l=Ft(ee(r),2),c=l[0],s=l[1],f=Ft(ee([]),2),d=f[0],h=f[1],p=function(e){return function(){var t=d.indexOf(e),n=[];-1===t?n=n.concat(d,e):0===t?n=n.concat(d.slice(1)):t===d.length-1?n=n.concat(d.slice(0,-1)):t>0&&(n=n.concat(d.slice(0,t),d.slice(t+1))),h(n)}},v=lh(t,uh(a,c));return Vr("table",{className:"vm-table",children:[Vr(oh,{numSelected:d.length,order:a,orderBy:c,onSelectAllClick:function(e){if(e.target.checked){var n=t.map((function(e){return e.name}));h(n)}else h([])},onRequestSort:function(e,t){u(c===t&&"asc"===a?"desc":"asc"),s(t)},rowCount:t.length,headerCells:n}),Vr("tbody",{className:"vm-table-header",children:v.map((function(e){return Vr("tr",{className:wo()({"vm-table__row":!0,"vm-table__row_selected":(t=e.name,-1!==d.indexOf(t))}),onClick:p(e.name),children:i(e)},e.name);var t}))})]})},sh=function(e){var t=e.row,n=e.totalSeries,r=e.onActionClick,i=n>0?t.value/n*100:-1;return Vr(g,{children:[Vr("td",{className:"vm-table-cell",children:t.name},t.name),Vr("td",{className:"vm-table-cell",children:t.value},t.value),i>0&&Vr("td",{className:"vm-table-cell",children:Vr(Jf,{value:i})},t.progressValue),Vr("td",{className:"vm-table-cell vm-table-cell_right",children:Vr("div",{className:"vm-table-cell__content",children:Vr(ma,{title:"Filter by ".concat(t.name),children:Vr(fa,{variant:"text",size:"small",onClick:function(){r(t.name)},children:Vr(eo,{})})})})},"action")]})},fh=function(e){var t=e.data,n=e.container,r=e.configs,i=Wr().isDarkTheme,o=ie(null),a=Ft(ee(),2),u=a[0],l=a[1],c=bo(n),s=yr(yr({},r),{},{width:c.width||400});return ne((function(){if(o.current){var e=new nf(s,t,o.current);return l(e),e.destroy}}),[o.current,c,i]),ne((function(){u&&u.setData(t)}),[t]),Vr("div",{style:{height:"100%"},children:Vr("div",{ref:o})})},dh=function(e,t){return Math.round(e*(t=Math.pow(10,t)))/t},hh=1,ph=function(e,t,n,r){return dh(t+e*(n+r),6)},vh=function(e,t,n,r,i){var o=1-t,a=n===hh?o/(e-1):2===n?o/e:3===n?o/(e+1):0;(isNaN(a)||a===1/0)&&(a=0);var u=n===hh?0:2===n?a/2:3===n?a:0,l=t/e,c=dh(l,6);if(null==r)for(var s=0;s=n&&e<=i&&t>=r&&t<=o};function gh(e,t,n,r,i){var o=this;o.x=e,o.y=t,o.w=n,o.h=r,o.l=i||0,o.o=[],o.q=null}var yh={split:function(){var e=this,t=e.x,n=e.y,r=e.w/2,i=e.h/2,o=e.l+1;e.q=[new gh(t+r,n,r,i,o),new gh(t,n,r,i,o),new gh(t,n+i,r,i,o),new gh(t+r,n+i,r,i,o)]},quads:function(e,t,n,r,i){var o=this,a=o.q,u=o.x+o.w/2,l=o.y+o.h/2,c=tu,d=t+r>l;c&&f&&i(a[0]),s&&c&&i(a[1]),s&&d&&i(a[2]),f&&d&&i(a[3])},add:function(e){var t=this;if(null!=t.q)t.quads(e.x,e.y,e.w,e.h,(function(t){t.add(e)}));else{var n=t.o;if(n.push(e),n.length>10&&t.l<4){t.split();for(var r=function(){var e=n[i];t.quads(e.x,e.y,e.w,e.h,(function(t){t.add(e)}))},i=0;i=0?"left":"right",e.ctx.textBaseline=1===s?"middle":i[n]>=0?"bottom":"top",e.ctx.fillText(i[n],f,y)}}))})),e.ctx.restore()}function b(e,t,n){return[0,nf.rangeNum(0,n,.05,!0)[1]]}return{hooks:{drawClear:function(t){var n;if((g=g||new gh(0,0,t.bbox.width,t.bbox.height)).clear(),t.series.forEach((function(e){e._paths=null})),l=d?[null].concat(m(t.data.length-1-o.length,t.data[0].length)):2===t.series.length?[null].concat(m(t.data[0].length,1)):[null].concat(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h,r=Array.from({length:t},(function(){return{offs:Array(e).fill(0),size:Array(e).fill(0)}}));return vh(e,n,p,null,(function(e,n,i){vh(t,1,v,null,(function(t,o,a){r[t].offs[e]=n+i*o,r[t].size[e]=i*a}))})),r}(t.data[0].length,t.data.length-1-o.length,1===t.data[0].length?1:h)),null!=(null===(n=e.disp)||void 0===n?void 0:n.fill)){c=[null];for(var r=1;r0&&!o.includes(t)&&nf.assign(e,{paths:y,points:{show:_}})}))}}}((_h=[1],bh=0,Dh=1,wh=0,xh=function(e,t){return{stroke:e,fill:t}}({unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}},{unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}}),{which:_h,ori:bh,dir:Dh,radius:wh,disp:xh}))]},Ch=function(e){var t=e.rows,n=e.activeTab,r=e.onChange,i=e.tabs,o=e.chartContainer,a=e.totalSeries,u=e.tabId,l=e.onActionClick,c=e.sectionTitle,s=e.tableHeaderCells,f=Xo().isMobile,d=ae((function(){return i.map((function(e,t){return{value:String(t),label:e,icon:Vr(0===t?no:to,{})}}))}),[i]);return Vr("div",{className:wo()({"vm-metrics-content":!0,"vm-metrics-content_mobile":f,"vm-block":!0,"vm-block_mobile":f}),children:[Vr("div",{className:"vm-metrics-content-header vm-section-header",children:[Vr("h5",{className:wo()({"vm-section-header__title":!0,"vm-section-header__title_mobile":f}),children:c}),Vr("div",{className:"vm-section-header__tabs",children:Vr(Eo,{activeItem:String(n),items:d,onChange:function(e){r(e,u)}})})]}),Vr("div",{ref:o,className:wo()({"vm-metrics-content__table":!0,"vm-metrics-content__table_mobile":f}),children:[0===n&&Vr(ch,{rows:t,headerCells:s,defaultSortColumn:"value",tableCells:function(e){return Vr(sh,{row:e,totalSeries:a,onActionClick:l})}}),1===n&&Vr(fh,{data:[t.map((function(e){return e.name})),t.map((function(e){return e.value})),t.map((function(e,t){return t%12==0?1:t%10==0?2:0}))],container:(null===o||void 0===o?void 0:o.current)||null,configs:kh})]})]})},Ah=function(){var e=Xo().isMobile,t=qo(),n=t.topN,r=t.match,i=t.date,o=t.focusLabel,a=Wo();!function(){var e=qo(),t=e.topN,n=e.match,r=e.date,i=e.focusLabel,o=e.extraLabel,a=Ft(pr(),2)[1],u=function(){var e=id({topN:t,date:r,match:n,extraLabel:o,focusLabel:i});a(e)};ne(u,[t,n,r,i,o]),ne(u,[])}();var u=Ft(ee(r||""),2),l=u[0],c=u[1],s=Ft(ee(0),2),f=s[0],d=s[1],h=Ft(ee([]),2),p=h[0],v=h[1],m=function(){var e=new Jd,t=qo(),n=t.topN,r=t.extraLabel,i=t.match,o=t.date,a=t.runQuery,u=t.focusLabel,l=Wr().serverUrl,c=Ft(ee(!1),2),s=c[0],f=c[1],d=Ft(ee(),2),h=d[0],p=d[1],v=Ft(ee(e.defaultTSDBStatus),2),m=v[0],g=v[1];ne((function(){h&&(g(e.defaultTSDBStatus),f(!1))}),[h]);var y=function(){var t=tu(Xa().mark((function t(n){var r,i,o,a;return Xa().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l){t.next=2;break}return t.abrupt("return");case 2:return p(""),f(!0),g(e.defaultTSDBStatus),r=Gd(l,n),t.prev=6,t.next=9,fetch(r);case 9:return i=t.sent,t.next=12,i.json();case 12:o=t.sent,i.ok?(a=o.data,g(yr({},a)),f(!1)):(p(o.error),g(e.defaultTSDBStatus),f(!1)),t.next=20;break;case 16:t.prev=16,t.t0=t.catch(6),f(!1),t.t0 instanceof Error&&p("".concat(t.t0.name,": ").concat(t.t0.message));case 20:case"end":return t.stop()}}),t,null,[[6,16]])})));return function(e){return t.apply(this,arguments)}}();return ne((function(){y({topN:n,extraLabel:r,match:i,date:o,focusLabel:u})}),[l,a,o]),e.tsdbStatusData=m,{isLoading:s,appConfigurator:e,error:h}}(),g=m.isLoading,y=m.appConfigurator,_=m.error,b=Ft(ee(y.defaultState.defaultActiveTab),2),D=b[0],w=b[1],x=y.tsdbStatusData,k=y.defaultState,C=y.tablesHeaders,A=function(e,t){w(yr(yr({},D),{},mr({},t,+e)))};return Vr("div",{className:wo()({"vm-cardinality-panel":!0,"vm-cardinality-panel_mobile":e}),children:[g&&Vr(Qf,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Vr(ih,{error:"",query:l,topN:n,date:i,match:r,totalSeries:x.totalSeries,totalLabelValuePairs:x.totalLabelValuePairs,focusLabel:o,onRunQuery:function(){v((function(e){return[].concat(Ot(e),[l])})),d((function(e){return e+1})),a({type:"SET_MATCH",payload:l}),a({type:"RUN_QUERY"})},onSetQuery:c,onSetHistory:function(e){var t=f+e;t<0||t>=p.length||(d(t),c(p[t]))},onTopNChange:function(e){a({type:"SET_TOP_N",payload:+e})},onFocusLabelChange:function(e){a({type:"SET_FOCUS_LABEL",payload:e})}}),_&&Vr(ta,{variant:"error",children:_}),y.keys(o).map((function(e){return Vr(Ch,{sectionTitle:y.sectionsTitles(o)[e],activeTab:D[e],rows:x[e],onChange:A,onActionClick:(t=e,function(e){var n=nh[t](o,e);c(n),v((function(e){return[].concat(Ot(e),[n])})),d((function(e){return e+1})),a({type:"SET_MATCH",payload:n});var r="";"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||(r=e),a({type:"SET_FOCUS_LABEL",payload:r}),a({type:"RUN_QUERY"})}),tabs:k.tabs[e],chartContainer:k.containerRefs[e],totalSeries:y.totalSeries(e),tabId:e,tableHeaderCells:C[e]},e);var t}))]})},Eh=function(e){var t=e.rows,n=e.columns,r=Ft(ee(e.defaultOrderBy||"count"),2),i=r[0],o=r[1],a=Ft(ee("desc"),2),u=a[0],l=a[1],c=ae((function(){return lh(t,uh(u,i))}),[t,i,u]),s=function(e){return function(){var t;t=e,l((function(e){return"asc"===e&&i===t?"desc":"asc"})),o(t)}};return Vr("table",{className:"vm-table",children:[Vr("thead",{className:"vm-table-header",children:Vr("tr",{className:"vm-table__row vm-table__row_header",children:n.map((function(e){return Vr("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:s(e.key),children:Vr("div",{className:"vm-table-cell__content",children:[e.title||e.key,Vr("div",{className:wo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":i===e.key,"vm-table__sort-icon_desc":"desc"===u&&i===e.key}),children:Vr(Qi,{})})]})},e.key)}))})}),Vr("tbody",{className:"vm-table-body",children:c.map((function(e,t){return Vr("tr",{className:"vm-table__row",children:n.map((function(t){return Vr("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key)}))},t)}))})]})},Sh=["table","JSON"].map((function(e,t){return{value:String(t),label:e,icon:Vr(0===t?no:ro,{})}})),Nh=function(e){var t=e.rows,n=e.title,r=e.columns,i=e.defaultOrderBy,o=Xo().isMobile,a=Ft(ee(0),2),u=a[0],l=a[1];return Vr("div",{className:wo()({"vm-top-queries-panel":!0,"vm-block":!0,"vm-block_mobile":o}),children:[Vr("div",{className:wo()({"vm-top-queries-panel-header":!0,"vm-section-header":!0,"vm-top-queries-panel-header_mobile":o}),children:[Vr("h5",{className:wo()({"vm-section-header__title":!0,"vm-section-header__title_mobile":o}),children:n}),Vr("div",{className:"vm-section-header__tabs",children:Vr(Eo,{activeItem:String(u),items:Sh,onChange:function(e){l(+e)}})})]}),Vr("div",{className:wo()({"vm-top-queries-panel__table":!0,"vm-top-queries-panel__table_mobile":o}),children:[0===u&&Vr(Eh,{rows:t,columns:r,defaultOrderBy:i}),1===u&&Vr(Yf,{data:t})]})]})},Fh=function(){var e=Xo().isMobile,t=function(){var e=Wr().serverUrl,t=Zo(),n=t.topN,r=t.maxLifetime,i=t.runQuery,o=Ft(ee(null),2),a=o[0],u=o[1],l=Ft(ee(!1),2),c=l[0],s=l[1],f=Ft(ee(),2),d=f[0],h=f[1],p=ae((function(){return function(e,t,n){return"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||"")}(e,n,r)}),[e,n,r]),v=function(){var e=tu(Xa().mark((function e(){var t,n;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),e.prev=1,e.next=4,fetch(p);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,t.ok&&["topByAvgDuration","topByCount","topBySumDuration"].forEach((function(e){var t=n[e];Array.isArray(t)&&t.forEach((function(e){return e.timeRangeHours=+(e.timeRangeSeconds/3600).toFixed(2)}))})),u(t.ok?n:null),h(String(n.error||"")),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&"AbortError"!==e.t0.name&&h("".concat(e.t0.name,": ").concat(e.t0.message));case 16:s(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){v()}),[i]),{data:a,error:d,loading:c}}(),n=t.data,r=t.error,i=t.loading,o=Zo(),a=o.topN,u=o.maxLifetime,l=le(Jo).dispatch;!function(){var e=Zo(),t=e.topN,n=e.maxLifetime,r=Ft(pr(),2)[1],i=function(){var e=id({topN:String(t),maxLifetime:n});r(e)};ne(i,[t,n]),ne(i,[])}();var c=ae((function(){var e=u.trim().split(" ").reduce((function(e,t){var n=ui(t);return n?yr(yr({},e),n):yr({},e)}),{});return!!_t().duration(e).asMilliseconds()}),[u]),s=ae((function(){return!!a&&a<1}),[a]),f=ae((function(){return s?"Number must be bigger than zero":""}),[s]),d=ae((function(){return c?"":"Invalid duration value"}),[c]),h=function(e){if(!n)return e;var t=n[e];return"number"===typeof t?uf(t,t,t):t||e},p=function(){l({type:"SET_RUN_QUERY"})},v=function(e){"Enter"===e.key&&p()};return ne((function(){n&&(a||l({type:"SET_TOP_N",payload:+n.topN}),u||l({type:"SET_MAX_LIFE_TIME",payload:n.maxLifetime}))}),[n]),Vr("div",{className:wo()({"vm-top-queries":!0,"vm-top-queries_mobile":e}),children:[i&&Vr(Qf,{containerStyles:{height:"500px"}}),Vr("div",{className:wo()({"vm-top-queries-controls":!0,"vm-block":!0,"vm-block_mobile":e}),children:[Vr("div",{className:"vm-top-queries-controls-fields",children:[Vr("div",{className:"vm-top-queries-controls-fields__item",children:Vr(xa,{label:"Max lifetime",value:u,error:d,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:function(e){l({type:"SET_MAX_LIFE_TIME",payload:e})},onKeyDown:v})}),Vr("div",{className:"vm-top-queries-controls-fields__item",children:Vr(xa,{label:"Number of returned queries",type:"number",value:a||"",error:f,onChange:function(e){l({type:"SET_TOP_N",payload:+e})},onKeyDown:v})})]}),Vr("div",{className:wo()({"vm-top-queries-controls-bottom":!0,"vm-top-queries-controls-bottom_mobile":e}),children:[Vr("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Vr(ma,{title:"search.queryStats.lastQueriesCount",children:Vr("b",{children:h("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Vr(ma,{title:"search.queryStats.minQueryDuration",children:Vr("b",{children:h("search.queryStats.minQueryDuration")})})]}),Vr("div",{className:"vm-top-queries-controls-bottom__button",children:Vr(fa,{startIcon:Vr(Xi,{}),onClick:p,children:"Execute"})})]})]}),r&&Vr(ta,{variant:"error",children:r}),n&&Vr(g,{children:Vr("div",{className:"vm-top-queries-panels",children:[Vr(Nh,{rows:n.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}]}),Vr(Nh,{rows:n.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Vr(Nh,{rows:n.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"})]})})]})},Mh={"color-primary":"#589DF6","color-secondary":"#316eca","color-error":"#e5534b","color-warning":"#c69026","color-info":"#539bf5","color-success":"#57ab5a","color-background-body":"#22272e","color-background-block":"#2d333b","color-background-tooltip":"rgba(22, 22, 22, 0.8)","color-text":"#cdd9e5","color-text-secondary":"#768390","color-text-disabled":"#636e7b","box-shadow":"rgba(0, 0, 0, 0.16) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.2) 0px 2px 8px 0px","border-divider":"1px solid rgba(99, 110, 123, 0.5)","color-hover-black":"rgba(0, 0, 0, 0.12)"},Th={"color-primary":"#3F51B5","color-secondary":"#E91E63","color-error":"#FD080E","color-warning":"#FF8308","color-info":"#03A9F4","color-success":"#4CAF50","color-background-body":"#FEFEFF","color-background-block":"#FFFFFF","color-background-tooltip":"rgba(97,97,97, 0.92)","color-text":"#110f0f","color-text-secondary":"#706F6F","color-text-disabled":"#A09F9F","box-shadow":"rgba(0, 0, 0, 0.08) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.1) 0px 2px 8px 0px","border-divider":"1px solid rgba(0, 0, 0, 0.15)","color-hover-black":"rgba(0, 0, 0, 0.06)"},Oh=function(){var e=Ft(ee(jr()),2),t=e[0],n=e[1],r=function(e){n(e.matches)};return ne((function(){var e=window.matchMedia("(prefers-color-scheme: dark)");return e.addEventListener("change",r),function(){return e.removeEventListener("change",r)}}),[]),t},Bh=["primary","secondary","error","warning","info","success"],Lh=function(e){var t,n=e.onLoaded,r=Ar(),i=Cr().palette,o=void 0===i?{}:i,a=Wr().theme,u=Oh(),l=Qr(),c=bo(document.body),s=Ft(ee((mr(t={},br.dark,Mh),mr(t,br.light,Th),mr(t,br.system,jr()?Mh:Th),t)),2),f=s[0],d=s[1],h=function(){var e=window,t=e.innerWidth,n=e.innerHeight,r=document.documentElement,i=r.clientWidth,o=r.clientHeight;zr("scrollbar-width","".concat(t-i,"px")),zr("scrollbar-height","".concat(n-o,"px")),zr("vh","".concat(.01*n,"px"))},p=function(){Bh.forEach((function(e,t){var r=function(e){var t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"}(Rr("color-".concat(e)));zr("".concat(e,"-text"),r),t===Bh.length-1&&(l({type:"SET_DARK_THEME"}),n(!0))}))},v=function(){var e=Ir("THEME")||br.system,t=f[e];Object.entries(t).forEach((function(e){var t=Ft(e,2),n=t[0],r=t[1];zr(n,r)})),p(),r&&(Bh.forEach((function(e){var t=o[e];t&&zr("color-".concat(e),t)})),p())};return ne((function(){h(),v()}),[f]),ne(h,[c]),ne((function(){var e=jr()?Mh:Th;f[br.system]!==e?d((function(t){return yr(yr({},t),{},mr({},br.system,e))})):v()}),[a,u]),ne((function(){r&&l({type:"SET_THEME",payload:br.light})}),[]),null},Ih=function(){var e=Ft(ee(!1),2),t=e[0],n=e[1],r=Ft(ee([]),2),i=r[0],o=r[1],a=Ft(ee([]),2),u=a[0],l=a[1],c=ae((function(){return!!i.length}),[i]),f=Ft(pr(),2)[1],d=function(){n(!0)},h=function(){n(!1)},p=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";l((function(n){return[{filename:t,text:": ".concat(e.message)}].concat(Ot(n))}))},v=function(e,t){try{var n=JSON.parse(e),r=n.trace||n;if(!r.duration_msec)return void p(new Error(_r.traceNotFound),t);var i=new Hf(r,t);o((function(e){return[i].concat(Ot(e))}))}catch(s){s instanceof Error&&p(s,t)}},m=function(e){l([]),Array.from(e.target.files||[]).map((function(e){var t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=function(e){var t,r=String(null===(t=e.target)||void 0===t?void 0:t.result);v(r,n)},t.readAsText(e)})),e.target.value=""},g=function(e){return function(){!function(e){l((function(t){return t.filter((function(t,n){return n!==e}))}))}(e)}};ne((function(){f({})}),[]);var y=function(){return Vr("div",{className:"vm-trace-page-controls",children:[Vr(fa,{variant:"outlined",onClick:d,children:"Paste JSON"}),Vr(ma,{title:"The file must contain tracing information in JSON format",children:Vr(fa,{children:["Upload Files",Vr("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:m})]})})]})};return Vr("div",{className:"vm-trace-page",children:[Vr("div",{className:"vm-trace-page-header",children:[Vr("div",{className:"vm-trace-page-header-errors",children:u.map((function(e,t){return Vr("div",{className:"vm-trace-page-header-errors-item",children:[Vr(ta,{variant:"error",children:[Vr("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Vr("span",{children:e.text})]}),Vr(fa,{className:"vm-trace-page-header-errors-item__close",startIcon:Vr(ji,{}),variant:"text",color:"error",onClick:g(t)})]},"".concat(e,"_").concat(t))}))}),Vr("div",{children:c&&Vr(y,{})})]}),c&&Vr("div",{children:Vr(Xf,{jsonEditor:!0,traces:i,onDeleteClick:function(e){var t=i.filter((function(t){return t.idValue!==e.idValue}));o(Ot(t))}})}),!c&&Vr("div",{className:"vm-trace-page-preview",children:[Vr("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Vr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"help noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload."]}),Vr(y,{})]}),t&&Vr(va,{title:"Paste JSON",onClose:h,children:Vr(Kf,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(i.length+1),onClose:h,onUpload:v})})]})},Ph=function(e){var t=Wr().serverUrl,n=Ni().period,r=Ft(ee([]),2),i=r[0],o=r[1],a=Ft(ee(!1),2),u=a[0],l=a[1],c=Ft(ee(),2),s=c[0],f=c[1],d=ae((function(){return function(e,t,n){var r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)}(t,n,e)}),[t,n,e]);return ne((function(){if(e){var t=function(){var e=tu(Xa().mark((function e(){var t,n,r;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],o(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?f(void 0):f("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&f("".concat(e.t0.name,": ").concat(e.t0.message));case 16:l(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[d]),{instances:i,isLoading:u,error:s}},Rh=function(e,t){var n=Wr().serverUrl,r=Ni().period,i=Ft(ee([]),2),o=i[0],a=i[1],u=Ft(ee(!1),2),l=u[0],c=u[1],s=Ft(ee(),2),f=s[0],d=s[1],h=ae((function(){return function(e,t,n,r){var i=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=Ft(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))})).join(","),o="{".concat(i,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(o),"&start=").concat(t.start,"&end=").concat(t.end)}(n,r,e,t)}),[n,r,e,t]);return ne((function(){if(e){var t=function(){var e=tu(Xa().mark((function e(){var t,n,r;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.prev=1,e.next=4,fetch(h);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],a(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?d(void 0):d("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&d("".concat(e.t0.name,": ").concat(e.t0.message));case 16:c(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[h]),{names:o,isLoading:l,error:f}},zh=function(e){var t=e.name,n=e.job,r=e.instance,i=e.rateEnabled,o=e.isBucket,a=e.height,u=Xo().isMobile,l=$o(),c=l.customStep,s=l.yaxis,f=Ni().period,d=Ho(),h=Fi(),p=Ft(ee(!1),2),v=p[0],m=p[1],g=ae((function(){var e=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=Ft(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');var a="{".concat(e.join(","),"}");if(o)return r?'\nlabel_map(\n histogram_quantiles("__name__", 0.5, 0.95, 0.99, sum(rate('.concat(a,')) by (vmrange, le)),\n "__name__",\n "0.5", "q50",\n "0.95", "q95",\n "0.99", "q99",\n)'):"\nwith (q = histogram_quantile(0.95, sum(rate(".concat(a,')) by (instance, vmrange, le))) (\n alias(min(q), "q95min"),\n alias(max(q), "q95max"),\n alias(avg(q), "q95avg"),\n)');var u=i?"rollup_rate(".concat(a,")"):"rollup(".concat(a,")");return"\nwith (q = ".concat(u,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,r,i,o]),y=Uf({predefinedQuery:[g],visible:!0,customStep:c,showAllSeries:v}),_=y.isLoading,b=y.graphData,D=y.error,w=y.warning;return Vr("div",{className:wo()({"vm-explore-metrics-graph":!0,"vm-explore-metrics-graph_mobile":u}),children:[_&&Vr(Qf,{}),D&&Vr(ta,{variant:"error",children:D}),w&&Vr(ta,{variant:"warning",children:Vr("div",{className:"vm-explore-metrics-graph__warning",children:[Vr("p",{children:w}),Vr(fa,{color:"warning",variant:"outlined",onClick:function(){m(!0)},children:"Show all"})]})}),b&&f&&Vr(Nf,{data:b,period:f,customStep:c,query:[g],yaxis:s,setYaxisLimits:function(e){d({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:function(e){var t=e.from,n=e.to;h({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:a})]})},jh=function(e){var t=e.name,n=e.index,r=e.length,i=e.isBucket,o=e.rateEnabled,a=e.onChangeRate,u=e.onRemoveItem,l=e.onChangeOrder,c=Xo().isMobile,s=Ft(ee(!1),2),f=s[0],d=s[1],h=function(){u(t)},p=function(){l(t,n,n+1)},v=function(){l(t,n,n-1)};return Vr("div",c?{className:"vm-explore-metrics-item-header vm-explore-metrics-item-header_mobile",children:[Vr("div",{className:"vm-explore-metrics-item-header__name",children:t}),Vr(fa,{variant:"text",size:"small",startIcon:Vr(yo,{}),onClick:function(){d(!0)}}),f&&Vr(va,{title:t,onClose:function(){d(!1)},children:Vr("div",{className:"vm-explore-metrics-item-header-modal",children:[Vr("div",{className:"vm-explore-metrics-item-header-modal-order",children:[Vr(fa,{startIcon:Vr(ao,{}),variant:"outlined",onClick:v,disabled:0===n}),Vr("p",{children:["position:",Vr("span",{className:"vm-explore-metrics-item-header-modal-order__index",children:["#",n+1]})]}),Vr(fa,{endIcon:Vr(oo,{}),variant:"outlined",onClick:p,disabled:n===r-1})]}),!i&&Vr("div",{className:"vm-explore-metrics-item-header-modal__rate",children:[Vr(Tf,{label:Vr("span",{children:["enable ",Vr("code",{children:"rate()"})]}),value:o,onChange:a,fullWidth:!0}),Vr("p",{children:"calculates the average per-second speed of metrics change"})]}),Vr(fa,{startIcon:Vr(ji,{}),color:"error",variant:"outlined",onClick:h,fullWidth:!0,children:"Remove graph"})]})})]}:{className:"vm-explore-metrics-item-header",children:[Vr("div",{className:"vm-explore-metrics-item-header-order",children:[Vr(ma,{title:"move graph up",children:Vr(fa,{className:"vm-explore-metrics-item-header-order__up",startIcon:Vr(Wi,{}),variant:"text",color:"gray",size:"small",onClick:v})}),Vr("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Vr(ma,{title:"move graph down",children:Vr(fa,{className:"vm-explore-metrics-item-header-order__down",startIcon:Vr(Wi,{}),variant:"text",color:"gray",size:"small",onClick:p})})]}),Vr("div",{className:"vm-explore-metrics-item-header__name",children:t}),!i&&Vr("div",{className:"vm-explore-metrics-item-header__rate",children:Vr(ma,{title:"calculates the average per-second speed of metric's change",children:Vr(Tf,{label:Vr("span",{children:["enable ",Vr("code",{children:"rate()"})]}),value:o,onChange:a})})}),Vr("div",{className:"vm-explore-metrics-item-header__close",children:Vr(ma,{title:"close graph",children:Vr(fa,{startIcon:Vr(ji,{}),variant:"text",color:"gray",size:"small",onClick:h})})})]})},$h=function(e){var t=e.name,n=e.job,r=e.instance,i=e.index,o=e.length,a=e.size,u=e.onRemoveItem,l=e.onChangeOrder,c=ae((function(){return/_sum?|_total?|_count?/.test(t)}),[t]),s=ae((function(){return/_bucket?/.test(t)}),[t]),f=Ft(ee(c),2),d=f[0],h=f[1],p=bo(document.body),v=ae(a.height,[a,p]);return ne((function(){h(c)}),[n]),Vr("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Vr(jh,{name:t,index:i,length:o,isBucket:s,rateEnabled:d,size:a.id,onChangeRate:h,onRemoveItem:u,onChangeOrder:l}),Vr(zh,{name:t,job:n,instance:r,rateEnabled:d,isBucket:s,height:v},"".concat(t,"_").concat(n,"_").concat(r,"_").concat(d))]})},Hh=function(e){var t=e.value,n=e.list,r=e.label,i=e.placeholder,o=e.noOptionsText,a=e.clearable,u=void 0!==a&&a,l=e.searchable,c=void 0!==l&&l,s=e.autofocus,f=e.onChange,d=Wr().isDarkTheme,h=Xo().isMobile,p=Ft(ee(""),2),v=p[0],m=p[1],g=ie(null),y=Ft(ee(!1),2),_=y[0],b=y[1],D=ie(null),w=ae((function(){return Array.isArray(t)}),[t]),x=ae((function(){return Array.isArray(t)?t:void 0}),[w,t]),k=ae((function(){return _?v:Array.isArray(t)?"":t}),[t,v,_,w]),C=ae((function(){return _?v||"(.+)":""}),[v,_]),A=function(){D.current&&D.current.blur()},E=function(e){f(e),w||(b(!1),A()),w&&D.current&&D.current.focus()},S=function(e){return function(t){E(e),t.stopPropagation()}},N=function(e){D.current!==e.target&&b(!1)};return ne((function(){m(""),_&&D.current&&D.current.focus(),_||A()}),[_,D]),ne((function(){s&&D.current&&!h&&D.current.focus()}),[s,D]),ne((function(){return window.addEventListener("keyup",N),function(){window.removeEventListener("keyup",N)}}),[]),Vr("div",{className:wo()({"vm-select":!0,"vm-select_dark":d}),children:[Vr("div",{className:"vm-select-input",onClick:function(e){e.target instanceof HTMLInputElement||b((function(e){return!e}))},ref:g,children:[Vr("div",{className:"vm-select-input-content",children:[!h&&x&&x.map((function(e){return Vr("div",{className:"vm-select-input-content__selected",children:[Vr("span",{children:e}),Vr("div",{onClick:S(e),children:Vr(ji,{})})]},e)})),h&&!(null===x||void 0===x||!x.length)&&Vr("span",{className:"vm-select-input-content__counter",children:["selected ",x.length]}),!h||h&&(!x||!(null!==x&&void 0!==x&&x.length))&&Vr("input",{value:k,type:"text",placeholder:i,onInput:function(e){m(e.target.value)},onFocus:function(){b(!0)},ref:D,readOnly:h||!c})]}),r&&Vr("span",{className:"vm-text-field__label",children:r}),u&&t&&Vr("div",{className:"vm-select-input__icon",onClick:S(""),children:Vr(ji,{})}),Vr("div",{className:wo()({"vm-select-input__icon":!0,"vm-select-input__icon_open":_}),children:Vr(Qi,{})})]}),Vr(Ff,{label:r,value:C,options:n,anchor:g,selected:x,maxWords:10,minLength:0,fullWidth:!0,noOptionsText:o,onSelect:E,onOpenAutocomplete:b})]})},Uh=Or.map((function(e){return e.id})),Yh=function(e){var t=e.jobs,n=e.instances,r=e.names,i=e.job,o=e.instance,a=e.size,u=e.selectedMetrics,l=e.onChangeJob,c=e.onChangeInstance,s=e.onToggleMetric,f=e.onChangeSize,d=ae((function(){return i?"":"No instances. Please select job"}),[i]),h=ae((function(){return i?"":"No metric names. Please select job"}),[i]),p=Xo().isMobile;return Vr("div",{className:wo()({"vm-explore-metrics-header":!0,"vm-explore-metrics-header_mobile":p,"vm-block":!0,"vm-block_mobile":p}),children:[Vr("div",{className:"vm-explore-metrics-header__job",children:Vr(Hh,{value:i,list:t,label:"Job",placeholder:"Please select job",onChange:l,autofocus:!i,searchable:!0})}),Vr("div",{className:"vm-explore-metrics-header__instance",children:Vr(Hh,{value:o,list:n,label:"Instance",placeholder:"Please select instance",onChange:c,noOptionsText:d,clearable:!0,searchable:!0})}),Vr("div",{className:"vm-explore-metrics-header__size",children:Vr(Hh,{label:"Size graphs",value:a,list:Uh,onChange:f})}),Vr("div",{className:"vm-explore-metrics-header-metrics",children:Vr(Hh,{label:"Metrics",value:u,list:r,placeholder:"Search metric name",onChange:s,noOptionsText:h,clearable:!0,searchable:!0})})]})},Vh=Br("job",""),qh=Br("instance",""),Wh=Br("metrics",""),Qh=Br("size",""),Gh=Or.find((function(e){return Qh?e.id===Qh:e.isDefault}))||Or[0],Jh=function(){var e=Ft(ee(Vh),2),t=e[0],n=e[1],r=Ft(ee(qh),2),i=r[0],o=r[1],a=Ft(ee(Wh?Wh.split("&"):[]),2),u=a[0],l=a[1],c=Ft(ee(Gh),2),s=c[0],f=c[1];!function(e){var t=e.job,n=e.instance,r=e.metrics,i=e.size,o=Ni(),a=o.duration,u=o.relativeTime,l=o.period.date,c=$o().customStep,s=Ft(pr(),2)[1],f=function(){var e,o=id((mr(e={},"g0.range_input",a),mr(e,"g0.end_input",l),mr(e,"g0.step_input",c),mr(e,"g0.relative_time",u),mr(e,"size",i),mr(e,"job",t),mr(e,"instance",n),mr(e,"metrics",r),e));s(o)};ne(f,[a,u,l,c,t,n,r,i]),ne(f,[])}({job:t,instance:i,metrics:u.join("&"),size:s.id});var d=function(){var e=Wr().serverUrl,t=Ni().period,n=Ft(ee([]),2),r=n[0],i=n[1],o=Ft(ee(!1),2),a=o[0],u=o[1],l=Ft(ee(),2),c=l[0],s=l[1],f=ae((function(){return function(e,t){return"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end)}(e,t)}),[e,t]);return ne((function(){var e=function(){var e=tu(Xa().mark((function e(){var t,n,r;return Xa().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u(!0),e.prev=1,e.next=4,fetch(f);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],i(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?s(void 0):s("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&s("".concat(e.t0.name,": ").concat(e.t0.message));case 16:u(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();e().catch(console.error)}),[f]),{jobs:r,isLoading:a,error:c}}(),h=d.jobs,p=d.isLoading,v=d.error,m=Ph(t),g=m.instances,y=m.isLoading,_=m.error,b=Rh(t,i),D=b.names,w=b.isLoading,x=b.error,k=ae((function(){return p||y||w}),[p,y,w]),C=ae((function(){return v||_||x}),[v,_,x]),A=function(e){l(e?function(t){return t.includes(e)?t.filter((function(t){return t!==e})):[].concat(Ot(t),[e])}:[])},E=function(e,t,n){var r=n>u.length-1;n<0||r||l((function(e){var r=Ot(e),i=Ft(r.splice(t,1),1)[0];return r.splice(n,0,i),r}))};return ne((function(){i&&g.length&&!g.includes(i)&&o("")}),[g,i]),Vr("div",{className:"vm-explore-metrics",children:[Vr(Yh,{jobs:h,instances:g,names:D,job:t,size:s.id,instance:i,selectedMetrics:u,onChangeJob:n,onChangeSize:function(e){var t=Or.find((function(t){return t.id===e}));t&&f(t)},onChangeInstance:o,onToggleMetric:A}),k&&Vr(Qf,{}),C&&Vr(ta,{variant:"error",children:C}),!t&&Vr(ta,{variant:"info",children:"Please select job to see list of metric names."}),t&&!u.length&&Vr(ta,{variant:"info",children:"Please select metric names to see the graphs."}),Vr("div",{className:"vm-explore-metrics-body",children:u.map((function(e,n){return Vr($h,{name:e,job:t,instance:i,index:n,length:u.length,size:s,onRemoveItem:A,onChangeOrder:E},e)}))})]})},Zh=function(){var e=ra().showInfoMessage,n=function(t){return function(){var n;n=t,navigator.clipboard.writeText("<".concat(n,"/>")),e({text:"<".concat(n,"/> has been copied"),type:"success"})}};return Vr("div",{className:"vm-preview-icons",children:Object.entries(t).map((function(e){var t=Ft(e,2),r=t[0],i=t[1];return Vr("div",{className:"vm-preview-icons-item",onClick:n(r),children:[Vr("div",{className:"vm-preview-icons-item__svg",children:i()}),Vr("div",{className:"vm-preview-icons-item__name",children:"<".concat(r,"/>")})]},r)}))})},Kh=function(){var e=Ft(ee(!1),2),t=e[0],n=e[1];return Vr(g,{children:Vr(cr,{children:Vr(la,{children:Vr(g,{children:[Vr(Lh,{onLoaded:n}),t&&Vr(nr,{children:Vr(er,{path:"/",element:Vr(su,{}),children:[Vr(er,{path:kr.home,element:Vr(ud,{})}),Vr(er,{path:kr.metrics,element:Vr(Jh,{})}),Vr(er,{path:kr.cardinality,element:Vr(Ah,{})}),Vr(er,{path:kr.topQueries,element:Vr(Fh,{})}),Vr(er,{path:kr.trace,element:Vr(Ih,{})}),Vr(er,{path:kr.dashboards,element:Vr(Qd,{})}),Vr(er,{path:kr.icons,element:Vr(Zh,{})})]})})]})})})})},Xh=function(e){e&&n.e(27).then(n.bind(n,27)).then((function(t){var n=t.getCLS,r=t.getFID,i=t.getFCP,o=t.getLCP,a=t.getTTFB;n(e),r(e),i(e),o(e),a(e)}))},ep=document.getElementById("root");ep&&Ve(Vr(Kh,{}),ep),Xh()}()}(); \ No newline at end of file diff --git a/app/vmselect/vmui/static/js/main.44784d74.js.LICENSE.txt b/app/vmselect/vmui/static/js/main.0be86920.js.LICENSE.txt similarity index 100% rename from app/vmselect/vmui/static/js/main.44784d74.js.LICENSE.txt rename to app/vmselect/vmui/static/js/main.0be86920.js.LICENSE.txt diff --git a/app/vmselect/vmui/static/js/main.44784d74.js b/app/vmselect/vmui/static/js/main.44784d74.js deleted file mode 100644 index 3c1a12ad4..000000000 --- a/app/vmselect/vmui/static/js/main.44784d74.js +++ /dev/null @@ -1,2 +0,0 @@ -/*! For license information please see main.44784d74.js.LICENSE.txt */ -!function(){var e={680:function(e,t,n){"use strict";var r=n(476),i=n(962),o=i(r("String.prototype.indexOf"));e.exports=function(e,t){var n=r(e,!!t);return"function"===typeof n&&o(e,".prototype.")>-1?i(n):n}},962:function(e,t,n){"use strict";var r=n(199),i=n(476),o=i("%Function.prototype.apply%"),a=i("%Function.prototype.call%"),u=i("%Reflect.apply%",!0)||r.call(a,o),l=i("%Object.getOwnPropertyDescriptor%",!0),c=i("%Object.defineProperty%",!0),s=i("%Math.max%");if(c)try{c({},"a",{value:1})}catch(d){c=null}e.exports=function(e){var t=u(r,a,arguments);if(l&&c){var n=l(t,"length");n.configurable&&c(t,"length",{value:1+s(0,e.length-(arguments.length-1))})}return t};var f=function(){return u(r,o,arguments)};c?c(e.exports,"apply",{value:f}):e.exports.apply=f},123:function(e,t){var n;!function(){"use strict";var r={}.hasOwnProperty;function i(){for(var e=[],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),i=n%60;return(t<=0?"+":"-")+g(r,2,"0")+":"+g(i,2,"0")},m:function e(t,n){if(t.date()1)return e(a[0])}else{var u=t.name;b[u]=t,i=u}return!r&&i&&(_=i),i||!r&&_},x=function(e,t){if(D(e))return e.clone();var n="object"==typeof t?t:{};return n.date=e,n.args=arguments,new C(n)},k=y;k.l=w,k.i=D,k.w=function(e,t){return x(e,{locale:t.$L,utc:t.$u,x:t.$x,$offset:t.$offset})};var C=function(){function m(e){this.$L=w(e.locale,null,!0),this.parse(e)}var g=m.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(p);if(r){var i=r[2]-1||0,o=(r[7]||"0").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,o)}}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()===h)},g.isSame=function(e,t){var n=x(e);return this.startOf(t)<=n&&n<=this.endOf(t)},g.isAfter=function(e,t){return x(e)=0&&(o[f]=parseInt(s,10))}var d=o[3],h=24===d?0:d,p=o[0]+"-"+o[1]+"-"+o[2]+" "+h+":"+o[4]+":"+o[5]+":000",v=+t;return(i.utc(p).valueOf()-(v-=v%1e3))/6e4},l=r.prototype;l.tz=function(e,t){void 0===e&&(e=o);var n=this.utcOffset(),r=this.toDate(),a=r.toLocaleString("en-US",{timeZone:e}),u=Math.round((r-new Date(a))/1e3/60),l=i(a).$set("millisecond",this.$ms).utcOffset(15*-Math.round(r.getTimezoneOffset()/15)-u,!0);if(t){var c=l.utcOffset();l=l.add(n-c,"minute")}return l.$x.$timezone=e,l},l.offsetName=function(e){var t=this.$x.$timezone||i.tz.guess(),n=a(this.valueOf(),t,{timeZoneName:e}).find((function(e){return"timezonename"===e.type.toLowerCase()}));return n&&n.value};var c=l.startOf;l.startOf=function(e,t){if(!this.$x||!this.$x.$timezone)return c.call(this,e,t);var n=i(this.format("YYYY-MM-DD HH:mm:ss:SSS"));return c.call(n,e,t).tz(this.$x.$timezone,!0)},i.tz=function(e,t,n){var r=n&&t,a=n||t||o,l=u(+i(),a);if("string"!=typeof e)return i(e).tz(a);var c=function(e,t,n){var r=e-60*t*1e3,i=u(r,n);if(t===i)return[r,t];var o=u(r-=60*(i-t)*1e3,n);return i===o?[r,i]:[e-60*Math.min(i,o)*1e3,Math.max(i,o)]}(i.utc(e,r).valueOf(),l,a),s=c[0],f=c[1],d=i(s).utcOffset(f);return d.$x.$timezone=a,d},i.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},i.tz.setDefault=function(e){o=e}}}()},635:function(e){e.exports=function(){"use strict";var e="minute",t=/[+-]\d\d(?::?\d\d)?/g,n=/([+-]|\d\d)/g;return function(r,i,o){var a=i.prototype;o.utc=function(e){return new i({date:e,utc:!0,args:arguments})},a.utc=function(t){var n=o(this.toDate(),{locale:this.$L,utc:!0});return t?n.add(this.utcOffset(),e):n},a.local=function(){return o(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 c=a.utcOffset;a.utcOffset=function(r,i){var o=this.$utils().u;if(o(r))return this.$u?0:o(this.$offset)?c.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 i=(""+r[0]).match(n)||["-",0,0],o=i[0],a=60*+i[1]+ +i[2];return 0===a?0:"+"===o?a:-a}(r),null===r))return this;var a=Math.abs(r)<=16?60*r:r,u=this;if(i)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 s=a.format;a.format=function(e){var t=e||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return s.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 f=a.toDate;a.toDate=function(e){return"s"===e&&this.$offset?o(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():f.call(this)};var d=a.diff;a.diff=function(e,t,n){if(e&&this.$u===e.$u)return d.call(this,e,t,n);var r=this.local(),i=o(e).local();return d.call(r,i,t,n)}}}()},781:function(e){"use strict";var t="Function.prototype.bind called on incompatible ",n=Array.prototype.slice,r=Object.prototype.toString,i="[object Function]";e.exports=function(e){var o=this;if("function"!==typeof o||r.call(o)!==i)throw new TypeError(t+o);for(var a,u=n.call(arguments,1),l=function(){if(this instanceof a){var t=o.apply(this,u.concat(n.call(arguments)));return Object(t)===t?t:this}return o.apply(e,u.concat(n.call(arguments)))},c=Math.max(0,o.length-u.length),s=[],f=0;f1&&"boolean"!==typeof t)throw new a('"allowMissing" argument must be a boolean');if(null===k(/^%?[^%]*%?$/,e))throw new i("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var n=E(e),r=n.length>0?n[0]:"",o=S("%"+r+"%",t),u=o.name,c=o.value,s=!1,f=o.alias;f&&(r=f[0],D(n,b([0,1],f)));for(var d=1,h=!0;d=n.length){var y=l(c,p);c=(h=!!y)&&"get"in y&&!("originalValue"in y.get)?y.get:c[p]}else h=_(c,p),c=c[p];h&&!s&&(v[u]=c)}}return c}},520:function(e,t,n){"use strict";var r="undefined"!==typeof Symbol&&Symbol,i=n(541);e.exports=function(){return"function"===typeof r&&("function"===typeof Symbol&&("symbol"===typeof r("foo")&&("symbol"===typeof Symbol("bar")&&i())))}},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 i=Object.getOwnPropertyDescriptor(e,t);if(42!==i.value||!0!==i.enumerable)return!1}return!0}},838:function(e,t,n){"use strict";var r=n(199);e.exports=r.call(Function.call,Object.prototype.hasOwnProperty)},936:function(e,t,n){var r=/^\s+|\s+$/g,i=/^[-+]0x[0-9a-f]+$/i,o=/^0b[01]+$/i,a=/^0o[0-7]+$/i,u=parseInt,l="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,c="object"==typeof self&&self&&self.Object===Object&&self,s=l||c||Function("return this")(),f=Object.prototype.toString,d=Math.max,h=Math.min,p=function(){return s.Date.now()};function v(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function m(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(v(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=v(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=e.replace(r,"");var n=o.test(e);return n||a.test(e)?u(e.slice(2),n?2:8):i.test(e)?NaN:+e}e.exports=function(e,t,n){var r,i,o,a,u,l,c=0,s=!1,f=!1,g=!0;if("function"!=typeof e)throw new TypeError("Expected a function");function y(t){var n=r,o=i;return r=i=void 0,c=t,a=e.apply(o,n)}function _(e){return c=e,u=setTimeout(D,t),s?y(e):a}function b(e){var n=e-l;return void 0===l||n>=t||n<0||f&&e-c>=o}function D(){var e=p();if(b(e))return w(e);u=setTimeout(D,function(e){var n=t-(e-l);return f?h(n,o-(e-c)):n}(e))}function w(e){return u=void 0,g&&r?y(e):(r=i=void 0,a)}function x(){var e=p(),n=b(e);if(r=arguments,i=this,l=e,n){if(void 0===u)return _(l);if(f)return u=setTimeout(D,t),y(l)}return void 0===u&&(u=setTimeout(D,t)),a}return t=m(t)||0,v(n)&&(s=!!n.leading,o=(f="maxWait"in n)?d(m(n.maxWait)||0,t):o,g="trailing"in n?!!n.trailing:g),x.cancel=function(){void 0!==u&&clearTimeout(u),c=0,r=l=i=u=void 0},x.flush=function(){return void 0===u?a:w(p())},x}},7:function(e,t,n){var r="__lodash_hash_undefined__",i="[object Function]",o="[object GeneratorFunction]",a=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,u=/^\w*$/,l=/^\./,c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,s=/\\(\\)?/g,f=/^\[object .+?Constructor\]$/,d="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,h="object"==typeof self&&self&&self.Object===Object&&self,p=d||h||Function("return this")();var v=Array.prototype,m=Function.prototype,g=Object.prototype,y=p["__core-js_shared__"],_=function(){var e=/[^.]+$/.exec(y&&y.keys&&y.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),b=m.toString,D=g.hasOwnProperty,w=g.toString,x=RegExp("^"+b.call(D).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),k=p.Symbol,C=v.splice,A=P(p,"Map"),E=P(Object,"create"),S=k?k.prototype:void 0,N=S?S.toString:void 0;function F(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=M(n,e);return r<0?n.push([e,t]):n[r][1]=t,this},O.prototype.clear=function(){this.__data__={hash:new F,map:new(A||T),string:new F}},O.prototype.delete=function(e){return I(this,e).delete(e)},O.prototype.get=function(e){return I(this,e).get(e)},O.prototype.has=function(e){return I(this,e).has(e)},O.prototype.set=function(e,t){return I(this,e).set(e,t),this};var R=j((function(e){var t;e=null==(t=e)?"":function(e){if("string"==typeof e)return e;if(U(e))return N?N.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(c,(function(e,t,r,i){n.push(r?i.replace(s,"$1"):t||e)})),n}));function z(e){if("string"==typeof e||U(e))return e;var t=e+"";return"0"==t&&1/e==-1/0?"-0":t}function j(e,t){if("function"!=typeof e||t&&"function"!=typeof t)throw new TypeError("Expected a function");var n=function n(){var r=arguments,i=t?t.apply(this,r):r[0],o=n.cache;if(o.has(i))return o.get(i);var a=e.apply(this,r);return n.cache=o.set(i,a),a};return n.cache=new(j.Cache||O),n}j.Cache=O;var $=Array.isArray;function H(e){var t=typeof e;return!!e&&("object"==t||"function"==t)}function U(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:B(e,t);return void 0===r?n:r}},61:function(e,t,n){var r="Expected a function",i=/^\s+|\s+$/g,o=/^[-+]0x[0-9a-f]+$/i,a=/^0b[01]+$/i,u=/^0o[0-7]+$/i,l=parseInt,c="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g,s="object"==typeof self&&self&&self.Object===Object&&self,f=c||s||Function("return this")(),d=Object.prototype.toString,h=Math.max,p=Math.min,v=function(){return f.Date.now()};function m(e,t,n){var i,o,a,u,l,c,s=0,f=!1,d=!1,m=!0;if("function"!=typeof e)throw new TypeError(r);function _(t){var n=i,r=o;return i=o=void 0,s=t,u=e.apply(r,n)}function b(e){return s=e,l=setTimeout(w,t),f?_(e):u}function D(e){var n=e-c;return void 0===c||n>=t||n<0||d&&e-s>=a}function w(){var e=v();if(D(e))return x(e);l=setTimeout(w,function(e){var n=t-(e-c);return d?p(n,a-(e-s)):n}(e))}function x(e){return l=void 0,m&&i?_(e):(i=o=void 0,u)}function k(){var e=v(),n=D(e);if(i=arguments,o=this,c=e,n){if(void 0===l)return b(c);if(d)return l=setTimeout(w,t),_(c)}return void 0===l&&(l=setTimeout(w,t)),u}return t=y(t)||0,g(n)&&(f=!!n.leading,a=(d="maxWait"in n)?h(y(n.maxWait)||0,t):a,m="trailing"in n?!!n.trailing:m),k.cancel=function(){void 0!==l&&clearTimeout(l),s=0,i=c=o=l=void 0},k.flush=function(){return void 0===l?u:x(v())},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]"==d.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(i,"");var n=a.test(e);return n||u.test(e)?l(e.slice(2),n?2:8):o.test(e)?NaN:+e}e.exports=function(e,t,n){var i=!0,o=!0;if("function"!=typeof e)throw new TypeError(r);return g(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),m(e,t,{leading:i,maxWait:t,trailing:o})}},154:function(e,t,n){var r="function"===typeof Map&&Map.prototype,i=Object.getOwnPropertyDescriptor&&r?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,o=r&&i&&"function"===typeof i.get?i.get:null,a=r&&Map.prototype.forEach,u="function"===typeof Set&&Set.prototype,l=Object.getOwnPropertyDescriptor&&u?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,c=u&&l&&"function"===typeof l.get?l.get:null,s=u&&Set.prototype.forEach,f="function"===typeof WeakMap&&WeakMap.prototype?WeakMap.prototype.has:null,d="function"===typeof WeakSet&&WeakSet.prototype?WeakSet.prototype.has:null,h="function"===typeof WeakRef&&WeakRef.prototype?WeakRef.prototype.deref:null,p=Boolean.prototype.valueOf,v=Object.prototype.toString,m=Function.prototype.toString,g=String.prototype.match,y=String.prototype.slice,_=String.prototype.replace,b=String.prototype.toUpperCase,D=String.prototype.toLowerCase,w=RegExp.prototype.test,x=Array.prototype.concat,k=Array.prototype.join,C=Array.prototype.slice,A=Math.floor,E="function"===typeof BigInt?BigInt.prototype.valueOf:null,S=Object.getOwnPropertySymbols,N="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?Symbol.prototype.toString:null,F="function"===typeof Symbol&&"object"===typeof Symbol.iterator,T="function"===typeof Symbol&&Symbol.toStringTag&&(typeof Symbol.toStringTag===F||"symbol")?Symbol.toStringTag:null,O=Object.prototype.propertyIsEnumerable,M=("function"===typeof Reflect?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(e){return e.__proto__}:null);function B(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?-A(-e):A(e);if(r!==e){var i=String(r),o=y.call(t,i.length+1);return _.call(i,n,"$&_")+"."+_.call(_.call(o,/([0-9]{3})/g,"$&_"),/_$/,"")}}return _.call(t,n,"$&_")}var L=n(654),I=L.custom,P=H(I)?I:null;function R(e,t,n){var r="double"===(n.quoteStyle||t)?'"':"'";return r+e+r}function z(e){return _.call(String(e),/"/g,""")}function j(e){return"[object Array]"===V(e)&&(!T||!("object"===typeof e&&T in e))}function $(e){return"[object RegExp]"===V(e)&&(!T||!("object"===typeof e&&T in e))}function H(e){if(F)return e&&"object"===typeof e&&e instanceof Symbol;if("symbol"===typeof e)return!0;if(!e||"object"!==typeof e||!N)return!1;try{return N.call(e),!0}catch(t){}return!1}e.exports=function e(t,n,r,i){var u=n||{};if(Y(u,"quoteStyle")&&"single"!==u.quoteStyle&&"double"!==u.quoteStyle)throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Y(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=!Y(u,"customInspect")||u.customInspect;if("boolean"!==typeof l&&"symbol"!==l)throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Y(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(Y(u,"numericSeparator")&&"boolean"!==typeof u.numericSeparator)throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var v=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 W(t,u);if("number"===typeof t){if(0===t)return 1/0/t>0?"0":"-0";var b=String(t);return v?B(t,b):b}if("bigint"===typeof t){var w=String(t)+"n";return v?B(t,w):w}var A="undefined"===typeof u.depth?5:u.depth;if("undefined"===typeof r&&(r=0),r>=A&&A>0&&"object"===typeof t)return j(t)?"[Array]":"[Object]";var S=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 i)i=[];else if(q(i,t)>=0)return"[Circular]";function I(t,n,o){if(n&&(i=C.call(i)).push(n),o){var a={depth:u.depth};return Y(u,"quoteStyle")&&(a.quoteStyle=u.quoteStyle),e(t,a,r+1,i)}return e(t,u,r+1,i)}if("function"===typeof t&&!$(t)){var U=function(e){if(e.name)return e.name;var t=g.call(m.call(e),/^function\s*([\w$]+)/);if(t)return t[1];return null}(t),Q=X(t,I);return"[Function"+(U?": "+U:" (anonymous)")+"]"+(Q.length>0?" { "+k.call(Q,", ")+" }":"")}if(H(t)){var ee=F?_.call(String(t),/^(Symbol\(.*\))_[^)]*$/,"$1"):N.call(t);return"object"!==typeof t||F?ee:G(ee)}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 te="<"+D.call(String(t.nodeName)),ne=t.attributes||[],re=0;re"}if(j(t)){if(0===t.length)return"[]";var ie=X(t,I);return S&&!function(e){for(var t=0;t=0)return!1;return!0}(ie)?"["+K(ie,S)+"]":"[ "+k.call(ie,", ")+" ]"}if(function(e){return"[object Error]"===V(e)&&(!T||!("object"===typeof e&&T in e))}(t)){var oe=X(t,I);return"cause"in Error.prototype||!("cause"in t)||O.call(t,"cause")?0===oe.length?"["+String(t)+"]":"{ ["+String(t)+"] "+k.call(oe,", ")+" }":"{ ["+String(t)+"] "+k.call(x.call("[cause]: "+I(t.cause),oe),", ")+" }"}if("object"===typeof t&&l){if(P&&"function"===typeof t[P]&&L)return L(t,{depth:A-r});if("symbol"!==l&&"function"===typeof t.inspect)return t.inspect()}if(function(e){if(!o||!e||"object"!==typeof e)return!1;try{o.call(e);try{c.call(e)}catch(te){return!0}return e instanceof Map}catch(t){}return!1}(t)){var ae=[];return a&&a.call(t,(function(e,n){ae.push(I(n,t,!0)+" => "+I(e,t))})),Z("Map",o.call(t),ae,S)}if(function(e){if(!c||!e||"object"!==typeof e)return!1;try{c.call(e);try{o.call(e)}catch(t){return!0}return e instanceof Set}catch(n){}return!1}(t)){var ue=[];return s&&s.call(t,(function(e){ue.push(I(e,t))})),Z("Set",c.call(t),ue,S)}if(function(e){if(!f||!e||"object"!==typeof e)return!1;try{f.call(e,f);try{d.call(e,d)}catch(te){return!0}return e instanceof WeakMap}catch(t){}return!1}(t))return J("WeakMap");if(function(e){if(!d||!e||"object"!==typeof e)return!1;try{d.call(e,d);try{f.call(e,f)}catch(te){return!0}return e instanceof WeakSet}catch(t){}return!1}(t))return J("WeakSet");if(function(e){if(!h||!e||"object"!==typeof e)return!1;try{return h.call(e),!0}catch(t){}return!1}(t))return J("WeakRef");if(function(e){return"[object Number]"===V(e)&&(!T||!("object"===typeof e&&T in e))}(t))return G(I(Number(t)));if(function(e){if(!e||"object"!==typeof e||!E)return!1;try{return E.call(e),!0}catch(t){}return!1}(t))return G(I(E.call(t)));if(function(e){return"[object Boolean]"===V(e)&&(!T||!("object"===typeof e&&T in e))}(t))return G(p.call(t));if(function(e){return"[object String]"===V(e)&&(!T||!("object"===typeof e&&T in e))}(t))return G(I(String(t)));if(!function(e){return"[object Date]"===V(e)&&(!T||!("object"===typeof e&&T in e))}(t)&&!$(t)){var le=X(t,I),ce=M?M(t)===Object.prototype:t instanceof Object||t.constructor===Object,se=t instanceof Object?"":"null prototype",fe=!ce&&T&&Object(t)===t&&T in t?y.call(V(t),8,-1):se?"Object":"",de=(ce||"function"!==typeof t.constructor?"":t.constructor.name?t.constructor.name+" ":"")+(fe||se?"["+k.call(x.call([],fe||[],se||[]),": ")+"] ":"");return 0===le.length?de+"{}":S?de+"{"+K(le,S)+"}":de+"{ "+k.call(le,", ")+" }"}return String(t)};var U=Object.prototype.hasOwnProperty||function(e){return e in this};function Y(e,t){return U.call(e,t)}function V(e){return v.call(e)}function q(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 W(y.call(e,0,t.maxStringLength),t)+r}return R(_.call(_.call(e,/(['\\])/g,"\\$1"),/[\x00-\x1f]/g,Q),"single",t)}function Q(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":"")+b.call(t.toString(16))}function G(e){return"Object("+e+")"}function J(e){return e+" { ? }"}function Z(e,t,n,r){return e+" ("+t+") {"+(r?K(n,r):k.call(n,", "))+"}"}function K(e,t){if(0===e.length)return"";var n="\n"+t.prev+t.base;return n+k.call(e,","+n)+"\n"+t.prev}function X(e,t){var n=j(e),r=[];if(n){r.length=e.length;for(var i=0;i-1?e.split(","):e},c=function(e,t,n,r){if(e){var o=n.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,a=/(\[[^[\]]*])/g,u=n.depth>0&&/(\[[^[\]]*])/.exec(o),c=u?o.slice(0,u.index):o,s=[];if(c){if(!n.plainObjects&&i.call(Object.prototype,c)&&!n.allowPrototypes)return;s.push(c)}for(var f=0;n.depth>0&&null!==(u=a.exec(o))&&f=0;--o){var a,u=e[o];if("[]"===u&&n.parseArrays)a=[].concat(i);else{a=n.plainObjects?Object.create(null):{};var c="["===u.charAt(0)&&"]"===u.charAt(u.length-1)?u.slice(1,-1):u,s=parseInt(c,10);n.parseArrays||""!==c?!isNaN(s)&&u!==c&&String(s)===c&&s>=0&&n.parseArrays&&s<=n.arrayLimit?(a=[])[s]=i:"__proto__"!==c&&(a[c]=i):a={0:i}}i=a}return i}(s,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 s="string"===typeof e?function(e,t){var n,c={},s=t.ignoreQueryPrefix?e.replace(/^\?/,""):e,f=t.parameterLimit===1/0?void 0:t.parameterLimit,d=s.split(t.delimiter,f),h=-1,p=t.charset;if(t.charsetSentinel)for(n=0;n-1&&(m=o(m)?[m]:m),i.call(c,v)?c[v]=r.combine(c[v],m):c[v]=m}return c}(e,n):e,f=n.plainObjects?Object.create(null):{},d=Object.keys(s),h=0;h0?C.join(",")||null:void 0}];else if(l(h))B=h;else{var I=Object.keys(C);B=m?I.sort(m):I}for(var P=a&&l(C)&&1===C.length?n+"[]":n,R=0;R0?D+b:""}},837:function(e,t,n){"use strict";var r=n(609),i=Object.prototype.hasOwnProperty,o=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(o(n)){for(var r=[],i=0;i=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||o===r.RFC1738&&(40===s||41===s)?l+=u.charAt(c):s<128?l+=a[s]:s<2048?l+=a[192|s>>6]+a[128|63&s]:s<55296||s>=57344?l+=a[224|s>>12]+a[128|s>>6&63]+a[128|63&s]:(c+=1,s=65536+((1023&s)<<10|1023&u.charCodeAt(c)),l+=a[240|s>>18]+a[128|s>>12&63]+a[128|s>>6&63]+a[128|63&s])}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(o(e)){for(var n=[],r=0;r2&&(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,i,o,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?++o:a};return null==a&&null!=i.vnode&&i.vnode(u),u}function m(){return{current:null}}function g(e){return e.children}function y(e,t){this.props=e,this.context=t}function _(e,t){if(null==t)return e.__?_(e.__,e.__.__k.indexOf(e)+1):null;for(var n;t0?v(m.type,m.props,m.key,m.ref?m.ref:null,m.__v):m)){if(m.__=n,m.__b=n.__b+1,null===(p=w[d])||p&&m.key==p.key&&m.type===p.type)w[d]=void 0;else for(h=0;h2&&(u.children=arguments.length>3?r.call(arguments,2):n),v(e.type,u,i||e.key,o||e.ref,null)}function j(e,t){var n={__c:t="__cC"+l++,__: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(D)},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=s.slice,i={__e:function(e,t,n,r){for(var i,o,a;t=t.__;)if((i=t.__c)&&!i.__)try{if((o=i.constructor)&&null!=o.getDerivedStateFromError&&(i.setState(o.getDerivedStateFromError(e)),a=i.__d),null!=i.componentDidCatch&&(i.componentDidCatch(e,r||{}),a=i.__d),a)return i.__E=i}catch(t){e=t}throw e}},o=0,y.prototype.setState=function(e,t){var n;n=null!=this.__s&&this.__s!==this.state?this.__s:this.__s=d({},this.state),"function"==typeof e&&(e=e(d({},n),this.props)),e&&d(n,e),null!=e&&this.__v&&(t&&this._sb.push(t),D(this))},y.prototype.forceUpdate=function(e){this.__v&&(this.__e=!0,e&&this.__h.push(e),D(this))},y.prototype.render=g,a=[],w.__r=0,l=0;var $,H,U,Y,V=0,q=[],W=[],Q=i.__b,G=i.__r,J=i.diffed,Z=i.__c,K=i.unmount;function X(e,t){i.__h&&i.__h(H,e,V||t),V=0;var n=H.__H||(H.__H={__:[],__h:[]});return e>=n.__.length&&n.__.push({__V:W}),n.__[e]}function ee(e){return V=1,te(ye,e)}function te(e,t,n){var r=X($++,2);if(r.t=e,!r.__c&&(r.__=[n?n(t):ye(void 0,t),function(e){var t=r.__N?r.__N[0]:r.__[0],n=r.t(t,e);t!==n&&(r.__N=[n,r.__[1]],r.__c.setState({}))}],r.__c=H,!H.u)){H.u=!0;var i=H.shouldComponentUpdate;H.shouldComponentUpdate=function(e,t,n){if(!r.__c.__H)return!0;var o=r.__c.__H.__.filter((function(e){return e.__c}));if(o.every((function(e){return!e.__N})))return!i||i.call(this,e,t,n);var a=!1;return o.forEach((function(e){if(e.__N){var t=e.__[0];e.__=e.__N,e.__N=void 0,t!==e.__[0]&&(a=!0)}})),!(!a&&r.__c.props===e)&&(!i||i.call(this,e,t,n))}}return r.__N||r.__}function ne(e,t){var n=X($++,3);!i.__s&&ge(n.__H,t)&&(n.__=e,n.i=t,H.__H.__h.push(n))}function re(e,t){var n=X($++,4);!i.__s&&ge(n.__H,t)&&(n.__=e,n.i=t,H.__h.push(n))}function ie(e){return V=5,ae((function(){return{current:e}}),[])}function oe(e,t,n){V=6,re((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 ae(e,t){var n=X($++,7);return ge(n.__H,t)?(n.__V=e(),n.i=t,n.__h=e,n.__V):n.__}function ue(e,t){return V=8,ae((function(){return e}),t)}function le(e){var t=H.context[e.__c],n=X($++,9);return n.c=e,t?(null==n.__&&(n.__=!0,t.sub(H)),t.props.value):e.__}function ce(e,t){i.useDebugValue&&i.useDebugValue(t?t(e):e)}function se(e){var t=X($++,10),n=ee();return t.__=e,H.componentDidCatch||(H.componentDidCatch=function(e,r){t.__&&t.__(e,r),n[1](e)}),[n[0],function(){n[1](void 0)}]}function fe(){var e=X($++,11);if(!e.__){for(var t=H.__v;null!==t&&!t.__m&&null!==t.__;)t=t.__;var n=t.__m||(t.__m=[0,0]);e.__="P"+n[0]+"-"+n[1]++}return e.__}function de(){for(var e;e=q.shift();)if(e.__P&&e.__H)try{e.__H.__h.forEach(ve),e.__H.__h.forEach(me),e.__H.__h=[]}catch(l){e.__H.__h=[],i.__e(l,e.__v)}}i.__b=function(e){H=null,Q&&Q(e)},i.__r=function(e){G&&G(e),$=0;var t=(H=e.__c).__H;t&&(U===H?(t.__h=[],H.__h=[],t.__.forEach((function(e){e.__N&&(e.__=e.__N),e.__V=W,e.__N=e.i=void 0}))):(t.__h.forEach(ve),t.__h.forEach(me),t.__h=[])),U=H},i.diffed=function(e){J&&J(e);var t=e.__c;t&&t.__H&&(t.__H.__h.length&&(1!==q.push(t)&&Y===i.requestAnimationFrame||((Y=i.requestAnimationFrame)||pe)(de)),t.__H.__.forEach((function(e){e.i&&(e.__H=e.i),e.__V!==W&&(e.__=e.__V),e.i=void 0,e.__V=W}))),U=H=null},i.__c=function(e,t){t.some((function(e){try{e.__h.forEach(ve),e.__h=e.__h.filter((function(e){return!e.__||me(e)}))}catch(o){t.some((function(e){e.__h&&(e.__h=[])})),t=[],i.__e(o,e.__v)}})),Z&&Z(e,t)},i.unmount=function(e){K&&K(e);var t,n=e.__c;n&&n.__H&&(n.__H.__.forEach((function(e){try{ve(e)}catch(e){t=e}})),n.__H=void 0,t&&i.__e(t,n.__v))};var he="function"==typeof requestAnimationFrame;function pe(e){var t,n=function(){clearTimeout(r),he&&cancelAnimationFrame(t),setTimeout(e)},r=setTimeout(n,100);he&&(t=requestAnimationFrame(n))}function ve(e){var t=H,n=e.__c;"function"==typeof n&&(e.__c=void 0,n()),H=t}function me(e){var t=H;e.__c=e.__(),H=t}function ge(e,t){return!e||e.length!==t.length||t.some((function(t,n){return t!==e[n]}))}function ye(e,t){return"function"==typeof t?t(e):t}function _e(e,t){for(var n in t)e[n]=t[n];return e}function be(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 De(e,t){return e===t&&(0!==e||1/e==1/t)||e!=e&&t!=t}function we(e){this.props=e}function xe(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:be(this.props,e)}function r(t){return this.shouldComponentUpdate=n,p(e,t)}return r.displayName="Memo("+(e.displayName||e.name)+")",r.prototype.isReactComponent=!0,r.__f=!0,r}(we.prototype=new y).isPureReactComponent=!0,we.prototype.shouldComponentUpdate=function(e,t){return be(this.props,e)||be(this.state,t)};var ke=i.__b;i.__b=function(e){e.type&&e.type.__f&&e.ref&&(e.props.ref=e.ref,e.ref=null),ke&&ke(e)};var Ce="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.forward_ref")||3911;function Ae(e){function t(t){var n=_e({},t);return delete n.ref,e(n,t.ref||null)}return t.$$typeof=Ce,t.render=t,t.prototype.isReactComponent=t.__f=!0,t.displayName="ForwardRef("+(e.displayName||e.name)+")",t}var Ee=function(e,t){return null==e?null:C(C(e).map(t))},Se={map:Ee,forEach:Ee,count:function(e){return e?C(e).length:0},only:function(e){var t=C(e);if(1!==t.length)throw"Children.only";return t[0]},toArray:C},Ne=i.__e;i.__e=function(e,t,n,r){if(e.then)for(var i,o=t;o=o.__;)if((i=o.__c)&&i.__c)return null==t.__e&&(t.__e=n.__e,t.__k=n.__k),i.__c(e,t);Ne(e,t,n,r)};var Fe=i.unmount;function Te(e,t,n){return e&&(e.__c&&e.__c.__H&&(e.__c.__H.__.forEach((function(e){"function"==typeof e.__c&&e.__c()})),e.__c.__H=null),null!=(e=_e({},e)).__c&&(e.__c.__P===n&&(e.__c.__P=t),e.__c=null),e.__k=e.__k&&e.__k.map((function(e){return Te(e,t,n)}))),e}function Oe(e,t,n){return e&&(e.__v=null,e.__k=e.__k&&e.__k.map((function(e){return Oe(e,t,n)})),e.__c&&e.__c.__P===t&&(e.__e&&n.insertBefore(e.__e,e.__d),e.__c.__e=!0,e.__c.__P=n)),e}function Me(){this.__u=0,this.t=null,this.__b=null}function Be(e){var t=e.__.__c;return t&&t.__a&&t.__a(e)}function Le(e){var t,n,r;function i(i){if(t||(t=e()).then((function(e){n=e.default||e}),(function(e){r=e})),r)throw r;if(!n)throw t;return p(n,i)}return i.displayName="Lazy",i.__f=!0,i}function Ie(){this.u=null,this.o=null}i.unmount=function(e){var t=e.__c;t&&t.__R&&t.__R(),t&&!0===e.__h&&(e.type=null),Fe&&Fe(e)},(Me.prototype=new y).__c=function(e,t){var n=t.__c,r=this;null==r.t&&(r.t=[]),r.t.push(n);var i=Be(r.__v),o=!1,a=function(){o||(o=!0,n.__R=null,i?i(u):u())};n.__R=a;var u=function(){if(!--r.__u){if(r.state.__a){var e=r.state.__a;r.__v.__k[0]=Oe(e,e.__c.__P,e.__c.__O)}var t;for(r.setState({__a:r.__b=null});t=r.t.pop();)t.forceUpdate()}},l=!0===t.__h;r.__u++||l||r.setState({__a:r.__b=r.__v.__k[0]}),e.then(a,a)},Me.prototype.componentWillUnmount=function(){this.t=[]},Me.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]=Te(this.__b,n,r.__O=r.__P)}this.__b=null}var i=t.__a&&p(g,null,e.fallback);return i&&(i.__h=null),[p(g,null,t.__a?null:e.children),i]};var Pe=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)}}),P(p(Re,{context:t.context},e.__v),t.l)):t.l&&t.componentWillUnmount()}function je(e,t){var n=p(ze,{__v:e,i:t});return n.containerInfo=t,n}(Ie.prototype=new y).__a=function(e){var t=this,n=Be(t.__v),r=t.o.get(e);return r[0]++,function(i){var o=function(){t.props.revealOrder?(r.push(i),Pe(t,e,r)):i()};n?n(o):o()}},Ie.prototype.render=function(e){this.u=null,this.o=new Map;var t=C(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},Ie.prototype.componentDidUpdate=Ie.prototype.componentDidMount=function(){var e=this;this.o.forEach((function(t,n){Pe(e,n,t)}))};var $e="undefined"!=typeof Symbol&&Symbol.for&&Symbol.for("react.element")||60103,He=/^(?:accent|alignment|arabic|baseline|cap|clip(?!PathU)|color|dominant|fill|flood|font|glyph(?!R)|horiz|image|letter|lighting|marker(?!H|W|U)|overline|paint|pointer|shape|stop|strikethrough|stroke|text(?!L)|transform|underline|unicode|units|v|vector|vert|word|writing|x(?!C))[A-Z]/,Ue="undefined"!=typeof document,Ye=function(e){return("undefined"!=typeof Symbol&&"symbol"==typeof Symbol()?/fil|che|rad/i:/fil|che|ra/i).test(e)};function Ve(e,t,n){return null==t.__k&&(t.textContent=""),P(e,t),"function"==typeof n&&n(),e?e.__c:null}function qe(e,t,n){return R(e,t),"function"==typeof n&&n(),e?e.__c:null}y.prototype.isReactComponent={},["componentWillMount","componentWillReceiveProps","componentWillUpdate"].forEach((function(e){Object.defineProperty(y.prototype,e,{configurable:!0,get:function(){return this["UNSAFE_"+e]},set:function(t){Object.defineProperty(this,e,{configurable:!0,writable:!0,value:t})}})}));var We=i.event;function Qe(){}function Ge(){return this.cancelBubble}function Je(){return this.defaultPrevented}i.event=function(e){return We&&(e=We(e)),e.persist=Qe,e.isPropagationStopped=Ge,e.isDefaultPrevented=Je,e.nativeEvent=e};var Ze,Ke={configurable:!0,get:function(){return this.class}},Xe=i.vnode;i.vnode=function(e){var t=e.type,n=e.props,r=n;if("string"==typeof t){var i=-1===t.indexOf("-");for(var o in r={},n){var a=n[o];Ue&&"children"===o&&"noscript"===t||"value"===o&&"defaultValue"in n&&null==a||("defaultValue"===o&&"value"in n&&null==n.value?o="value":"download"===o&&!0===a?a="":/ondoubleclick/i.test(o)?o="ondblclick":/^onchange(textarea|input)/i.test(o+t)&&!Ye(n.type)?o="oninput":/^onfocus$/i.test(o)?o="onfocusin":/^onblur$/i.test(o)?o="onfocusout":/^on(Ani|Tra|Tou|BeforeInp|Compo)/.test(o)?o=o.toLowerCase():i&&He.test(o)?o=o.replace(/[A-Z0-9]/g,"-$&").toLowerCase():null===a&&(a=void 0),/^oninput$/i.test(o)&&(o=o.toLowerCase(),r[o]&&(o="oninputCapture")),r[o]=a)}"select"==t&&r.multiple&&Array.isArray(r.value)&&(r.value=C(n.children).forEach((function(e){e.props.selected=-1!=r.value.indexOf(e.props.value)}))),"select"==t&&null!=r.defaultValue&&(r.value=C(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&&(Ke.enumerable="className"in n,null!=n.className&&(r.class=n.className),Object.defineProperty(r,"className",Ke))}e.$$typeof=$e,Xe&&Xe(e)};var et=i.__r;i.__r=function(e){et&&et(e),Ze=e.__c};var tt={ReactCurrentDispatcher:{current:{readContext:function(e){return Ze.__n[e.__c].props.value}}}},nt="17.0.2";function rt(e){return p.bind(null,e)}function it(e){return!!e&&e.$$typeof===$e}function ot(e){return it(e)?z.apply(null,arguments):e}function at(e){return!!e.__k&&(P(null,e),!0)}function ut(e){return e&&(e.base||1===e.nodeType&&e)||null}var lt=function(e,t){return e(t)},ct=function(e,t){return e(t)},st=g;function ft(e){e()}function dt(e){return e}function ht(){return[!1,ft]}var pt=re;function vt(e,t){var n=t(),r=ee({h:{__:n,v:t}}),i=r[0].h,o=r[1];return re((function(){i.__=n,i.v=t,De(i.__,t())||o({h:i})}),[e,n,t]),ne((function(){return De(i.__,i.v())||o({h:i}),e((function(){De(i.__,i.v())||o({h:i})}))}),[e]),n}var mt,gt={useState:ee,useId:fe,useReducer:te,useEffect:ne,useLayoutEffect:re,useInsertionEffect:pt,useTransition:ht,useDeferredValue:dt,useSyncExternalStore:vt,startTransition:ft,useRef:ie,useImperativeHandle:oe,useMemo:ae,useCallback:ue,useContext:le,useDebugValue:ce,version:"17.0.2",Children:Se,render:Ve,hydrate:qe,unmountComponentAtNode:at,createPortal:je,createElement:p,createContext:j,createFactory:rt,cloneElement:ot,createRef:m,Fragment:g,isValidElement:it,findDOMNode:ut,Component:y,PureComponent:we,memo:xe,forwardRef:Ae,flushSync:ct,unstable_batchedUpdates:lt,StrictMode:st,Suspense:Me,SuspenseList:Ie,lazy:Le,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:tt},yt=n(658),_t=n.n(yt),bt=n(443),Dt=n.n(bt),wt=n(446),xt=n.n(wt),kt=n(635),Ct=n.n(kt);function At(e){if(Array.isArray(e))return e}function Et(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}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 o,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,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(u)throw o}}}}function Wt(){return Wt=Object.assign?Object.assign.bind():function(e){for(var t=1;t=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}function nn(e,t,n,r){void 0===r&&(r={});var i=r,o=i.window,a=void 0===o?document.defaultView:o,u=i.v5Compat,l=void 0!==u&&u,c=a.history,s=mt.Pop,f=null,d=h();function h(){return(c.state||{idx:null}).idx}function p(){var e=mt.Pop,t=h();if(null!=t){var n=t-d;s=e,d=t,f&&f({action:s,location:m.location,delta:n})}else Zt(!1,"You are trying to block a POP navigation to a location that was not created by @remix-run/router. The block will fail silently in production, but in general you should do all navigation with the router (instead of using window.history.pushState directly) to avoid this situation.")}function v(e){var t="null"!==a.location.origin?a.location.origin:a.location.href,n="string"===typeof e?e:en(e);return Jt(t,"No window.location.(origin|href) available to create URL for href: "+n),new URL(n,t)}null==d&&(d=0,c.replaceState(Wt({},c.state,{idx:d}),""));var m={get action(){return s},get location(){return e(a,c)},listen:function(e){if(f)throw new Error("A history only accepts one active listener");return a.addEventListener(Gt,p),f=e,function(){a.removeEventListener(Gt,p),f=null}},createHref:function(e){return t(a,e)},createURL:v,encodeLocation:function(e){var t=v(e);return{pathname:t.pathname,search:t.search,hash:t.hash}},push:function(e,t){s=mt.Push;var r=Xt(m.location,e,t);n&&n(r,e);var i=Kt(r,d=h()+1),o=m.createHref(r);try{c.pushState(i,"",o)}catch(u){a.location.assign(o)}l&&f&&f({action:s,location:m.location,delta:1})},replace:function(e,t){s=mt.Replace;var r=Xt(m.location,e,t);n&&n(r,e);var i=Kt(r,d=h()),o=m.createHref(r);c.replaceState(i,"",o),l&&f&&f({action:s,location:m.location,delta:0})},go:function(e){return c.go(e)}};return m}function rn(e,t,n){void 0===n&&(n="/");var r=hn(("string"===typeof t?tn(t):t).pathname||"/",n);if(null==r)return null;var i=on(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})))}))}(i);for(var o=null,a=0;null==o&&a0&&(Jt(!0!==e.index,'Index routes must not have child routes. Please remove all child routes from route path "'+u+'".'),on(e.children,t,l,u)),(null!=e.path||e.index)&&t.push({path:u,score:cn(u,e.index),routesMeta:l})};return e.forEach((function(e,t){var n;if(""!==e.path&&null!=(n=e.path)&&n.includes("?")){var r,o=qt(an(e.path));try{for(o.s();!(r=o.n()).done;){var a=r.value;i(e,t,a)}}catch(u){o.e(u)}finally{o.f()}}else i(e,t)})),t}function an(e){var t=e.split("/");if(0===t.length)return[];var n,r=At(n=t)||Tt(n)||St(n)||Nt(),i=r[0],o=r.slice(1),a=i.endsWith("?"),u=i.replace(/\?$/,"");if(0===o.length)return a?[u,""]:[u];var l=an(o.join("/")),c=[];return c.push.apply(c,Ot(l.map((function(e){return""===e?u:[u,e].join("/")})))),a&&c.push.apply(c,Ot(l)),c.map((function(t){return e.startsWith("/")&&""===t?"/":t}))}!function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"}(Qt||(Qt={}));var un=/^:\w+$/,ln=function(e){return"*"===e};function cn(e,t){var n=e.split("/"),r=n.length;return n.some(ln)&&(r+=-2),t&&(r+=2),n.filter((function(e){return!ln(e)})).reduce((function(e,t){return e+(un.test(t)?3:""===t?1:10)}),r)}function sn(e,t){for(var n=e.routesMeta,r={},i="/",o=[],a=0;a and the router will parse it for you.'}function mn(e){return e.filter((function(e,t){return 0===t||e.route.path&&e.route.path.length>0}))}function gn(e,t,n,r){var i;void 0===r&&(r=!1),"string"===typeof e?i=tn(e):(Jt(!(i=Wt({},e)).pathname||!i.pathname.includes("?"),vn("?","pathname","search",i)),Jt(!i.pathname||!i.pathname.includes("#"),vn("#","pathname","hash",i)),Jt(!i.search||!i.search.includes("#"),vn("#","search","hash",i)));var o,a=""===e||""===i.pathname,u=a?"/":i.pathname;if(r||null==u)o=n;else{var l=t.length-1;if(u.startsWith("..")){for(var c=u.split("/");".."===c[0];)c.shift(),l-=1;i.pathname=c.join("/")}o=l>=0?t[l]:"/"}var s=function(e,t){void 0===t&&(t="/");var n="string"===typeof e?tn(e):e,r=n.pathname,i=n.search,o=void 0===i?"":i,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:bn(o),hash:Dn(u)}}(i,o),f=u&&"/"!==u&&u.endsWith("/"),d=(a||"."===u)&&n.endsWith("/");return s.pathname.endsWith("/")||!f&&!d||(s.pathname+="/"),s}var yn=function(e){return e.join("/").replace(/\/\/+/g,"/")},_n=function(e){return e.replace(/\/+$/,"").replace(/^\/*/,"/")},bn=function(e){return e&&"?"!==e?e.startsWith("?")?e:"?"+e:""},Dn=function(e){return e&&"#"!==e?e.startsWith("#")?e:"#"+e:""};Error;var wn=Pt((function e(t,n,r,i){Mt(this,e),void 0===i&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}));function xn(e){return e instanceof wn}var kn=["post","put","patch","delete"],Cn=(new Set(kn),["get"].concat(kn));new Set(Cn),new Set([301,302,303,307,308]),new Set([307,308]),"undefined"!==typeof window&&"undefined"!==typeof window.document&&window.document.createElement;Symbol("deferred");function An(){return An=Object.assign?Object.assign.bind():function(e){for(var t=1;t")))}var Vn,qn,Wn=function(e){zt(n,e);var t=Ut(n);function n(e){var r;return Mt(this,n),(r=t.call(this,e)).state={location:e.location,error:e.error},r}return Pt(n,[{key:"componentDidCatch",value:function(e,t){console.error("React Router caught the following error during render",e,t)}},{key:"render",value:function(){return this.state.error?p(Pn.Provider,{value:this.props.routeContext},p(Rn.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}],[{key:"getDerivedStateFromError",value:function(e){return{error:e}}},{key:"getDerivedStateFromProps",value:function(e,t){return t.location!==e.location?{error:e.error,location:e.location}:{error:e.error||t.error,location:t.location}}}]),n}(y);function Qn(e){var t=e.routeContext,n=e.match,r=e.children,i=le(Mn);return i&&i.static&&i.staticContext&&n.route.errorElement&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),p(Pn.Provider,{value:t},r)}function Gn(e,t,n){if(void 0===t&&(t=[]),null==e){if(null==n||!n.errors)return null;e=n.matches}var r=e,i=null==n?void 0:n.errors;if(null!=i){var o=r.findIndex((function(e){return e.route.id&&(null==i?void 0:i[e.route.id])}));o>=0||Jt(!1),r=r.slice(0,Math.min(r.length,o+1))}return r.reduceRight((function(e,o,a){var u=o.route.id?null==i?void 0:i[o.route.id]:null,l=n?o.route.errorElement||p(Yn,null):null,c=t.concat(r.slice(0,a+1)),s=function(){return p(Qn,{match:o,routeContext:{outlet:e,matches:c}},u?l:void 0!==o.route.element?o.route.element:e)};return n&&(o.route.errorElement||0===a)?p(Wn,{location:n.location,component:l,error:u,children:s(),routeContext:{outlet:null,matches:c}}):s()}),null)}function Jn(e){var t=le(Bn);return t||Jt(!1),t}function Zn(e){var t=function(e){var t=le(Pn);return t||Jt(!1),t}(),n=t.matches[t.matches.length-1];return n.route.id||Jt(!1),n.route.id}!function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator"}(Vn||(Vn={})),function(e){e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator"}(qn||(qn={}));var Kn;function Xn(e){return function(e){var t=le(Pn).outlet;return t?p(Hn.Provider,{value:e},t):t}(e.context)}function er(e){Jt(!1)}function tr(e){var t=e.basename,n=void 0===t?"/":t,r=e.children,i=void 0===r?null:r,o=e.location,a=e.navigationType,u=void 0===a?mt.Pop:a,l=e.navigator,c=e.static,s=void 0!==c&&c;zn()&&Jt(!1);var f=n.replace(/^\/*/,"/"),d=ae((function(){return{basename:f,navigator:l,static:s}}),[f,l,s]);"string"===typeof o&&(o=tn(o));var h=o,v=h.pathname,m=void 0===v?"/":v,g=h.search,y=void 0===g?"":g,_=h.hash,b=void 0===_?"":_,D=h.state,w=void 0===D?null:D,x=h.key,k=void 0===x?"default":x,C=ae((function(){var e=hn(m,f);return null==e?null:{pathname:e,search:y,hash:b,state:w,key:k}}),[f,m,y,b,w,k]);return null==C?null:p(Ln.Provider,{value:d},p(In.Provider,{children:i,value:{location:C,navigationType:u}}))}function nr(e){var t=e.children,n=e.location,r=le(Mn);return function(e,t){zn()||Jt(!1);var n,r=le(Ln).navigator,i=le(Bn),o=le(Pn).matches,a=o[o.length-1],u=a?a.params:{},l=(a&&a.pathname,a?a.pathnameBase:"/"),c=(a&&a.route,jn());if(t){var s,f="string"===typeof t?tn(t):t;"/"===l||(null==(s=f.pathname)?void 0:s.startsWith(l))||Jt(!1),n=f}else n=c;var d=n.pathname||"/",h=rn(e,{pathname:"/"===l?d:d.slice(l.length)||"/"}),v=Gn(h&&h.map((function(e){return Object.assign({},e,{params:Object.assign({},u,e.params),pathname:yn([l,r.encodeLocation?r.encodeLocation(e.pathname).pathname:e.pathname]),pathnameBase:"/"===e.pathnameBase?l:yn([l,r.encodeLocation?r.encodeLocation(e.pathnameBase).pathname:e.pathnameBase])})})),o,i||void 0);return t&&v?p(In.Provider,{value:{location:An({pathname:"/",search:"",hash:"",state:null,key:"default"},n),navigationType:mt.Pop}},v):v}(r&&!t?r.router.routes:rr(t),n)}!function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"}(Kn||(Kn={}));new Promise((function(){}));function rr(e,t){void 0===t&&(t=[]);var n=[];return Se.forEach(e,(function(e,r){if(it(e))if(e.type!==g){e.type!==er&&Jt(!1),e.props.index&&e.props.children&&Jt(!1);var i=[].concat(Ot(t),[r]),o={id:e.props.id||i.join("-"),caseSensitive:e.props.caseSensitive,element:e.props.element,index:e.props.index,path:e.props.path,loader:e.props.loader,action:e.props.action,errorElement:e.props.errorElement,hasErrorBoundary:null!=e.props.errorElement,shouldRevalidate:e.props.shouldRevalidate,handle:e.props.handle};e.props.children&&(o.children=rr(e.props.children,i)),n.push(o)}else n.push.apply(n,rr(e.props.children,t))})),n}function ir(){return ir=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0||(i[n]=e[n]);return i}var ar=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"],ur=["aria-current","caseSensitive","className","end","style","to","children"];function lr(e){var t=e.basename,n=e.children,r=e.window,i=ie();null==i.current&&(i.current=function(e){return void 0===e&&(e={}),nn((function(e,t){var n=tn(e.location.hash.substr(1)),r=n.pathname,i=void 0===r?"/":r,o=n.search,a=void 0===o?"":o,u=n.hash;return Xt("",{pathname:i,search:a,hash:void 0===u?"":u},t.state&&t.state.usr||null,t.state&&t.state.key||"default")}),(function(e,t){var n=e.document.querySelector("base"),r="";if(n&&n.getAttribute("href")){var i=e.location.href,o=i.indexOf("#");r=-1===o?i:i.slice(0,o)}return r+"#"+("string"===typeof t?t:en(t))}),(function(e,t){Zt("/"===e.pathname.charAt(0),"relative pathnames are not supported in hash history.push("+JSON.stringify(t)+")")}),e)}({window:r,v5Compat:!0}));var o=i.current,a=Ft(ee({action:o.action,location:o.location}),2),u=a[0],l=a[1];return re((function(){return o.listen(l)}),[o]),p(tr,{basename:t,children:n,location:u.location,navigationType:u.action,navigator:o})}var cr=Ae((function(e,t){var n=e.onClick,r=e.relative,i=e.reloadDocument,o=e.replace,a=e.state,u=e.target,l=e.to,c=e.preventScrollReset,s=or(e,ar),f=function(e,t){var n=(void 0===t?{}:t).relative;zn()||Jt(!1);var r=le(Ln),i=r.basename,o=r.navigator,a=Un(e,{relative:n}),u=a.hash,l=a.pathname,c=a.search,s=l;return"/"!==i&&(s="/"===l?i:yn([i,l])),o.createHref({pathname:s,search:c,hash:u})}(l,{relative:r}),d=function(e,t){var n=void 0===t?{}:t,r=n.target,i=n.replace,o=n.state,a=n.preventScrollReset,u=n.relative,l=$n(),c=jn(),s=Un(e,{relative:u});return ue((function(t){if(function(e,t){return 0===e.button&&(!t||"_self"===t)&&!function(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}(e)}(t,r)){t.preventDefault();var n=void 0!==i?i:en(c)===en(s);l(e,{replace:n,state:o,preventScrollReset:a,relative:u})}}),[c,l,s,i,o,r,e,a,u])}(l,{replace:o,state:a,target:u,preventScrollReset:c,relative:r});return p("a",ir({},s,{href:f,onClick:i?n:function(e){n&&n(e),e.defaultPrevented||d(e)},ref:t,target:u}))}));var sr=Ae((function(e,t){var n=e["aria-current"],r=void 0===n?"page":n,i=e.caseSensitive,o=void 0!==i&&i,a=e.className,u=void 0===a?"":a,l=e.end,c=void 0!==l&&l,s=e.style,f=e.to,d=e.children,h=or(e,ur),v=Un(f,{relative:h.relative}),m=jn(),g=le(Bn),y=le(Ln).navigator,_=y.encodeLocation?y.encodeLocation(v).pathname:v.pathname,b=m.pathname,D=g&&g.navigation&&g.navigation.location?g.navigation.location.pathname:null;o||(b=b.toLowerCase(),D=D?D.toLowerCase():null,_=_.toLowerCase());var w,x=b===_||!c&&b.startsWith(_)&&"/"===b.charAt(_.length),k=null!=D&&(D===_||!c&&D.startsWith(_)&&"/"===D.charAt(_.length)),C=x?r:void 0;w="function"===typeof u?u({isActive:x,isPending:k}):[u,x?"active":null,k?"pending":null].filter(Boolean).join(" ");var A="function"===typeof s?s({isActive:x,isPending:k}):s;return p(cr,ir({},h,{"aria-current":C,className:w,ref:t,style:A,to:f}),"function"===typeof d?d({isActive:x,isPending:k}):d)}));var fr,dr;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmitImpl="useSubmitImpl",e.UseFetcher="useFetcher"})(fr||(fr={})),function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"}(dr||(dr={}));var hr;function pr(e,t,n){return(t=Lt(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function vr(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 mr(e){for(var t=1;t2&&void 0!==arguments[2]?arguments[2]:window.location.search,r=Er().parse(n,{ignoreQueryPrefix:!0});return Nr()(r,e,t||"")},Br=function(e,t){t?window.localStorage.setItem(e,JSON.stringify({value:t})):Ir([e]),window.dispatchEvent(new Event("storage"))},Lr=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(s){return t}},Ir=function(e){return e.forEach((function(e){return window.localStorage.removeItem(e)}))};!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",e.traceNotFound="Not found the tracing information",e.emptyTitle="Please enter title",e.positiveNumber="Please enter positive number",e.validStep="Please enter a valid step"}(gr||(gr={})),function(e){e.system="system",e.light="light",e.dark="dark"}(yr||(yr={}));var Pr=function(e){return getComputedStyle(document.documentElement).getPropertyValue("--".concat(e))},Rr=function(e,t){document.documentElement.style.setProperty("--".concat(e),t)},zr=function(){return window.matchMedia("(prefers-color-scheme: dark)").matches},jr=Mr("g0.tenantID",""),$r={serverUrl:function(e){var t=xr().serverURL||window.location.href.replace(/\/(?:prometheus\/)?(?:graph|vmui)\/.*/,"/prometheus");return e?Cr(t,e):t}(jr),tenantId:jr,theme:Lr("THEME")||yr.system,isDarkTheme:null};function Hr(e,t){switch(t.type){case"SET_SERVER":return mr(mr({},e),{},{serverUrl:t.payload});case"SET_TENANT_ID":return mr(mr({},e),{},{tenantId:t.payload});case"SET_THEME":return Br("THEME",t.payload),mr(mr({},e),{},{theme:t.payload});case"SET_DARK_THEME":return mr(mr({},e),{},{isDarkTheme:(n=e.theme,n===yr.system&&zr()||n===yr.dark)});default:throw new Error}var n}var Ur=0;function Yr(e,t,n,r,o){var a,u,l={};for(u in t)"ref"==u?a=t[u]:l[u]=t[u];var c={type:e,props:l,key:n,ref:a,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,__h:null,constructor:void 0,__v:--Ur,__source:o,__self:r};if("function"==typeof e&&(a=e.defaultProps))for(u in a)void 0===l[u]&&(l[u]=a[u]);return i.vnode&&i.vnode(c),c}var Vr=j({}),qr=function(){return le(Vr).state},Wr=function(){return le(Vr).dispatch},Qr=Object.entries($r).reduce((function(e,t){var n=Ft(t,2),r=n[0],i=n[1];return mr(mr({},e),{},pr({},r,Mr(r)||i))}),{}),Gr="YYYY-MM-DD",Jr="YYYY-MM-DD HH:mm:ss",Zr="YYYY-MM-DD[T]HH:mm:ss",Kr=window.innerWidth/4,Xr=1,ei=1578e8,ti=Intl.supportedValuesOf,ni=ti?ti("timeZone"):["Africa/Abidjan","Africa/Accra","Africa/Addis_Ababa","Africa/Algiers","Africa/Asmera","Africa/Bamako","Africa/Bangui","Africa/Banjul","Africa/Bissau","Africa/Blantyre","Africa/Brazzaville","Africa/Bujumbura","Africa/Cairo","Africa/Casablanca","Africa/Ceuta","Africa/Conakry","Africa/Dakar","Africa/Dar_es_Salaam","Africa/Djibouti","Africa/Douala","Africa/El_Aaiun","Africa/Freetown","Africa/Gaborone","Africa/Harare","Africa/Johannesburg","Africa/Juba","Africa/Kampala","Africa/Khartoum","Africa/Kigali","Africa/Kinshasa","Africa/Lagos","Africa/Libreville","Africa/Lome","Africa/Luanda","Africa/Lubumbashi","Africa/Lusaka","Africa/Malabo","Africa/Maputo","Africa/Maseru","Africa/Mbabane","Africa/Mogadishu","Africa/Monrovia","Africa/Nairobi","Africa/Ndjamena","Africa/Niamey","Africa/Nouakchott","Africa/Ouagadougou","Africa/Porto-Novo","Africa/Sao_Tome","Africa/Tripoli","Africa/Tunis","Africa/Windhoek","America/Adak","America/Anchorage","America/Anguilla","America/Antigua","America/Araguaina","America/Argentina/La_Rioja","America/Argentina/Rio_Gallegos","America/Argentina/Salta","America/Argentina/San_Juan","America/Argentina/San_Luis","America/Argentina/Tucuman","America/Argentina/Ushuaia","America/Aruba","America/Asuncion","America/Bahia","America/Bahia_Banderas","America/Barbados","America/Belem","America/Belize","America/Blanc-Sablon","America/Boa_Vista","America/Bogota","America/Boise","America/Buenos_Aires","America/Cambridge_Bay","America/Campo_Grande","America/Cancun","America/Caracas","America/Catamarca","America/Cayenne","America/Cayman","America/Chicago","America/Chihuahua","America/Coral_Harbour","America/Cordoba","America/Costa_Rica","America/Creston","America/Cuiaba","America/Curacao","America/Danmarkshavn","America/Dawson","America/Dawson_Creek","America/Denver","America/Detroit","America/Dominica","America/Edmonton","America/Eirunepe","America/El_Salvador","America/Fort_Nelson","America/Fortaleza","America/Glace_Bay","America/Godthab","America/Goose_Bay","America/Grand_Turk","America/Grenada","America/Guadeloupe","America/Guatemala","America/Guayaquil","America/Guyana","America/Halifax","America/Havana","America/Hermosillo","America/Indiana/Knox","America/Indiana/Marengo","America/Indiana/Petersburg","America/Indiana/Tell_City","America/Indiana/Vevay","America/Indiana/Vincennes","America/Indiana/Winamac","America/Indianapolis","America/Inuvik","America/Iqaluit","America/Jamaica","America/Jujuy","America/Juneau","America/Kentucky/Monticello","America/Kralendijk","America/La_Paz","America/Lima","America/Los_Angeles","America/Louisville","America/Lower_Princes","America/Maceio","America/Managua","America/Manaus","America/Marigot","America/Martinique","America/Matamoros","America/Mazatlan","America/Mendoza","America/Menominee","America/Merida","America/Metlakatla","America/Mexico_City","America/Miquelon","America/Moncton","America/Monterrey","America/Montevideo","America/Montreal","America/Montserrat","America/Nassau","America/New_York","America/Nipigon","America/Nome","America/Noronha","America/North_Dakota/Beulah","America/North_Dakota/Center","America/North_Dakota/New_Salem","America/Ojinaga","America/Panama","America/Pangnirtung","America/Paramaribo","America/Phoenix","America/Port-au-Prince","America/Port_of_Spain","America/Porto_Velho","America/Puerto_Rico","America/Punta_Arenas","America/Rainy_River","America/Rankin_Inlet","America/Recife","America/Regina","America/Resolute","America/Rio_Branco","America/Santa_Isabel","America/Santarem","America/Santiago","America/Santo_Domingo","America/Sao_Paulo","America/Scoresbysund","America/Sitka","America/St_Barthelemy","America/St_Johns","America/St_Kitts","America/St_Lucia","America/St_Thomas","America/St_Vincent","America/Swift_Current","America/Tegucigalpa","America/Thule","America/Thunder_Bay","America/Tijuana","America/Toronto","America/Tortola","America/Vancouver","America/Whitehorse","America/Winnipeg","America/Yakutat","America/Yellowknife","Antarctica/Casey","Antarctica/Davis","Antarctica/DumontDUrville","Antarctica/Macquarie","Antarctica/Mawson","Antarctica/McMurdo","Antarctica/Palmer","Antarctica/Rothera","Antarctica/Syowa","Antarctica/Troll","Antarctica/Vostok","Arctic/Longyearbyen","Asia/Aden","Asia/Almaty","Asia/Amman","Asia/Anadyr","Asia/Aqtau","Asia/Aqtobe","Asia/Ashgabat","Asia/Atyrau","Asia/Baghdad","Asia/Bahrain","Asia/Baku","Asia/Bangkok","Asia/Barnaul","Asia/Beirut","Asia/Bishkek","Asia/Brunei","Asia/Calcutta","Asia/Chita","Asia/Choibalsan","Asia/Colombo","Asia/Damascus","Asia/Dhaka","Asia/Dili","Asia/Dubai","Asia/Dushanbe","Asia/Famagusta","Asia/Gaza","Asia/Hebron","Asia/Hong_Kong","Asia/Hovd","Asia/Irkutsk","Asia/Jakarta","Asia/Jayapura","Asia/Jerusalem","Asia/Kabul","Asia/Kamchatka","Asia/Karachi","Asia/Katmandu","Asia/Khandyga","Asia/Krasnoyarsk","Asia/Kuala_Lumpur","Asia/Kuching","Asia/Kuwait","Asia/Macau","Asia/Magadan","Asia/Makassar","Asia/Manila","Asia/Muscat","Asia/Nicosia","Asia/Novokuznetsk","Asia/Novosibirsk","Asia/Omsk","Asia/Oral","Asia/Phnom_Penh","Asia/Pontianak","Asia/Pyongyang","Asia/Qatar","Asia/Qostanay","Asia/Qyzylorda","Asia/Rangoon","Asia/Riyadh","Asia/Saigon","Asia/Sakhalin","Asia/Samarkand","Asia/Seoul","Asia/Shanghai","Asia/Singapore","Asia/Srednekolymsk","Asia/Taipei","Asia/Tashkent","Asia/Tbilisi","Asia/Tehran","Asia/Thimphu","Asia/Tokyo","Asia/Tomsk","Asia/Ulaanbaatar","Asia/Urumqi","Asia/Ust-Nera","Asia/Vientiane","Asia/Vladivostok","Asia/Yakutsk","Asia/Yekaterinburg","Asia/Yerevan","Atlantic/Azores","Atlantic/Bermuda","Atlantic/Canary","Atlantic/Cape_Verde","Atlantic/Faeroe","Atlantic/Madeira","Atlantic/Reykjavik","Atlantic/South_Georgia","Atlantic/St_Helena","Atlantic/Stanley","Australia/Adelaide","Australia/Brisbane","Australia/Broken_Hill","Australia/Currie","Australia/Darwin","Australia/Eucla","Australia/Hobart","Australia/Lindeman","Australia/Lord_Howe","Australia/Melbourne","Australia/Perth","Australia/Sydney","Europe/Amsterdam","Europe/Andorra","Europe/Astrakhan","Europe/Athens","Europe/Belgrade","Europe/Berlin","Europe/Bratislava","Europe/Brussels","Europe/Bucharest","Europe/Budapest","Europe/Busingen","Europe/Chisinau","Europe/Copenhagen","Europe/Dublin","Europe/Gibraltar","Europe/Guernsey","Europe/Helsinki","Europe/Isle_of_Man","Europe/Istanbul","Europe/Jersey","Europe/Kaliningrad","Europe/Kiev","Europe/Kirov","Europe/Lisbon","Europe/Ljubljana","Europe/London","Europe/Luxembourg","Europe/Madrid","Europe/Malta","Europe/Mariehamn","Europe/Minsk","Europe/Monaco","Europe/Moscow","Europe/Oslo","Europe/Paris","Europe/Podgorica","Europe/Prague","Europe/Riga","Europe/Rome","Europe/Samara","Europe/San_Marino","Europe/Sarajevo","Europe/Saratov","Europe/Simferopol","Europe/Skopje","Europe/Sofia","Europe/Stockholm","Europe/Tallinn","Europe/Tirane","Europe/Ulyanovsk","Europe/Uzhgorod","Europe/Vaduz","Europe/Vatican","Europe/Vienna","Europe/Vilnius","Europe/Volgograd","Europe/Warsaw","Europe/Zagreb","Europe/Zaporozhye","Europe/Zurich","Indian/Antananarivo","Indian/Chagos","Indian/Christmas","Indian/Cocos","Indian/Comoro","Indian/Kerguelen","Indian/Mahe","Indian/Maldives","Indian/Mauritius","Indian/Mayotte","Indian/Reunion","Pacific/Apia","Pacific/Auckland","Pacific/Bougainville","Pacific/Chatham","Pacific/Easter","Pacific/Efate","Pacific/Enderbury","Pacific/Fakaofo","Pacific/Fiji","Pacific/Funafuti","Pacific/Galapagos","Pacific/Gambier","Pacific/Guadalcanal","Pacific/Guam","Pacific/Honolulu","Pacific/Johnston","Pacific/Kiritimati","Pacific/Kosrae","Pacific/Kwajalein","Pacific/Majuro","Pacific/Marquesas","Pacific/Midway","Pacific/Nauru","Pacific/Niue","Pacific/Norfolk","Pacific/Noumea","Pacific/Pago_Pago","Pacific/Palau","Pacific/Pitcairn","Pacific/Ponape","Pacific/Port_Moresby","Pacific/Rarotonga","Pacific/Saipan","Pacific/Tahiti","Pacific/Tarawa","Pacific/Tongatapu","Pacific/Truk","Pacific/Wake","Pacific/Wallis"],ri=[{long:"years",short:"y",possible:"year"},{long:"weeks",short:"w",possible:"week"},{long:"days",short:"d",possible:"day"},{long:"hours",short:"h",possible:"hour"},{long:"minutes",short:"m",possible:"min"},{long:"seconds",short:"s",possible:"sec"},{long:"milliseconds",short:"ms",possible:"millisecond"}],ii=ri.map((function(e){return e.short})),oi=function(e){return Math.round(1e3*e)/1e3},ai=function(e){var t=e.match(/\d+/g),n=e.match(/[a-zA-Z]+/g);if(n&&t&&ii.includes(n[0]))return pr({},n[0],t[0])},ui=function(e){var t=ri.map((function(e){return e.short})).join("|"),n=new RegExp("\\d+[".concat(t,"]+"),"g"),r=(e.match(n)||[]).reduce((function(e,t){var n=ai(t);return n?mr(mr({},e),n):mr({},e)}),{});return _t().duration(r).asSeconds()},li=function(e,t){var n=(t||_t()().toDate()).valueOf()/1e3,r=ui(e);return{start:n-r,end:n,step:function(e){var t=oi(e),n=Math.round(e);return e>=100&&(t=n-n%10),e<100&&e>=10&&(t=n-n%5),e<10&&e>=1&&(t=n),e<1&&e>.01&&(t=Math.round(40*e)/40),fi(_t().duration(t||.001,"seconds").asMilliseconds()).replace(/\s/g,"")}(r/Kr),date:ci(t||_t()().toDate())}},ci=function(e){return _t().tz(e).utc().format(Zr)},si=function(e){return _t().tz(e).format(Zr)},fi=function(e){var t=Math.floor(e%1e3),n=Math.floor(e/1e3%60),r=Math.floor(e/1e3/60%60),i=Math.floor(e/1e3/3600%24),o=Math.floor(e/864e5),a=["d","h","m","s","ms"],u=[o,i,r,n,t].map((function(e,t){return e?"".concat(e).concat(a[t]):""}));return u.filter((function(e){return e})).join(" ")},di=function(e){var t=_t()(1e3*e);return t.isValid()?t.toDate():new Date},hi=[{title:"Last 5 minutes",duration:"5m"},{title:"Last 15 minutes",duration:"15m"},{title:"Last 30 minutes",duration:"30m",isDefault:!0},{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 _t()().tz().subtract(1,"day").endOf("day").toDate()}},{title:"Today",duration:"1d",until:function(){return _t()().tz().endOf("day").toDate()}}].map((function(e){return mr({id:e.title.replace(/\s/g,"_").toLocaleLowerCase(),until:e.until?e.until:function(){return _t()().tz().toDate()}},e)})),pi=function(e){var t,n=e.relativeTimeId,r=e.defaultDuration,i=e.defaultEndInput,o=null===(t=hi.find((function(e){return e.isDefault})))||void 0===t?void 0:t.id,a=n||Mr("g0.relative_time",o),u=hi.find((function(e){return e.id===a}));return{relativeTimeId:u?a:"none",duration:u?u.duration:r,endInput:u?u.until():i}},vi=function(e){var t=_t()().tz(e);return"UTC".concat(t.format("Z"))},mi=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=new RegExp(e,"i");return ni.reduce((function(n,r){var i=(r.match(/^(.*?)\//)||[])[1]||"unknown",o=vi(r),a=o.replace(/UTC|0/,""),u=r.replace(/[/_]/g," "),l={region:r,utc:o,search:"".concat(r," ").concat(o," ").concat(u," ").concat(a)},c=!e||e&&t.test(l.search);return c&&n[i]?n[i].push(l):c&&(n[i]=[l]),n}),{})},gi=function(e){_t().tz.setDefault(e)},yi=Lr("TIMEZONE")||_t().tz.guess();gi(yi);var _i,bi=Mr("g0.range_input"),Di=pi({defaultDuration:bi||"1h",defaultEndInput:(_i=Mr("g0.end_input",_t()().utc().format(Zr)),_t()(_i).utcOffset(0,!0).toDate()),relativeTimeId:bi?Mr("g0.relative_time","none"):void 0}),wi=Di.duration,xi=Di.endInput,ki=Di.relativeTimeId,Ci={duration:wi,period:li(wi,xi),relativeTime:ki,timezone:yi};function Ai(e,t){switch(t.type){case"SET_DURATION":return mr(mr({},e),{},{duration:t.payload,period:li(t.payload,di(e.period.end)),relativeTime:"none"});case"SET_RELATIVE_TIME":return mr(mr({},e),{},{duration:t.payload.duration,period:li(t.payload.duration,t.payload.until),relativeTime:t.payload.id});case"SET_PERIOD":var n=function(e){var t=e.to.valueOf()-e.from.valueOf();return fi(t)}(t.payload);return mr(mr({},e),{},{duration:n,period:li(n,t.payload.to),relativeTime:"none"});case"RUN_QUERY":var r=pi({relativeTimeId:e.relativeTime,defaultDuration:e.duration,defaultEndInput:di(e.period.end)}),i=r.duration,o=r.endInput;return mr(mr({},e),{},{period:li(i,o)});case"RUN_QUERY_TO_NOW":return mr(mr({},e),{},{period:li(e.duration)});case"SET_TIMEZONE":return gi(t.payload),Br("TIMEZONE",t.payload),mr(mr({},e),{},{timezone:t.payload});default:throw new Error}}var Ei=j({}),Si=function(){return le(Ei).state},Ni=function(){return le(Ei).dispatch},Fi=function(){var e,t=(null===(e=window.location.search.match(/g\d+\.expr/g))||void 0===e?void 0:e.length)||1;return new Array(t>4?4:t).fill(1).map((function(e,t){return Mr("g".concat(t,".expr"),"")}))}(),Ti={query:Fi,queryHistory:Fi.map((function(e){return{index:0,values:[e]}})),autocomplete:Lr("AUTOCOMPLETE")||!1};function Oi(e,t){switch(t.type){case"SET_QUERY":return mr(mr({},e),{},{query:t.payload.map((function(e){return e}))});case"SET_QUERY_HISTORY":return mr(mr({},e),{},{queryHistory:t.payload});case"SET_QUERY_HISTORY_BY_INDEX":return e.queryHistory.splice(t.payload.queryNumber,1,t.payload.value),mr(mr({},e),{},{queryHistory:e.queryHistory});case"TOGGLE_AUTOCOMPLETE":return Br("AUTOCOMPLETE",!e.autocomplete),mr(mr({},e),{},{autocomplete:!e.autocomplete});default:throw new Error}}var Mi=j({}),Bi=function(){return le(Mi).state},Li=function(){return le(Mi).dispatch},Ii=function(){return Yr("svg",{viewBox:"0 0 74 24",fill:"currentColor",children:[Yr("path",{d:"M6.11767 10.4759C6.47736 10.7556 6.91931 10.909 7.37503 10.9121H7.42681C7.90756 10.9047 8.38832 10.7199 8.67677 10.4685C10.1856 9.18921 14.5568 5.18138 14.5568 5.18138C15.7254 4.09438 12.4637 3.00739 7.42681 3H7.36764C2.3308 3.00739 -0.930935 4.09438 0.237669 5.18138C0.237669 5.18138 4.60884 9.18921 6.11767 10.4759ZM8.67677 12.6424C8.31803 12.9248 7.87599 13.0808 7.41941 13.0861H7.37503C6.91845 13.0808 6.47641 12.9248 6.11767 12.6424C5.0822 11.7551 1.38409 8.42018 0.000989555 7.14832V9.07829C0.000989555 9.29273 0.0823481 9.57372 0.222877 9.70682L0.293316 9.7712L0.293344 9.77122C1.33784 10.7258 4.83903 13.9255 6.11767 15.0161C6.47641 15.2985 6.91845 15.4545 7.37503 15.4597H7.41941C7.90756 15.4449 8.38092 15.2601 8.67677 15.0161C9.9859 13.9069 13.6249 10.572 14.5642 9.70682C14.7121 9.57372 14.7861 9.29273 14.7861 9.07829V7.14832C12.7662 8.99804 10.7297 10.8295 8.67677 12.6424ZM7.41941 17.6263C7.87513 17.6232 8.31708 17.4698 8.67677 17.19C10.7298 15.3746 12.7663 13.5407 14.7861 11.6885V13.6259C14.7861 13.8329 14.7121 14.1139 14.5642 14.247C13.6249 15.1196 9.9859 18.4471 8.67677 19.5563C8.38092 19.8077 7.90756 19.9926 7.41941 20H7.37503C6.91931 19.9968 6.47736 19.8435 6.11767 19.5637C4.91427 18.5373 1.74219 15.6364 0.502294 14.5025C0.393358 14.4029 0.299337 14.3169 0.222877 14.247C0.0823481 14.1139 0.000989555 13.8329 0.000989555 13.6259V11.6885C1.38409 12.953 5.0822 16.2953 6.11767 17.1827C6.47641 17.4651 6.91845 17.6211 7.37503 17.6263H7.41941Z"}),Yr("path",{d:"M34.9996 5L29.1596 19.46H26.7296L20.8896 5H23.0496C23.2829 5 23.4729 5.05667 23.6196 5.17C23.7663 5.28333 23.8763 5.43 23.9496 5.61L27.3596 14.43C27.4729 14.7167 27.5796 15.0333 27.6796 15.38C27.7863 15.72 27.8863 16.0767 27.9796 16.45C28.0596 16.0767 28.1463 15.72 28.2396 15.38C28.3329 15.0333 28.4363 14.7167 28.5496 14.43L31.9396 5.61C31.9929 5.45667 32.0963 5.31667 32.2496 5.19C32.4096 5.06333 32.603 5 32.8297 5H34.9996ZM52.1763 5V19.46H49.8064V10.12C49.8064 9.74667 49.8263 9.34333 49.8663 8.91L45.4963 17.12C45.2897 17.5133 44.973 17.71 44.5463 17.71H44.1663C43.7397 17.71 43.4231 17.5133 43.2164 17.12L38.7963 8.88C38.8163 9.1 38.833 9.31667 38.8463 9.53C38.8597 9.74333 38.8663 9.94 38.8663 10.12V19.46H36.4963V5H38.5263C38.6463 5 38.7497 5.00333 38.8363 5.01C38.923 5.01667 38.9997 5.03333 39.0663 5.06C39.1397 5.08667 39.203 5.13 39.2563 5.19C39.3163 5.25 39.373 5.33 39.4263 5.43L43.7563 13.46C43.8697 13.6733 43.973 13.8933 44.0663 14.12C44.1663 14.3467 44.263 14.58 44.3563 14.82C44.4497 14.5733 44.5464 14.3367 44.6464 14.11C44.7464 13.8767 44.8531 13.6533 44.9664 13.44L49.2363 5.43C49.2897 5.33 49.3463 5.25 49.4063 5.19C49.4663 5.13 49.5297 5.08667 49.5963 5.06C49.6697 5.03333 49.7497 5.01667 49.8363 5.01C49.923 5.00333 50.0264 5 50.1464 5H52.1763ZM61.0626 18.73C61.7426 18.73 62.3492 18.6133 62.8826 18.38C63.4226 18.14 63.8792 17.81 64.2526 17.39C64.6259 16.97 64.9092 16.4767 65.1026 15.91C65.3026 15.3367 65.4026 14.72 65.4026 14.06V5.31H66.4226V14.06C66.4226 14.84 66.2993 15.57 66.0527 16.25C65.806 16.9233 65.4493 17.5133 64.9827 18.02C64.5227 18.52 63.9592 18.9133 63.2926 19.2C62.6326 19.4867 61.8892 19.63 61.0626 19.63C60.2359 19.63 59.4893 19.4867 58.8227 19.2C58.1627 18.9133 57.5992 18.52 57.1326 18.02C56.6726 17.5133 56.3193 16.9233 56.0727 16.25C55.826 15.57 55.7026 14.84 55.7026 14.06V5.31H56.7327V14.05C56.7327 14.71 56.8292 15.3267 57.0226 15.9C57.2226 16.4667 57.506 16.96 57.8727 17.38C58.246 17.8 58.6993 18.13 59.2327 18.37C59.7727 18.61 60.3826 18.73 61.0626 18.73ZM71.4438 19.46H70.4138V5.31H71.4438V19.46Z"})]})},Pi=function(){return Yr("svg",{viewBox:"0 0 15 17",fill:"currentColor",children:Yr("path",{d:"M6.11767 7.47586C6.47736 7.75563 6.91931 7.90898 7.37503 7.91213H7.42681C7.90756 7.90474 8.38832 7.71987 8.67677 7.46846C10.1856 6.18921 14.5568 2.18138 14.5568 2.18138C15.7254 1.09438 12.4637 0.00739 7.42681 0H7.36764C2.3308 0.00739 -0.930935 1.09438 0.237669 2.18138C0.237669 2.18138 4.60884 6.18921 6.11767 7.47586ZM8.67677 9.64243C8.31803 9.92483 7.87599 10.0808 7.41941 10.0861H7.37503C6.91845 10.0808 6.47641 9.92483 6.11767 9.64243C5.0822 8.75513 1.38409 5.42018 0.000989555 4.14832V6.07829C0.000989555 6.29273 0.0823481 6.57372 0.222877 6.70682L0.293316 6.7712L0.293344 6.77122C1.33784 7.72579 4.83903 10.9255 6.11767 12.0161C6.47641 12.2985 6.91845 12.4545 7.37503 12.4597H7.41941C7.90756 12.4449 8.38092 12.2601 8.67677 12.0161C9.9859 10.9069 13.6249 7.57198 14.5642 6.70682C14.7121 6.57372 14.7861 6.29273 14.7861 6.07829V4.14832C12.7662 5.99804 10.7297 7.82949 8.67677 9.64243ZM7.41941 14.6263C7.87513 14.6232 8.31708 14.4698 8.67677 14.19C10.7298 12.3746 12.7663 10.5407 14.7861 8.68853V10.6259C14.7861 10.8329 14.7121 11.1139 14.5642 11.247C13.6249 12.1196 9.9859 15.4471 8.67677 16.5563C8.38092 16.8077 7.90756 16.9926 7.41941 17H7.37503C6.91931 16.9968 6.47736 16.8435 6.11767 16.5637C4.91427 15.5373 1.74219 12.6364 0.502294 11.5025C0.393358 11.4029 0.299337 11.3169 0.222877 11.247C0.0823481 11.1139 0.000989555 10.8329 0.000989555 10.6259V8.68853C1.38409 9.95303 5.0822 13.2953 6.11767 14.1827C6.47641 14.4651 6.91845 14.6211 7.37503 14.6263H7.41941Z"})})},Ri=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61l-2.01-1.58zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6z"})})},zi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M19 6.41 17.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"})})},ji=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8zm-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91z"})})},$i=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-6h2v6zm0-8h-2V7h2v2z"})})},Hi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M1 21h22L12 2 1 21zm12-3h-2v-2h2v2zm0-4h-2v-4h2v4z"})})},Ui=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z"})})},Yi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"})})},Vi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6zm6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26z"})})},qi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6 1.41-1.41z"})})},Wi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"m7 10 5 5 5-5z"})})},Qi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11h-4v4h-2v-4H7v-2h4V7h2v4h4v2z"})})},Gi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Yr("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"}),Yr("path",{d:"M12.5 7H11v6l5.25 3.15.75-1.23-4.5-2.67z"})]})},Ji=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M20 3h-1V1h-2v2H7V1H5v2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 18H4V8h16v13z"})})},Zi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"m22 5.72-4.6-3.86-1.29 1.53 4.6 3.86L22 5.72zM7.88 3.39 6.6 1.86 2 5.71l1.29 1.53 4.59-3.85zM12.5 8H11v6l4.75 2.85.75-1.23-4-2.37V8zM12 4c-4.97 0-9 4.03-9 9s4.02 9 9 9c4.97 0 9-4.03 9-9s-4.03-9-9-9zm0 16c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z"})})},Ki=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"})})},Xi=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm5 11H7v-2h10v2z"})})},eo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M8 5v14l11-7z"})})},to=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"m10 16.5 6-4.5-6-4.5v9zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"})})},no=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"m3.5 18.49 6-6.01 4 4L22 6.92l-1.41-1.41-7.09 7.97-4-4L2 16.99z"})})},ro=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M10 10.02h5V21h-5zM17 21h3c1.1 0 2-.9 2-2v-9h-5v11zm3-18H5c-1.1 0-2 .9-2 2v3h19V5c0-1.1-.9-2-2-2zM3 19c0 1.1.9 2 2 2h3V10H3v9z"})})},io=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M9.4 16.6 4.8 12l4.6-4.6L8 6l-6 6 6 6 1.4-1.4zm5.2 0 4.6-4.6-4.6-4.6L16 6l6 6-6 6-1.4-1.4z"})})},oo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12zM19 4h-3.5l-1-1h-5l-1 1H5v2h14V4z"})})},ao=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"})})},uo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M8.9999 14.7854L18.8928 4.8925C19.0803 4.70497 19.3347 4.59961 19.5999 4.59961C19.8651 4.59961 20.1195 4.70497 20.307 4.8925L21.707 6.2925C22.0975 6.68303 22.0975 7.31619 21.707 7.70672L9.70701 19.7067C9.31648 20.0972 8.68332 20.0972 8.2928 19.7067L2.6928 14.1067C2.50526 13.9192 2.3999 13.6648 2.3999 13.3996C2.3999 13.1344 2.50526 12.88 2.6928 12.6925L4.0928 11.2925C4.48332 10.902 5.11648 10.902 5.50701 11.2925L8.9999 14.7854Z"})})},lo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5zM12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5zm0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3z"})})},co=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 7c2.76 0 5 2.24 5 5 0 .65-.13 1.26-.36 1.83l2.92 2.92c1.51-1.26 2.7-2.89 3.43-4.75-1.73-4.39-6-7.5-11-7.5-1.4 0-2.74.25-3.98.7l2.16 2.16C10.74 7.13 11.35 7 12 7zM2 4.27l2.28 2.28.46.46C3.08 8.3 1.78 10.02 1 12c1.73 4.39 6 7.5 11 7.5 1.55 0 3.03-.3 4.38-.84l.42.42L19.73 22 21 20.73 3.27 3 2 4.27zM7.53 9.8l1.55 1.55c-.05.21-.08.43-.08.65 0 1.66 1.34 3 3 3 .22 0 .44-.03.65-.08l1.55 1.55c-.67.33-1.41.53-2.2.53-2.76 0-5-2.24-5-5 0-.79.2-1.53.53-2.2zm4.31-.78 3.15 3.15.02-.16c0-1.66-1.34-3-3-3l-.17.01z"})})},so=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M16 1H4c-1.1 0-2 .9-2 2v14h2V3h12V1zm3 4H8c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h11c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm0 16H8V7h11v14z"})})},fo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M20 9H4v2h16V9zM4 15h16v-2H4v2z"})})},ho=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})})},po=function(){return Yr("svg",{className:"MuiSvgIcon-root MuiSvgIcon-fontSizeMedium MuiBox-root css-1om0hkc",focusable:"false","aria-hidden":"true",viewBox:"0 0 24 24","data-testid":"OpenInFullIcon",fill:"currentColor",children:Yr("path",{d:"M21 11V3h-8l3.29 3.29-10 10L3 13v8h8l-3.29-3.29 10-10z"})})},vo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M23 8c0 1.1-.9 2-2 2-.18 0-.35-.02-.51-.07l-3.56 3.55c.05.16.07.34.07.52 0 1.1-.9 2-2 2s-2-.9-2-2c0-.18.02-.36.07-.52l-2.55-2.55c-.16.05-.34.07-.52.07s-.36-.02-.52-.07l-4.55 4.56c.05.16.07.33.07.51 0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2c.18 0 .35.02.51.07l4.56-4.55C8.02 9.36 8 9.18 8 9c0-1.1.9-2 2-2s2 .9 2 2c0 .18-.02.36-.07.52l2.55 2.55c.16-.05.34-.07.52-.07s.36.02.52.07l3.55-3.56C19.02 8.35 19 8.18 19 8c0-1.1.9-2 2-2s2 .9 2 2z"})})},mo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:[Yr("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M21 5C19.89 4.65 18.67 4.5 17.5 4.5C15.55 4.5 13.45 4.9 12 6C10.55 4.9 8.45 4.5 6.5 4.5C5.33 4.5 4.11 4.65 3 5C2.25 5.25 1.6 5.55 1 6V20.6C1 20.85 1.25 21.1 1.5 21.1C1.6 21.1 1.65 21.1 1.75 21.05C3.15 20.3 4.85 20 6.5 20C8.2 20 10.65 20.65 12 21.5C13.35 20.65 15.8 20 17.5 20C19.15 20 20.85 20.3 22.25 21.05C22.35 21.1 22.4 21.1 22.5 21.1C22.75 21.1 23 20.85 23 20.6V6C22.4 5.55 21.75 5.25 21 5ZM21 18.5C19.9 18.15 18.7 18 17.5 18C15.8 18 13.35 18.65 12 19.5C10.65 18.65 8.2 18 6.5 18C5.3 18 4.1 18.15 3 18.5V7C4.1 6.65 5.3 6.5 6.5 6.5C8.2 6.5 10.65 7.15 12 8C13.35 7.15 15.8 6.5 17.5 6.5C18.7 6.5 19.9 6.65 21 7V18.5Z"}),Yr("path",{d:"M17.5 10.5C18.38 10.5 19.23 10.59 20 10.76V9.24C19.21 9.09 18.36 9 17.5 9C15.8 9 14.26 9.29 13 9.83V11.49C14.13 10.85 15.7 10.5 17.5 10.5ZM13 12.49V14.15C14.13 13.51 15.7 13.16 17.5 13.16C18.38 13.16 19.23 13.25 20 13.42V11.9C19.21 11.75 18.36 11.66 17.5 11.66C15.8 11.66 14.26 11.96 13 12.49ZM17.5 14.33C15.8 14.33 14.26 14.62 13 15.16V16.82C14.13 16.18 15.7 15.83 17.5 15.83C18.38 15.83 19.23 15.92 20 16.09V14.57C19.21 14.41 18.36 14.33 17.5 14.33Z"}),Yr("path",{d:"M6.5 10.5C5.62 10.5 4.77 10.59 4 10.76V9.24C4.79 9.09 5.64 9 6.5 9C8.2 9 9.74 9.29 11 9.83V11.49C9.87 10.85 8.3 10.5 6.5 10.5ZM11 12.49V14.15C9.87 13.51 8.3 13.16 6.5 13.16C5.62 13.16 4.77 13.25 4 13.42V11.9C4.79 11.75 5.64 11.66 6.5 11.66C8.2 11.66 9.74 11.96 11 12.49ZM6.5 14.33C8.2 14.33 9.74 14.62 11 15.16V16.82C9.87 16.18 8.3 15.83 6.5 15.83C5.62 15.83 4.77 15.92 4 16.09V14.57C4.79 14.41 5.64 14.33 6.5 14.33Z"})]})},go=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10 10-4.49 10-10S17.51 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm3-8c0 1.66-1.34 3-3 3s-3-1.34-3-3 1.34-3 3-3 3 1.34 3 3z"})})},yo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{fillRule:"evenodd",clipRule:"evenodd",d:"M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM12 6C9.79 6 8 7.79 8 10H10C10 8.9 10.9 8 12 8C13.1 8 14 8.9 14 10C14 10.8792 13.4202 11.3236 12.7704 11.8217C11.9421 12.4566 11 13.1787 11 15H13C13 13.9046 13.711 13.2833 14.4408 12.6455C15.21 11.9733 16 11.2829 16 10C16 7.79 14.21 6 12 6ZM13 16V18H11V16H13Z"})})},_o=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M4 20h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2zM2 6c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2zm4 1H4V5h2v2zm-2 7h16c1.1 0 2-.9 2-2s-.9-2-2-2H4c-1.1 0-2 .9-2 2s.9 2 2 2zm0-3h2v2H4v-2z"})})},bo=function(){return Yr("svg",{viewBox:"0 0 24 24",fill:"currentColor",children:Yr("path",{d:"M4 18h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zm0-5h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1s.45 1 1 1zM3 7c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1z"})})},Do=function(e){var t=Ft(ee({width:0,height:0}),2),n=t[0],r=t[1];return ne((function(){var t=new ResizeObserver((function(e){var t=e[0].contentRect,n=t.width,i=t.height;r({width:n,height:i})}));return e&&t.observe(e),function(){e&&t.unobserve(e)}}),[e]),n},wo=n(123),xo=n.n(wo);function ko(e,t){if(null==e)return{};var n,r,i=function(e,t){if(null==e)return{};var n,r,i={},o=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}var Co=["to","isNavLink","children"],Ao=function(e){var t=e.to,n=e.isNavLink,r=e.children,i=ko(e,Co);return n?Yr(sr,mr(mr({to:t},i),{},{children:r})):Yr("div",mr(mr({},i),{},{children:r}))},Eo=function(e){var t,n=e.activeItem,r=e.item,i=e.color,o=void 0===i?Pr("color-primary"):i,a=e.activeNavRef,u=e.onChange,l=e.isNavLink;return Yr(Ao,{className:xo()(pr({"vm-tabs-item":!0,"vm-tabs-item_active":n===r.value},r.className||"",r.className)),isNavLink:l,to:r.value,style:{color:o},onClick:(t=r.value,function(){u&&u(t)}),ref:n===r.value?a:void 0,children:[r.icon&&Yr("div",{className:xo()({"vm-tabs-item__icon":!0,"vm-tabs-item__icon_single":!r.label}),children:r.icon}),r.label]})},So=function(e){var t=e.activeItem,n=e.items,r=e.color,i=void 0===r?Pr("color-primary"):r,o=e.onChange,a=e.indicatorPlacement,u=void 0===a?"bottom":a,l=e.isNavLink,c=Do(document.body),s=ie(null),f=Ft(ee({left:0,width:0,bottom:0}),2),d=f[0],h=f[1];return ne((function(){var e;if((null===(e=s.current)||void 0===e?void 0:e.base)instanceof HTMLElement){var t=s.current.base,n=t.offsetLeft,r=t.offsetWidth,i=t.offsetHeight;h({left:n,width:r,bottom:"top"===u?i-2:0})}}),[c,t,s,n]),Yr("div",{className:"vm-tabs",children:[n.map((function(e){return Yr(Eo,{activeItem:t,item:e,onChange:o,color:i,activeNavRef:s,isNavLink:l},e.value)})),Yr("div",{className:"vm-tabs__indicator",style:mr(mr({},d),{},{borderColor:i})})]})},No=[{value:"chart",icon:Yr(no,{}),label:"Graph",prometheusCode:0},{value:"code",icon:Yr(io,{}),label:"JSON",prometheusCode:3},{value:"table",icon:Yr(ro,{}),label:"Table",prometheusCode:1}],Fo=function(){var e=Po().displayType,t=Ro();return Yr(So,{activeItem:e,items:No,onChange:function(n){var r;t({type:"SET_DISPLAY_TYPE",payload:null!==(r=n)&&void 0!==r?r:e})}})},To=Mr("g0.tab",0),Oo=No.find((function(e){return e.prometheusCode===+To||e.value===To})),Mo=Lr("SERIES_LIMITS"),Bo={displayType:(null===Oo||void 0===Oo?void 0:Oo.value)||"chart",nocache:!1,isTracingEnabled:!1,seriesLimits:Mo?JSON.parse(Lr("SERIES_LIMITS")):Fr,tableCompact:Lr("TABLE_COMPACT")||!1};function Lo(e,t){switch(t.type){case"SET_DISPLAY_TYPE":return mr(mr({},e),{},{displayType:t.payload});case"SET_SERIES_LIMITS":return Br("SERIES_LIMITS",JSON.stringify(t.payload)),mr(mr({},e),{},{seriesLimits:t.payload});case"TOGGLE_QUERY_TRACING":return mr(mr({},e),{},{isTracingEnabled:!e.isTracingEnabled});case"TOGGLE_NO_CACHE":return mr(mr({},e),{},{nocache:!e.nocache});case"TOGGLE_TABLE_COMPACT":return Br("TABLE_COMPACT",!e.tableCompact),mr(mr({},e),{},{tableCompact:!e.tableCompact});default:throw new Error}}var Io=j({}),Po=function(){return le(Io).state},Ro=function(){return le(Io).dispatch},zo={customStep:Mr("g0.step_input",""),yaxis:{limits:{enable:!1,range:{1:[0,0]}}}};function jo(e,t){switch(t.type){case"TOGGLE_ENABLE_YAXIS_LIMITS":return mr(mr({},e),{},{yaxis:mr(mr({},e.yaxis),{},{limits:mr(mr({},e.yaxis.limits),{},{enable:!e.yaxis.limits.enable})})});case"SET_CUSTOM_STEP":return mr(mr({},e),{},{customStep:t.payload});case"SET_YAXIS_LIMITS":return mr(mr({},e),{},{yaxis:mr(mr({},e.yaxis),{},{limits:mr(mr({},e.yaxis.limits),{},{range:t.payload})})});default:throw new Error}}var $o=j({}),Ho=function(){return le($o).state},Uo=function(){return le($o).dispatch},Yo={runQuery:0,topN:Mr("topN",10),date:Mr("date",_t()().tz().format(Gr)),focusLabel:Mr("focusLabel",""),match:Mr("match",""),extraLabel:Mr("extra_label","")};function Vo(e,t){switch(t.type){case"SET_TOP_N":return mr(mr({},e),{},{topN:t.payload});case"SET_DATE":return mr(mr({},e),{},{date:t.payload});case"SET_MATCH":return mr(mr({},e),{},{match:t.payload});case"SET_EXTRA_LABEL":return mr(mr({},e),{},{extraLabel:t.payload});case"SET_FOCUS_LABEL":return mr(mr({},e),{},{focusLabel:t.payload});case"RUN_QUERY":return mr(mr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var qo=j({}),Wo=function(){return le(qo).state},Qo=function(){return le(qo).dispatch},Go={topN:Mr("topN",null),maxLifetime:Mr("maxLifetime",""),runQuery:0};function Jo(e,t){switch(t.type){case"SET_TOP_N":return mr(mr({},e),{},{topN:t.payload});case"SET_MAX_LIFE_TIME":return mr(mr({},e),{},{maxLifetime:t.payload});case"SET_RUN_QUERY":return mr(mr({},e),{},{runQuery:e.runQuery+1});default:throw new Error}}var Zo=j({}),Ko=function(){return le(Zo).state},Xo={success:Yr(Yi,{}),error:Yr(Ui,{}),warning:Yr(Hi,{}),info:Yr($i,{})},ea=function(e){var t,n=e.variant,r=e.children,i=qr().isDarkTheme;return Yr("div",{className:xo()((t={"vm-alert":!0},pr(t,"vm-alert_".concat(n),n),pr(t,"vm-alert_dark",i),t)),children:[Yr("div",{className:"vm-alert__icon",children:Xo[n||"info"]}),Yr("div",{className:"vm-alert__content",children:r})]})},ta=j({showInfoMessage:function(){}}),na=function(){return le(ta)},ra={dashboardsSettings:[],dashboardsLoading:!1,dashboardsError:""};function ia(e,t){switch(t.type){case"SET_DASHBOARDS_SETTINGS":return mr(mr({},e),{},{dashboardsSettings:t.payload});case"SET_DASHBOARDS_LOADING":return mr(mr({},e),{},{dashboardsLoading:t.payload});case"SET_DASHBOARDS_ERROR":return mr(mr({},e),{},{dashboardsError:t.payload});default:throw new Error}}var oa=j({}),aa=function(){return le(oa).state},ua=function(){for(var e=arguments.length,t=new Array(e),n=0;nh,m=r.top-20<0,g=r.left+y.width+20>f,_=r.left-20<0;return v&&(r.top=t.top-y.height-u),m&&(r.top=t.height+t.top+u),g&&(r.left=t.right-y.width-l),_&&(r.left=t.left+l),d&&(r.width="".concat(t.width,"px")),r.top<0&&(r.top=20),r}),[n,i,p,t,d]);f&&ca(b,(function(){return v(!1)}),n),ne((function(){if(b.current&&p){var e=b.current.getBoundingClientRect(),t=e.right,n=e.width;t>window.innerWidth&&(b.current.style.left="".concat(window.innerWidth-20-n,"px"))}}),[p,b]);var x=xo()({"vm-popper":!0,"vm-popper_open":p});return Yr(g,{children:p&>.createPortal(Yr("div",{className:x,ref:b,style:w,children:t}),document.body)})},fa={windows:"Windows",mac:"Mac OS",linux:"Linux"};function da(){var e=Do(document.body),t=Ft(ee(!1),2),n=t[0],r=t[1];return ne((function(){var e=function(){var e=["Android","webOS","iPhone","iPad","iPod","BlackBerry","Windows Phone"].map((function(e){return navigator.userAgent.match(new RegExp(e,"i"))}));return e.some((function(e){return e}))}(),t=window.innerWidth<500;r(e||t)}),[e]),{isMobile:n}}var ha,pa=function(e){var t=e.children,n=e.title,r=e.open,i=e.placement,o=void 0===i?"bottom-center":i,a=e.offset,u=void 0===a?{top:6,left:0}:a,l=da().isMobile,c=Ft(ee(!1),2),s=c[0],f=c[1],d=Ft(ee({width:0,height:0}),2),h=d[0],p=d[1],v=ie(null),m=ie(null),y=function(){return f(!1)};ne((function(){return window.addEventListener("scroll",y),function(){window.removeEventListener("scroll",y)}}),[]),ne((function(){m.current&&s&&p({width:m.current.clientWidth,height:m.current.clientHeight})}),[s]);var _=ae((function(){var e,t=null===v||void 0===v||null===(e=v.current)||void 0===e?void 0:e.base;if(!t||!s)return{};var n=t.getBoundingClientRect(),r={top:0,left:0},i="bottom-right"===o||"top-right"===o,a="bottom-left"===o||"top-left"===o,l=null===o||void 0===o?void 0:o.includes("top"),c=(null===u||void 0===u?void 0:u.top)||0,f=(null===u||void 0===u?void 0:u.left)||0;r.left=n.left-(h.width-n.width)/2+f,r.top=n.height+n.top+c,i&&(r.left=n.right-h.width),a&&(r.left=n.left+f),l&&(r.top=n.top-h.height-c);var d=window,p=d.innerWidth,m=d.innerHeight,g=r.top+h.height+20>m,y=r.top-20<0,_=r.left+h.width+20>p,b=r.left-20<0;return g&&(r.top=n.top-h.height-c),y&&(r.top=n.height+n.top+c),_&&(r.left=n.right-h.width-f),b&&(r.left=n.left+f),r.top<0&&(r.top=20),r.left<0&&(r.left=20),r}),[v,o,s,h]),b=function(){"boolean"!==typeof r&&f(!0)},D=function(){f(!1)};return ne((function(){"boolean"===typeof r&&f(r)}),[r]),ne((function(){var e,t=null===v||void 0===v||null===(e=v.current)||void 0===e?void 0:e.base;if(t)return t.addEventListener("mouseenter",b),t.addEventListener("mouseleave",D),function(){t.removeEventListener("mouseenter",b),t.removeEventListener("mouseleave",D)}}),[v]),Yr(g,{children:[Yr(g,{ref:v,children:t}),!l&&s&>.createPortal(Yr("div",{className:"vm-tooltip",ref:m,style:_,children:n}),document.body)]})},va=[{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"}],ma=function(){var e=Do(document.body),t=Ni(),n=kr(),r=Ft(ee(!1),2),i=r[0],o=r[1],a=Ft(ee(va[0]),2),u=a[0],l=a[1];ne((function(){var e,n=u.seconds;return i?e=setInterval((function(){t({type:"RUN_QUERY"})}),1e3*n):l(va[0]),function(){e&&clearInterval(e)}}),[u,i]);var c=Ft(ee(!1),2),s=c[0],f=c[1],d=ie(null),h=function(e){return function(){!function(e){(i&&!e.seconds||!i&&e.seconds)&&o((function(e){return!e})),l(e),f(!1)}(e)}};return Yr(g,{children:[Yr("div",{className:"vm-execution-controls",children:Yr("div",{className:xo()({"vm-execution-controls-buttons":!0,"vm-header-button":!n,"vm-execution-controls-buttons_short":e.width<=360}),children:[e.width>360&&Yr(pa,{title:"Refresh dashboard",children:Yr(la,{variant:"contained",color:"primary",onClick:function(){t({type:"RUN_QUERY"})},startIcon:Yr(Vi,{})})}),Yr(pa,{title:"Auto-refresh control",children:Yr("div",{ref:d,children:Yr(la,{variant:"contained",color:"primary",fullWidth:!0,endIcon:Yr("div",{className:xo()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":s}),children:Yr(qi,{})}),onClick:function(){f((function(e){return!e}))},children:u.title})})})]})}),Yr(sa,{open:s,placement:"bottom-right",onClose:function(){f(!1)},buttonRef:d,children:Yr("div",{className:"vm-execution-controls-list",children:va.map((function(e){return Yr("div",{className:xo()({"vm-list-item":!0,"vm-list-item_active":e.seconds===u.seconds}),onClick:h(e),children:e.title},e.seconds)}))})})]})},ga=function(e){var t=e.relativeTime,n=e.setDuration;return Yr("div",{className:"vm-time-duration",children:hi.map((function(e){var r,i=e.id,o=e.duration,a=e.until,u=e.title;return Yr("div",{className:xo()({"vm-list-item":!0,"vm-list-item_active":i===t}),onClick:(r={duration:o,until:a(),id:i},function(){n(r)}),children:u||o},i)}))})},ya=function(e){var t=e.viewDate,n=e.displayYears,r=e.onChangeViewDate;return Yr("div",{className:"vm-calendar-header",children:[Yr("div",{className:"vm-calendar-header-left",onClick:e.toggleDisplayYears,children:[Yr("span",{className:"vm-calendar-header-left__date",children:t.format("MMMM YYYY")}),Yr("div",{className:"vm-calendar-header-left__select-year",children:Yr(Wi,{})})]}),!n&&Yr("div",{className:"vm-calendar-header-right",children:[Yr("div",{className:"vm-calendar-header-right__prev",onClick:function(){r(t.subtract(1,"month"))},children:Yr(qi,{})}),Yr("div",{className:"vm-calendar-header-right__next",onClick:function(){r(t.add(1,"month"))},children:Yr(qi,{})})]})]})},_a=["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],ba=function(e){var t=e.viewDate,n=e.selectDate,r=e.onChangeSelectDate,i=_t()().tz().startOf("day"),o=ae((function(){var e=new Array(42).fill(null),n=t.startOf("month"),r=t.endOf("month").diff(n,"day")+1,i=new Array(r).fill(n).map((function(e,t){return e.add(t,"day")})),o=n.day();return e.splice.apply(e,[o,r].concat(Ot(i))),e}),[t]),a=function(e){return function(){e&&r(e)}};return Yr("div",{className:"vm-calendar-body",children:[_a.map((function(e){return Yr("div",{className:"vm-calendar-body-cell vm-calendar-body-cell_weekday",children:e[0]},e)})),o.map((function(e,t){return Yr("div",{className:xo()({"vm-calendar-body-cell":!0,"vm-calendar-body-cell_day":!0,"vm-calendar-body-cell_day_empty":!e,"vm-calendar-body-cell_day_active":(e&&e.toISOString())===n.startOf("day").toISOString(),"vm-calendar-body-cell_day_today":(e&&e.toISOString())===i.toISOString()}),onClick:a(e),children:e&&e.format("D")},e?e.toISOString():t)}))]})},Da=function(e){var t=e.viewDate,n=e.onChangeViewDate,r=ae((function(){return t.format("YYYY")}),[t]),i=ae((function(){var e=_t()().subtract(103,"year");return new Array(206).fill(e).map((function(e,t){return e.add(t,"year")}))}),[t]);ne((function(){var e=document.getElementById("vm-calendar-year-".concat(r));e&&e.scrollIntoView({block:"center"})}),[]);return Yr("div",{className:"vm-calendar-years",children:i.map((function(e){return Yr("div",{className:xo()({"vm-calendar-years__year":!0,"vm-calendar-years__year_selected":e.format("YYYY")===r}),id:"vm-calendar-year-".concat(e.format("YYYY")),onClick:(t=e,function(){n(t)}),children:e.format("YYYY")},e.format("YYYY"));var t}))})};!function(e){e[e.hour=0]="hour",e[e.minutes=1]="minutes",e[e.seconds=2]="seconds"}(ha||(ha={}));var wa=function(e){var t=e.selectDate,n=e.onChangeTime,r=e.onClose,i=qr().isDarkTheme,o=Ft(ee(ha.hour),2),a=o[0],u=o[1],l=Ft(ee(t.format("HH")),2),c=l[0],s=l[1],f=Ft(ee(t.format("mm")),2),d=f[0],h=f[1],p=Ft(ee(t.format("ss")),2),v=p[0],m=p[1],g=ae((function(){return a===ha.hour?new Array(24).fill("00").map((function(e,t){return{value:t,degrees:t/12*360,offset:0===t||t>12,title:t?"".concat(t):e}})):new Array(60).fill("00").map((function(e,t){return{value:t,degrees:t/60*360,offset:!1,title:t?"".concat(t):e}}))}),[a,c,d,v]),y=ae((function(){switch(a){case ha.hour:return+c/12*360;case ha.minutes:return+d/60*360;case ha.seconds:return+v/60*360}}),[a,c,d,v]),_=ie(null),b=ie(null),D=ie(null),w=function(e){return function(t){!function(e,t){t.target.select(),u(e)}(e,t)}};return ne((function(){n("".concat(c,":").concat(d,":").concat(v))}),[c,d,v]),ne((function(){s(t.format("HH")),h(t.format("mm")),m(t.format("ss"))}),[t]),ne((function(){_.current&&_.current.focus()}),[]),Yr("div",{className:"vm-calendar-time-picker",children:[Yr("div",{className:"vm-calendar-time-picker-clock",children:[Yr("div",{className:xo()({"vm-calendar-time-picker-clock__arrow":!0,"vm-calendar-time-picker-clock__arrow_offset":a===ha.hour&&("00"===c||+c>12)}),style:{transform:"rotate(".concat(y,"deg)")}}),g.map((function(e){return Yr("div",{className:xo()({"vm-calendar-time-picker-clock__time":!0,"vm-calendar-time-picker-clock__time_offset":e.offset,"vm-calendar-time-picker-clock__time_hide":g.length>24&&e.value%5}),style:{transform:"rotate(".concat(e.degrees,"deg)")},onClick:(t=e.value,function(){var e=String(t);switch(a){case ha.hour:s(e),b.current&&b.current.focus();break;case ha.minutes:h(e),D.current&&D.current.focus();break;case ha.seconds:m(e),r()}}),children:Yr("span",{style:{transform:"rotate(-".concat(e.degrees,"deg)")},children:e.title})},e.value);var t}))]}),Yr("div",{className:xo()({"vm-calendar-time-picker-fields":!0,"vm-calendar-time-picker-fields_dark":i}),children:[Yr("input",{className:"vm-calendar-time-picker-fields__input",value:c,onChange:function(e){var t=e.target,n=t.value,r=+n>23?"23":n;t.value=r,s(r),n.length>1&&b.current&&b.current.focus()},onFocus:w(ha.hour),ref:_,type:"number",min:0,max:24}),Yr("span",{children:":"}),Yr("input",{className:"vm-calendar-time-picker-fields__input",value:d,onChange:function(e){var t=e.target,n=t.value,r=+n>59?"59":n;t.value=r,h(r),n.length>1&&D.current&&D.current.focus()},onFocus:w(ha.minutes),ref:b,type:"number",min:0,max:60}),Yr("span",{children:":"}),Yr("input",{className:"vm-calendar-time-picker-fields__input",value:v,onChange:function(e){var t=e.target,n=t.value,i=+n>59?"59":n;t.value=i,m(i),n.length>1&&D.current&&r()},onFocus:w(ha.seconds),ref:D,type:"number",min:0,max:60})]})]})},xa=[{value:"date",icon:Yr(Ji,{})},{value:"time",icon:Yr(Gi,{})}],ka=function(e){var t=e.date,n=e.timepicker,r=void 0!==n&&n,i=e.format,o=void 0===i?Jr:i,a=e.onChange,u=e.onClose,l=Ft(ee(!1),2),c=l[0],s=l[1],f=Ft(ee(_t().tz(t)),2),d=f[0],h=f[1],p=Ft(ee(_t().tz(t)),2),v=p[0],m=p[1],y=Ft(ee(xa[0].value),2),_=y[0],b=y[1],D=function(e){h(e),s(!1)};return ne((function(){v.format()!==_t().tz(t).format()&&a(v.format(o))}),[v]),Yr("div",{className:"vm-calendar",children:["date"===_&&Yr(ya,{viewDate:d,onChangeViewDate:D,toggleDisplayYears:function(){s((function(e){return!e}))},displayYears:c}),"date"===_&&Yr(g,{children:[!c&&Yr(ba,{viewDate:d,selectDate:v,onChangeSelectDate:function(e){m(e),r&&b("time")}}),c&&Yr(Da,{viewDate:d,onChangeViewDate:D})]}),"time"===_&&Yr(wa,{selectDate:v,onChangeTime:function(e){var t=Ft(e.split(":"),3),n=t[0],r=t[1],i=t[2];m((function(e){return e.set("hour",+n).set("minute",+r).set("second",+i)}))},onClose:function(){u&&u()}}),r&&Yr("div",{className:"vm-calendar__tabs",children:Yr(So,{activeItem:_,items:xa,onChange:function(e){b(e)},indicatorPlacement:"top"})})]})},Ca=Ae((function(e,t){var n=e.date,r=e.targetRef,i=e.format,o=void 0===i?Jr:i,a=e.timepicker,u=e.onChange,l=Ft(ee(!1),2),c=l[0],s=l[1],f=ae((function(){return n?_t().tz(n):_t()().tz()}),[n]),d=function(){s((function(e){return!e}))},h=function(){s(!1)},p=function(e){"Escape"!==e.key&&"Enter"!==e.key||h()};return ne((function(){var e;return null===(e=r.current)||void 0===e||e.addEventListener("click",d),function(){var e;null===(e=r.current)||void 0===e||e.removeEventListener("click",d)}}),[r]),ne((function(){return window.addEventListener("keyup",p),function(){window.removeEventListener("keyup",p)}}),[]),Yr(g,{children:Yr(sa,{open:c,buttonRef:r,placement:"bottom-right",onClose:h,children:Yr("div",{ref:t,children:Yr(ka,{date:f,format:o,timepicker:a,onChange:function(e){a||h(),u(e)},onClose:h})})})})})),Aa=Ca,Ea=function(){var e=qr().isDarkTheme,t=ie(null),n=Do(document.body),r=ae((function(){return n.width>1280}),[n]),i=Ft(ee(),2),o=i[0],a=i[1],u=Ft(ee(),2),l=u[0],c=u[1],s=ae((function(){return _t().tz(l).format(Jr)}),[l]),f=ae((function(){return _t().tz(o).format(Jr)}),[o]),d=Si(),h=d.period,p=h.end,v=h.start,m=d.relativeTime,y=d.timezone,_=d.duration,b=Ni(),D=kr(),w=ae((function(){return{region:y,utc:vi(y)}}),[y]);ne((function(){a(si(di(p)))}),[y,p]),ne((function(){c(si(di(v)))}),[y,v]);var x=function(e){var t=e.duration,n=e.until,r=e.id;b({type:"SET_RELATIVE_TIME",payload:{duration:t,until:n,id:r}}),O(!1)},k=ae((function(){return{start:_t().tz(di(v)).format(Jr),end:_t().tz(di(p)).format(Jr)}}),[v,p,y]),C=ae((function(){return m&&"none"!==m?m.replace(/_/g," "):"".concat(k.start," - ").concat(k.end)}),[m,k]),A=ie(null),E=ie(null),S=ie(null),N=ie(null),F=Ft(ee(!1),2),T=F[0],O=F[1],M=ie(null),B=function(){O(!1)};return ne((function(){var e=pi({relativeTimeId:m,defaultDuration:_,defaultEndInput:di(p)});x({id:e.relativeTimeId,duration:e.duration,until:e.endInput})}),[y]),ca(t,(function(e){var t,n,r=e.target,i=(null===A||void 0===A?void 0:A.current)&&A.current.contains(r),o=(null===E||void 0===E?void 0:E.current)&&E.current.contains(r),a=(null===S||void 0===S?void 0:S.current)&&(null===S||void 0===S||null===(t=S.current)||void 0===t?void 0:t.contains(r)),u=(null===N||void 0===N?void 0:N.current)&&(null===N||void 0===N||null===(n=N.current)||void 0===n?void 0:n.contains(r));i||o||a||u||B()})),Yr(g,{children:[Yr("div",{ref:M,children:Yr(pa,{title:r?"Time range controls":C,children:Yr(la,{className:D?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Yr(Gi,{}),onClick:function(){O((function(e){return!e}))},children:r&&Yr("span",{children:C})})})}),Yr(sa,{open:T,buttonRef:M,placement:"bottom-right",onClose:B,clickOutside:!1,children:Yr("div",{className:"vm-time-selector",ref:t,children:[Yr("div",{className:"vm-time-selector-left",children:[Yr("div",{className:xo()({"vm-time-selector-left-inputs":!0,"vm-time-selector-left-inputs_dark":e}),children:[Yr("div",{className:"vm-time-selector-left-inputs__date",ref:A,children:[Yr("label",{children:"From:"}),Yr("span",{children:s}),Yr(Ji,{}),Yr(Aa,{ref:S,date:l||"",onChange:function(e){return c(e)},targetRef:A,timepicker:!0})]}),Yr("div",{className:"vm-time-selector-left-inputs__date",ref:E,children:[Yr("label",{children:"To:"}),Yr("span",{children:f}),Yr(Ji,{}),Yr(Aa,{ref:N,date:o||"",onChange:function(e){return a(e)},targetRef:E,timepicker:!0})]})]}),Yr("div",{className:"vm-time-selector-left-timezone",children:[Yr("div",{className:"vm-time-selector-left-timezone__title",children:w.region}),Yr("div",{className:"vm-time-selector-left-timezone__utc",children:w.utc})]}),Yr(la,{variant:"text",startIcon:Yr(Zi,{}),onClick:function(){return b({type:"RUN_QUERY_TO_NOW"})},children:"switch to now"}),Yr("div",{className:"vm-time-selector-left__controls",children:[Yr(la,{color:"error",variant:"outlined",onClick:function(){a(si(di(p))),c(si(di(v))),O(!1)},children:"Cancel"}),Yr(la,{color:"primary",onClick:function(){return l&&o&&b({type:"SET_PERIOD",payload:{from:_t().tz(l).toDate(),to:_t().tz(o).toDate()}}),void O(!1)},children:"Apply"})]})]}),Yr(ga,{relativeTime:m||"",setDuration:x})]})})]})},Sa=function(e){var t=e.label,n=e.value,r=e.type,i=void 0===r?"text":r,o=e.error,a=void 0===o?"":o,u=e.placeholder,l=e.endIcon,c=e.startIcon,s=e.disabled,f=void 0!==s&&s,d=e.autofocus,h=void 0!==d&&d,p=e.helperText,v=e.onChange,m=e.onEnter,g=e.onKeyDown,y=e.onFocus,_=e.onBlur,b=qr().isDarkTheme,D=ie(null),w=ie(null),x=ae((function(){return"textarea"===i?w:D}),[i]),k=xo()({"vm-text-field__input":!0,"vm-text-field__input_error":a,"vm-text-field__input_icon-start":c,"vm-text-field__input_disabled":f,"vm-text-field__input_textarea":"textarea"===i}),C=function(e){g&&g(e),"Enter"!==e.key||e.shiftKey||(e.preventDefault(),m&&m())},A=function(e){f||v&&v(e.target.value)};ne((function(){var e;h&&(null===x||void 0===x||null===(e=x.current)||void 0===e?void 0:e.focus)&&x.current.focus()}),[x,h]);var E=function(){y&&y()},S=function(){_&&_()};return Yr("label",{className:xo()({"vm-text-field":!0,"vm-text-field_textarea":"textarea"===i,"vm-text-field_dark":b}),"data-replicated-value":n,children:[c&&Yr("div",{className:"vm-text-field__icon-start",children:c}),l&&Yr("div",{className:"vm-text-field__icon-end",children:l}),"textarea"===i?Yr("textarea",{className:k,disabled:f,ref:w,value:n,rows:1,placeholder:u,onInput:A,onKeyDown:C,onFocus:E,onBlur:S}):Yr("input",{className:k,disabled:f,ref:D,value:n,type:i,placeholder:u,onInput:A,onKeyDown:C,onFocus:E,onBlur:S}),t&&Yr("span",{className:"vm-text-field__label",children:t}),Yr("span",{className:"vm-text-field__error","data-show":!!a,children:a}),p&&!a&&Yr("span",{className:"vm-text-field__helper-text",children:p})]})},Na=function(e){var t;try{t=new URL(e)}catch(_){return!1}return"http:"===t.protocol||"https:"===t.protocol},Fa=function(e){var t=e.serverUrl,n=e.onChange,r=e.onEnter,i=Ft(ee(""),2),o=i[0],a=i[1];return Yr(Sa,{autofocus:!0,label:"Server URL",value:t,error:o,onChange:function(e){var t=e||"";n(t),a(""),t||a(gr.emptyServer),Na(t)||a(gr.validServer)},onEnter:r})},Ta=function(e){var t=e.title,n=e.children,r=e.onClose,i=da().isMobile,o=function(e){"Escape"===e.key&&r()};return ne((function(){return document.body.style.overflow="hidden",window.addEventListener("keyup",o),function(){document.body.style.overflow="auto",window.removeEventListener("keyup",o)}}),[]),gt.createPortal(Yr("div",{className:xo()({"vm-modal":!0,"vm-modal_mobile":i}),onMouseDown:r,children:Yr("div",{className:"vm-modal-content",children:[Yr("div",{className:"vm-modal-content-header",children:[t&&Yr("div",{className:"vm-modal-content-header__title",children:t}),Yr("div",{className:"vm-modal-header__close",children:Yr(la,{variant:"text",size:"small",onClick:r,children:Yr(zi,{})})})]}),Yr("div",{className:"vm-modal-content-body",onMouseDown:function(e){e.stopPropagation()},children:n})]})}),document.body)},Oa=[{label:"Graph",type:"chart"},{label:"JSON",type:"code"},{label:"Table",type:"table"}],Ma=function(e){var t=e.limits,n=e.onChange,r=e.onEnter,i=Ft(ee({table:"",chart:"",code:""}),2),o=i[0],a=i[1],u=function(e){return function(r){!function(e,r){var i=e||"";a((function(e){return mr(mr({},e),{},pr({},r,+i<0?gr.positiveNumber:""))})),n(mr(mr({},t),{},pr({},r,i||1/0)))}(r,e)}};return Yr("div",{className:"vm-limits-configurator",children:[Yr("div",{className:"vm-server-configurator__title",children:["Series limits by tabs",Yr(pa,{title:"To disable limits set to 0",children:Yr(la,{variant:"text",color:"primary",size:"small",startIcon:Yr($i,{})})}),Yr("div",{className:"vm-limits-configurator-title__reset",children:Yr(la,{variant:"text",color:"primary",size:"small",startIcon:Yr(ji,{}),onClick:function(){n(Fr)},children:"Reset"})})]}),Yr("div",{className:"vm-limits-configurator__inputs",children:Oa.map((function(e){return Yr("div",{children:Yr(Sa,{label:e.label,value:t[e.type],error:o[e.type],onChange:u(e.type),onEnter:r,type:"number"})},e.type)}))})]})},Ba=function(e){var t=e.defaultExpanded,n=void 0!==t&&t,r=e.onChange,i=e.title,o=e.children,a=Ft(ee(n),2),u=a[0],l=a[1];return ne((function(){r&&r(u)}),[u]),Yr(g,{children:[Yr("header",{className:"vm-accordion-header ".concat(u&&"vm-accordion-header_open"),onClick:function(){l((function(e){return!e}))},children:[i,Yr("div",{className:"vm-accordion-header__arrow ".concat(u&&"vm-accordion-header__arrow_open"),children:Yr(qi,{})})]}),u&&Yr("section",{className:"vm-accordion-section",children:o},"content")]})},La=function(e){var t=e.timezoneState,n=e.onChange,r=mi(),i=Ft(ee(!1),2),o=i[0],a=i[1],u=Ft(ee(""),2),l=u[0],c=u[1],f=ie(null),d=ae((function(){if(!l)return r;try{return mi(l)}catch(s){return{}}}),[l,r]),h=ae((function(){return Object.keys(d)}),[d]),p=ae((function(){return{region:_t().tz.guess(),utc:vi(_t().tz.guess())}}),[]),v=ae((function(){return{region:t,utc:vi(t)}}),[t]),m=function(){a(!1)},g=function(e){return function(){!function(e){n(e.region),c(""),m()}(e)}};return Yr("div",{className:"vm-timezones",children:[Yr("div",{className:"vm-server-configurator__title",children:"Time zone"}),Yr("div",{className:"vm-timezones-item vm-timezones-item_selected",onClick:function(){a((function(e){return!e}))},ref:f,children:[Yr("div",{className:"vm-timezones-item__title",children:v.region}),Yr("div",{className:"vm-timezones-item__utc",children:v.utc}),Yr("div",{className:xo()({"vm-timezones-item__icon":!0,"vm-timezones-item__icon_open":o}),children:Yr(Wi,{})})]}),Yr(sa,{open:o,buttonRef:f,placement:"bottom-left",onClose:m,fullWidth:!0,children:Yr("div",{className:"vm-timezones-list",children:[Yr("div",{className:"vm-timezones-list-header",children:[Yr("div",{className:"vm-timezones-list-header__search",children:Yr(Sa,{autofocus:!0,label:"Search",value:l,onChange:function(e){c(e)}})}),Yr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:g(p),children:[Yr("div",{className:"vm-timezones-item__title",children:["Browser Time (",p.region,")"]}),Yr("div",{className:"vm-timezones-item__utc",children:p.utc})]})]}),h.map((function(e){return Yr("div",{className:"vm-timezones-list-group",children:Yr(Ba,{defaultExpanded:!0,title:Yr("div",{className:"vm-timezones-list-group__title",children:e}),children:Yr("div",{className:"vm-timezones-list-group-options",children:d[e]&&d[e].map((function(e){return Yr("div",{className:"vm-timezones-item vm-timezones-list-group-options__item",onClick:g(e),children:[Yr("div",{className:"vm-timezones-item__title",children:e.region}),Yr("div",{className:"vm-timezones-item__utc",children:e.utc})]},e.search)}))})})},e)}))]})})]})},Ia=function(e){var t=e.options,n=e.value,r=e.label,i=e.onChange,o=ie(null),a=Ft(ee({width:"0px",left:"0px",borderRadius:"0px"}),2),u=a[0],l=a[1],c=function(e){return function(){i(e)}};return ne((function(){if(o.current){var e=t.findIndex((function(e){return e.value===n})),r=o.current.getBoundingClientRect().width,i=e*r,a="0";0===e&&(a="16px 0 0 16px"),e===t.length-1&&(a="10px",i-=1,a="0 16px 16px 0"),0!==e&&e!==t.length-1&&(r+=1,i-=1),l({width:"".concat(r,"px"),left:"".concat(i,"px"),borderRadius:a})}else l({width:"0px",left:"0px",borderRadius:"0px"})}),[o,n,t]),Yr("div",{className:"vm-toggles",children:[r&&Yr("label",{className:"vm-toggles__label",children:r}),Yr("div",{className:"vm-toggles-group",style:{gridTemplateColumns:"repeat(".concat(t.length,", 1fr)")},children:[u.borderRadius&&Yr("div",{className:"vm-toggles-group__highlight",style:u}),t.map((function(e,t){return Yr("div",{className:xo()({"vm-toggles-group-item":!0,"vm-toggles-group-item_first":0===t,"vm-toggles-group-item_active":e.value===n,"vm-toggles-group-item_icon":e.icon&&e.title}),onClick:c(e.value),ref:e.value===n?o:null,children:[e.icon,e.title]},e.value)}))]})]})},Pa=Object.values(yr).map((function(e){return{title:e,value:e}})),Ra=function(){var e=da().isMobile,t=qr().theme,n=Wr();return Yr("div",{className:xo()({"vm-theme-control":!0,"vm-theme-control_mobile":e}),children:[Yr("div",{className:"vm-server-configurator__title",children:"Theme preferences"}),Yr("div",{className:"vm-theme-control__toggle",children:Yr(Ia,{options:Pa,value:t,onChange:function(e){n({type:"SET_THEME",payload:e})}})},"".concat(e))]})},za="Settings",ja=function(e){var t=e.showTitle,n=da().isMobile,r=kr(),i=qr().serverUrl,o=Si().timezone,a=Po().seriesLimits,u=Wr(),l=Ni(),c=Ro(),s=Ft(ee(i),2),f=s[0],d=s[1],h=Ft(ee(a),2),p=h[0],v=h[1],m=Ft(ee(o),2),y=m[0],_=m[1],b=Ft(ee(!1),2),D=b[0],w=b[1],x=function(){return w(!1)},k=function(){u({type:"SET_SERVER",payload:f}),l({type:"SET_TIMEZONE",payload:y}),c({type:"SET_SERIES_LIMITS",payload:p}),x()};return ne((function(){i!==f&&d(i)}),[i]),Yr(g,{children:[Yr(pa,{open:!0!==t&&void 0,title:za,children:Yr(la,{className:xo()({"vm-header-button":!r}),variant:"contained",color:"primary",startIcon:Yr(Ri,{}),onClick:function(){return w(!0)},children:t&&za})}),D&&Yr(Ta,{title:za,onClose:x,children:Yr("div",{className:xo()({"vm-server-configurator":!0,"vm-server-configurator_mobile":n}),children:[!r&&Yr("div",{className:"vm-server-configurator__input",children:Yr(Fa,{serverUrl:f,onChange:d,onEnter:k})}),Yr("div",{className:"vm-server-configurator__input",children:Yr(Ma,{limits:p,onChange:v,onEnter:k})}),Yr("div",{className:"vm-server-configurator__input",children:Yr(La,{timezoneState:y,onChange:_})}),!r&&Yr("div",{className:"vm-server-configurator__input",children:Yr(Ra,{})}),Yr("div",{className:"vm-server-configurator__footer",children:[Yr(la,{variant:"outlined",color:"error",onClick:x,children:"Cancel"}),Yr(la,{variant:"contained",onClick:k,children:"apply"})]})]})})]})},$a=(Object.values(fa).find((function(e){return navigator.userAgent.indexOf(e)>=0}))||"unknown")===fa.mac?"Cmd":"Ctrl",Ha=[{title:"Query",list:[{keys:["Enter"],description:"Run"},{keys:["Shift","Enter"],description:"Multi-line queries"},{keys:[$a,"Arrow Up"],description:"Previous command from the Query history"},{keys:[$a,"Arrow Down"],description:"Next command from the Query history"},{keys:[$a,"Click by 'Eye'"],description:"Toggle multiple queries"}]},{title:"Graph",list:[{keys:[$a,"Scroll Up"],alt:["+"],description:"Zoom in"},{keys:[$a,"Scroll Down"],alt:["-"],description:"Zoom out"},{keys:[$a,"Click and Drag"],description:"Move the graph left/right"}]},{title:"Legend",list:[{keys:["Mouse Click"],description:"Select series"},{keys:[$a,"Mouse Click"],description:"Toggle multiple series"}]}],Ua="Shortcut keys",Ya=function(e){var t=e.showTitle,n=Ft(ee(!1),2),r=n[0],i=n[1],o=kr();return Yr(g,{children:[Yr(pa,{open:!0!==t&&void 0,title:Ua,placement:"bottom-center",children:Yr(la,{className:o?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Yr(Ki,{}),onClick:function(){i(!0)},children:t&&Ua})}),r&&Yr(Ta,{title:"Shortcut keys",onClose:function(){i(!1)},children:Yr("div",{className:"vm-shortcuts",children:Ha.map((function(e){return Yr("div",{className:"vm-shortcuts-section",children:[Yr("h3",{className:"vm-shortcuts-section__title",children:e.title}),Yr("div",{className:"vm-shortcuts-section-list",children:e.list.map((function(e){return Yr("div",{className:"vm-shortcuts-section-list-item",children:[Yr("div",{className:"vm-shortcuts-section-list-item__key",children:[e.keys.map((function(t,n){return Yr(g,{children:[Yr("code",{children:t},t),n!==e.keys.length-1?"+":""]})})),e.alt&&e.alt.map((function(t,n){return Yr(g,{children:["or",Yr("code",{children:t},t),n!==e.alt.length-1?"+":""]})}))]}),Yr("p",{className:"vm-shortcuts-section-list-item__description",children:e.description})]},e.keys.join("+"))}))})]},e.title)}))})})]})},Va=function(){var e=kr(),t=ie(null),n=Wo().date,r=Qo(),i=ae((function(){return _t().tz(n).format(Gr)}),[n]);return Yr("div",{children:[Yr("div",{ref:t,children:Yr(pa,{title:"Date control",children:Yr(la,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Yr(Ji,{}),children:i})})}),Yr(Aa,{date:n||"",format:Gr,onChange:function(e){r({type:"SET_DATE",payload:e})},targetRef:t})]})};var qa=function(e){var t=ie();return ne((function(){t.current=e}),[e]),t.current},Wa=function(){var e=kr(),t=Ho().customStep,n=Si().period.step,r=Uo(),i=Si().period,o=qa(i.end-i.start),a=Ft(ee(!1),2),u=a[0],l=a[1],c=Ft(ee(t||n),2),s=c[0],f=c[1],d=Ft(ee(""),2),h=d[0],p=d[1],v=ie(null),m=function(){l(!1)},g=function(e){var t=e||s||n||"1s",i=(t.match(/[a-zA-Z]+/g)||[]).length?t:"".concat(t,"s");r({type:"SET_CUSTOM_STEP",payload:i}),f(i),p("")},y=function(e){var t=e.match(/[-+]?([0-9]*\.[0-9]+|[0-9]+)/g)||[],n=e.match(/[a-zA-Z]+/g)||[],r=t.length&&t.every((function(e){return parseFloat(e)>0})),i=n.every((function(e){return ri.find((function(t){return t.short===e}))})),o=r&&i;f(e),p(o?"":gr.validStep)};return ne((function(){t&&g(t)}),[t]),ne((function(){!t&&n&&g(n)}),[n]),ne((function(){i.end-i.start!==o&&o&&n&&g(n)}),[i,o,n]),Yr("div",{className:"vm-step-control",ref:v,children:[Yr(pa,{title:"Query resolution step width",children:Yr(la,{className:e?"":"vm-header-button",variant:"contained",color:"primary",startIcon:Yr(vo,{}),onClick:function(){l((function(e){return!e}))},children:Yr("p",{children:["STEP",Yr("p",{className:"vm-step-control__value",children:s})]})})}),Yr(sa,{open:u,placement:"bottom-right",onClose:m,buttonRef:v,children:Yr("div",{className:"vm-step-control-popper",children:[Yr(Sa,{autofocus:!0,label:"Step value",value:s,error:h,onChange:y,onEnter:function(){g(),m()},onFocus:function(){document.activeElement instanceof HTMLInputElement&&document.activeElement.select()},onBlur:g,endIcon:Yr(pa,{title:"Set default step value: ".concat(n),children:Yr(la,{size:"small",variant:"text",color:"primary",startIcon:Yr(ji,{}),onClick:function(){var e=n||"1s";y(e),g(e)}})})}),Yr("div",{className:"vm-step-control-popper-info",children:[Yr("code",{children:"step"})," - the ",Yr("a",{className:"vm-link vm-link_colored",href:"https://prometheus.io/docs/prometheus/latest/querying/basics/#time-durations",target:"_blank",rel:"noreferrer",children:"interval"}),"between datapoints, which must be returned from the range query. The ",Yr("code",{children:"query"})," is executed at",Yr("code",{children:"start"}),", ",Yr("code",{children:"start+step"}),", ",Yr("code",{children:"start+2*step"}),", \u2026, ",Yr("code",{children:"end"})," timestamps.",Yr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/keyConcepts.html#range-query",target:"_blank",rel:"help noreferrer",children:"Read more about Range query"})]})]})})]})},Qa=function(e){var t=e.activeMenu,n=e.label,r=e.value,i=e.color;return Yr(sr,{className:xo()({"vm-header-nav-item":!0,"vm-header-nav-item_active":t===r}),style:{color:i},to:r,children:n})},Ga=function(e){var t=e.activeMenu,n=e.label,r=e.color,i=e.background,o=e.submenu,a=e.direction,u=jn().pathname,l=Ft(ee(!1),2),c=l[0],s=l[1],f=Ft(ee(null),2),d=f[0],h=f[1],p=ie(null),v=function(){s(!1)},m=function(){d&&clearTimeout(d);var e=setTimeout(v,300);h(e)};return ne((function(){v()}),[u]),"column"===a?Yr(g,{children:o.map((function(e){return Yr(Qa,{activeMenu:t,value:e.value,label:e.label||""},e.value)}))}):Yr("div",{className:xo()({"vm-header-nav-item":!0,"vm-header-nav-item_sub":!0,"vm-header-nav-item_open":c,"vm-header-nav-item_active":o.find((function(e){return e.value===t}))}),style:{color:r},onMouseEnter:function(){s(!0),d&&clearTimeout(d)},onMouseLeave:m,ref:p,children:[n,Yr(Wi,{}),Yr(sa,{open:c,placement:"bottom-left",offset:{top:12,left:0},onClose:v,buttonRef:p,children:Yr("div",{className:"vm-header-nav-item-submenu",style:{background:i},onMouseLeave:m,onMouseEnter:function(){d&&clearTimeout(d)},children:o.map((function(e){return Yr(Qa,{activeMenu:t,value:e.value,label:e.label||"",color:r},e.value)}))})})]})},Ja=function(e){var t=e.color,n=e.background,r=e.direction,i=kr(),o=aa().dashboardsSettings,a=jn().pathname,u=Ft(ee(a),2),l=u[0],c=u[1],s=ae((function(){return[{label:Dr[wr.home].title,value:wr.home},{label:"Explore",submenu:[{label:Dr[wr.metrics].title,value:wr.metrics},{label:Dr[wr.cardinality].title,value:wr.cardinality},{label:Dr[wr.topQueries].title,value:wr.topQueries}]},{label:Dr[wr.trace].title,value:wr.trace},{label:Dr[wr.dashboards].title,value:wr.dashboards,hide:i||!o.length}].filter((function(e){return!e.hide}))}),[i,o]);return ne((function(){c(a)}),[a]),Yr("nav",{className:xo()(pr({"vm-header-nav":!0},"vm-header-nav_".concat(r),r)),children:s.map((function(e){return e.submenu?Yr(Ga,{activeMenu:l,label:e.label||"",submenu:e.submenu,color:t,background:n,direction:r},e.label):Yr(Qa,{activeMenu:l,value:e.value,label:e.label||"",color:t},e.value)}))})},Za=function(e){var t=e.accountIds,n=kr(),r=da().isMobile,i=qr(),o=i.tenantId,a=i.serverUrl,u=Wr(),l=Ni(),c=Ft(ee(""),2),f=c[0],d=c[1],h=Ft(ee(!1),2),p=h[0],v=h[1],m=ie(null),g=ae((function(){if(!f)return t;try{var e=new RegExp(f,"i");return t.filter((function(t){return e.test(t)})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(s){return[]}}),[f,t]),y=function(e){return(e.match(/(\/select\/)(\d+|\d.+)(\/)(.+)/)||[])[2]},_=ae((function(){var e=y(a);return t.length>1&&e}),[t,a]),b=function(){v(!1)},D=function(e){return function(){var t=e;if(u({type:"SET_TENANT_ID",payload:t}),a){var n=Cr(a,t);if(n===a)return;u({type:"SET_SERVER",payload:n}),l({type:"RUN_QUERY"})}b()}};return ne((function(){var e=y(a);o&&o!==e?D(o)():D(e)()}),[a]),_?Yr("div",{className:"vm-tenant-input",children:[Yr(pa,{title:"Define Tenant ID if you need request to another storage",children:Yr("div",{ref:m,children:Yr(la,{className:n?"":"vm-header-button",variant:"contained",color:"primary",fullWidth:!0,startIcon:Yr(_o,{}),endIcon:r?void 0:Yr("div",{className:xo()({"vm-execution-controls-buttons__arrow":!0,"vm-execution-controls-buttons__arrow_open":p}),children:Yr(qi,{})}),onClick:function(){v((function(e){return!e}))},children:!r&&o})})}),Yr(sa,{open:p,placement:"bottom-right",onClose:b,buttonRef:m,children:Yr("div",{className:"vm-list vm-tenant-input-list",children:[Yr("div",{className:"vm-tenant-input-list__search",children:Yr(Sa,{autofocus:!0,label:"Search",value:f,onChange:d})}),g.map((function(e){return Yr("div",{className:xo()({"vm-list-item":!0,"vm-list-item_active":e===o}),onClick:D(e),children:e},e)}))]})})]}):null};function Ka(){Ka=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},o=i.iterator||"@@iterator",a=i.asyncIterator||"@@asyncIterator",u=i.toStringTag||"@@toStringTag";function l(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{l({},"")}catch(S){l=function(e,t,n){return e[t]=n}}function c(e,t,n,i){var o=t&&t.prototype instanceof d?t:d,a=Object.create(o.prototype),u=new C(i||[]);return r(a,"_invoke",{value:D(e,n,u)}),a}function s(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(S){return{type:"throw",arg:S}}}e.wrap=c;var f={};function d(){}function h(){}function p(){}var v={};l(v,o,(function(){return this}));var m=Object.getPrototypeOf,g=m&&m(m(A([])));g&&g!==t&&n.call(g,o)&&(v=g);var y=p.prototype=d.prototype=Object.create(v);function _(e){["next","throw","return"].forEach((function(t){l(e,t,(function(e){return this._invoke(t,e)}))}))}function b(e,t){function i(r,o,a,u){var l=s(e[r],e,o);if("throw"!==l.type){var c=l.arg,f=c.value;return f&&"object"==Bt(f)&&n.call(f,"__await")?t.resolve(f.__await).then((function(e){i("next",e,a,u)}),(function(e){i("throw",e,a,u)})):t.resolve(f).then((function(e){c.value=e,a(c)}),(function(e){return i("throw",e,a,u)}))}u(l.arg)}var o;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return o=o?o.then(r,r):r()}})}function D(e,t,n){var r="suspendedStart";return function(i,o){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw o;return E()}for(n.method=i,n.arg=o;;){var a=n.delegate;if(a){var u=w(a,n);if(u){if(u===f)continue;return u}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var l=s(e,t,n);if("normal"===l.type){if(r=n.done?"completed":"suspendedYield",l.arg===f)continue;return{value:l.arg,done:n.done}}"throw"===l.type&&(r="completed",n.method="throw",n.arg=l.arg)}}}function w(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,w(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),f;var i=s(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,f;var o=i.arg;return o?o.done?(t[e.resultName]=o.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,f):o:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,f)}function x(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function k(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function C(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(x,this),this.reset(!0)}function A(e){if(e){var t=e[o];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r=0;--i){var o=this.tryEntries[i],a=o.completion;if("root"===o.tryLoc)return r("end");if(o.tryLoc<=this.prev){var u=n.call(o,"catchLoc"),l=n.call(o,"finallyLoc");if(u&&l){if(this.prev=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),k(n),f}},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 i=r.arg;k(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:A(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),f}},e}function Xa(e,t,n,r,i,o,a){try{var u=e[o](a),l=u.value}catch(c){return void n(c)}u.done?t(l):Promise.resolve(l).then(r,i)}function eu(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var o=e.apply(t,n);function a(e){Xa(o,r,i,a,u,"next",e)}function u(e){Xa(o,r,i,a,u,"throw",e)}a(void 0)}))}}var tu,nu,ru=function(e){var t=e.open,n=e.onClick;return Yr("button",{className:xo()({"vm-menu-burger":!0,"vm-menu-burger_opened":t}),onClick:n,children:Yr("span",{})})},iu=function(e){var t=e.background,n=e.color,r=e.onClickLogo,i=jn().pathname,o=da().isMobile,a=ie(null),u=Ft(ee(!1),2),l=u[0],c=u[1],s=function(){c(!1)};return ne(s,[i]),ca(a,s),Yr("div",{className:"vm-header-sidebar",ref:a,children:[Yr("div",{className:xo()({"vm-header-sidebar-button":!0,"vm-header-sidebar-button_open":l}),children:Yr(ru,{open:l,onClick:function(){c((function(e){return!e}))}})}),Yr("div",{className:xo()({"vm-header-sidebar-menu":!0,"vm-header-sidebar-menu_open":l}),children:[Yr("div",{className:"vm-header-sidebar-menu__logo",onClick:r,style:{color:n},children:Yr(Ii,{})}),Yr("div",{children:Yr(Ja,{color:n,background:t,direction:"column"})}),Yr("div",{className:"vm-header-sidebar-menu-settings",children:[Yr(ja,{showTitle:!0}),!o&&Yr(Ya,{showTitle:!0})]})]})]})},ou=function(){var e=ae((function(){return window.innerWidth<1e3}),[Do(document.body)]),t=qr().isDarkTheme,n=kr(),r=function(){var e=xr().useTenantID,t=qr().serverUrl,n=Ft(ee(!1),2),r=n[0],i=n[1],o=Ft(ee(),2),a=o[0],u=o[1],l=Ft(ee([]),2),c=l[0],s=l[1],f=ae((function(){return"".concat(t.replace(/^(.+)(\/select.+)/,"$1"),"/admin/tenants")}),[t]);return ne((function(){if(e){var t=function(){var e=eu(Ka().mark((function e(){var t,n,r;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i(!0),e.prev=1,e.next=4,fetch(f);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],s(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?u(void 0):u("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&u("".concat(e.t0.name,": ").concat(e.t0.message));case 16:i(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[f]),{accountIds:c,isLoading:r,error:a}}(),i=r.accountIds,o=ae((function(){return Pr(t?"color-background-block":"color-primary")}),[t]),a=ae((function(){var e=xr().headerStyles,t=void 0===e?{}:e,r=t.background,i=void 0===r?n?"#FFF":o:r,a=t.color;return{background:i,color:void 0===a?n?o:"#FFF":a}}),[o]),u=a.background,l=a.color,c=$n(),s=jn(),f=s.search,d=s.pathname,h=ae((function(){return(Dr[d]||{}).header||{}}),[d]),p=function(){c({pathname:wr.home,search:f}),Or({}),window.location.reload()};return Yr("header",{className:xo()({"vm-header":!0,"vm-header_app":n,"vm-header_dark":t}),style:{background:u,color:l},children:[e?Yr(iu,{background:u,color:l,onClickLogo:p}):Yr(g,{children:[!n&&Yr("div",{className:"vm-header-logo",onClick:p,style:{color:l},children:Yr(Ii,{})}),Yr(Ja,{color:l,background:u})]}),Yr("div",{className:"vm-header__settings",children:[(null===h||void 0===h?void 0:h.tenant)&&Yr(Za,{accountIds:i}),(null===h||void 0===h?void 0:h.stepControl)&&Yr(Wa,{}),(null===h||void 0===h?void 0:h.timeSelector)&&Yr(Ea,{}),(null===h||void 0===h?void 0:h.cardinalityDatePicker)&&Yr(Va,{}),(null===h||void 0===h?void 0:h.executionControls)&&Yr(ma,{}),!e&&Yr(ja,{}),!e&&Yr(Ya,{})]})]})},au=function(){var e="2019-".concat(_t()().format("YYYY"));return Yr("footer",{className:"vm-footer",children:[Yr("a",{className:"vm-link vm-footer__website",target:"_blank",href:"https://victoriametrics.com/",rel:"me noreferrer",children:[Yr(Pi,{}),"victoriametrics.com"]}),Yr("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://docs.victoriametrics.com/#vmui",rel:"help noreferrer",children:[Yr(mo,{}),"Documentation"]}),Yr("a",{className:"vm-link vm-footer__link",target:"_blank",href:"https://github.com/VictoriaMetrics/VictoriaMetrics/issues/new/choose",rel:"noreferrer",children:[Yr(go,{}),"Create an issue"]}),Yr("div",{className:"vm-footer__copyright",children:["\xa9 ",e," VictoriaMetrics"]})]})},uu=function(){var e=eu(Ka().mark((function e(t){var n,r;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,fetch("./dashboards/".concat(t));case 2:return n=e.sent,e.next=5,n.json();case 5:return r=e.sent,e.abrupt("return",r);case 7:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),lu=function(){var e=kr(),t=qr().serverUrl,n=le(oa).dispatch,r=Ft(ee(!1),2),i=r[0],o=r[1],a=Ft(ee(""),2),u=a[0],l=a[1],c=Ft(ee([]),2),s=c[0],f=c[1],d=function(){var e=eu(Ka().mark((function e(){var t,n;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(null!==(t=window.__VMUI_PREDEFINED_DASHBOARDS__)&&void 0!==t&&t.length){e.next=3;break}return e.abrupt("return",[]);case 3:return e.next=5,Promise.all(t.map(function(){var e=eu(Ka().mark((function e(t){return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",uu(t));case 1:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}()));case 5:n=e.sent,f((function(e){return[].concat(Ot(n),Ot(e))}));case 7:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),h=function(){var e=eu(Ka().mark((function e(){var n,r,i;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t){e.next=2;break}return e.abrupt("return");case 2:return l(""),o(!0),e.prev=4,e.next=7,fetch("".concat(t,"/vmui/custom-dashboards"));case 7:return n=e.sent,e.next=10,n.json();case 10:if(r=e.sent,!n.ok){e.next=17;break}(i=r.dashboardsSettings)&&i.length>0&&f((function(e){return[].concat(Ot(e),Ot(i))})),o(!1),e.next=21;break;case 17:return e.next=19,d();case 19:l(r.error),o(!1);case 21:e.next=29;break;case 23:return e.prev=23,e.t0=e.catch(4),o(!1),e.t0 instanceof Error&&l("".concat(e.t0.name,": ").concat(e.t0.message)),e.next=29,d();case 29:case"end":return e.stop()}}),e,null,[[4,23]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){e||(f([]),h())}),[t]),ne((function(){n({type:"SET_DASHBOARDS_SETTINGS",payload:s})}),[s]),ne((function(){n({type:"SET_DASHBOARDS_LOADING",payload:i})}),[i]),ne((function(){n({type:"SET_DASHBOARDS_ERROR",payload:u})}),[u]),{dashboardsSettings:s,isLoading:i,error:u}},cu=function(){var e=kr();lu();var t=jn().pathname;return ne((function(){var e,n="vmui",r=null===(e=Dr[t])||void 0===e?void 0:e.title;document.title=r?"".concat(r," - ").concat(n):n}),[t]),Yr("section",{className:"vm-container",children:[Yr(ou,{}),Yr("div",{className:xo()({"vm-container-body":!0,"vm-container-body_app":e}),children:Yr(Xn,{})}),!e&&Yr(au,{})]})},su="u-off",fu="u-label",du="width",hu="height",pu="top",vu="bottom",mu="left",gu="right",yu="#000",_u=yu+"0",bu="mousemove",Du="mousedown",wu="mouseup",xu="mouseenter",ku="mouseleave",Cu="dblclick",Au="change",Eu="dppxchange",Su="undefined"!=typeof window,Nu=Su?document:null,Fu=Su?window:null,Tu=Su?navigator:null;function Ou(e,t){if(null!=t){var n=e.classList;!n.contains(t)&&n.add(t)}}function Mu(e,t){var n=e.classList;n.contains(t)&&n.remove(t)}function Bu(e,t,n){e.style[t]=n+"px"}function Lu(e,t,n,r){var i=Nu.createElement(e);return null!=t&&Ou(i,t),null!=n&&n.insertBefore(i,r),i}function Iu(e,t){return Lu("div",e,t)}var Pu=new WeakMap;function Ru(e,t,n,r,i){var o="translate("+t+"px,"+n+"px)";o!=Pu.get(e)&&(e.style.transform=o,Pu.set(e,o),t<0||n<0||t>r||n>i?Ou(e,su):Mu(e,su))}var zu=new WeakMap;function ju(e,t,n){var r=t+n;r!=zu.get(e)&&(zu.set(e,r),e.style.background=t,e.style.borderColor=n)}var $u=new WeakMap;function Hu(e,t,n,r){var i=t+""+n;i!=$u.get(e)&&($u.set(e,i),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 Uu={passive:!0},Yu=mr(mr({},Uu),{},{capture:!0});function Vu(e,t,n,r){t.addEventListener(e,n,r?Yu:Uu)}function qu(e,t,n,r){t.removeEventListener(e,n,r?Yu:Uu)}function Wu(e,t,n,r){var i;n=n||0;for(var o=(r=r||t.length-1)<=2147483647;r-n>1;)t[i=o?n+r>>1:sl((n+r)/2)]=t&&i<=n;i+=r)if(null!=e[i])return i;return-1}function Gu(e,t,n,r){var i=bl,o=-bl;if(1==r)i=e[t],o=e[n];else if(-1==r)i=e[n],o=e[t];else for(var a=t;a<=n;a++)null!=e[a]&&(i=hl(i,e[a]),o=pl(o,e[a]));return[i,o]}function Ju(e,t,n){for(var r=bl,i=-bl,o=t;o<=n;o++)e[o]>0&&(r=hl(r,e[o]),i=pl(i,e[o]));return[r==bl?1:r,i==-bl?10:i]}function Zu(e,t,n,r){var i=ml(e),o=ml(t),a=10==n?gl:yl;e==t&&(-1==i?(e*=n,t/=n):(e/=n,t*=n));var u=1==o?dl:sl,l=(1==i?sl:dl)(a(cl(e))),c=u(a(cl(t))),s=vl(n,l),f=vl(n,c);return l<0&&(s=Ol(s,-l)),c<0&&(f=Ol(f,-c)),r?(e=s*i,t=f*o):(e=Tl(e,s),t=Fl(t,f)),[e,t]}function Ku(e,t,n,r){var i=Zu(e,t,n,r);return 0==e&&(i[0]=0),0==t&&(i[1]=0),i}Su&&function e(){var t=devicePixelRatio;tu!=t&&(tu=t,nu&&qu(Au,nu,e),nu=matchMedia("(min-resolution: ".concat(tu-.001,"dppx) and (max-resolution: ").concat(tu+.001,"dppx)")),Vu(Au,nu,e),Fu.dispatchEvent(new CustomEvent(Eu)))}();var Xu={mode:3,pad:.1},el={pad:0,soft:null,mode:0},tl={min:el,max:el};function nl(e,t,n,r){return Hl(n)?il(e,t,n):(el.pad=n,el.soft=r?0:null,el.mode=r?3:0,il(e,t,tl))}function rl(e,t){return null==e?t:e}function il(e,t,n){var r=n.min,i=n.max,o=rl(r.pad,0),a=rl(i.pad,0),u=rl(r.hard,-bl),l=rl(i.hard,bl),c=rl(r.soft,bl),s=rl(i.soft,-bl),f=rl(r.mode,0),d=rl(i.mode,0),h=t-e,p=gl(h),v=pl(cl(e),cl(t)),m=gl(v),g=cl(m-p);(h<1e-9||g>10)&&(h=0,0!=e&&0!=t||(h=1e-9,2==f&&c!=bl&&(o=0),2==d&&s!=-bl&&(a=0)));var y=h||v||1e3,_=gl(y),b=vl(10,sl(_)),D=Ol(Tl(e-y*(0==h?0==e?.1:1:o),b/10),9),w=e>=c&&(1==f||3==f&&D<=c||2==f&&D>=c)?c:bl,x=pl(u,D=w?w:hl(w,D)),k=Ol(Fl(t+y*(0==h?0==t?.1:1:a),b/10),9),C=t<=s&&(1==d||3==d&&k>=s||2==d&&k<=s)?s:-bl,A=hl(l,k>C&&t<=C?C:pl(C,k));return x==A&&0==x&&(A=100),[x,A]}var ol=new Intl.NumberFormat(Su?Tu.language:"en-US"),al=function(e){return ol.format(e)},ul=Math,ll=ul.PI,cl=ul.abs,sl=ul.floor,fl=ul.round,dl=ul.ceil,hl=ul.min,pl=ul.max,vl=ul.pow,ml=ul.sign,gl=ul.log10,yl=ul.log2,_l=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return ul.asinh(e/t)},bl=1/0;function Dl(e){return 1+(0|gl((e^e>>31)-(e>>31)))}function wl(e,t){return fl(e/t)*t}function xl(e,t,n){return hl(pl(e,t),n)}function kl(e){return"function"==typeof e?e:function(){return e}}var Cl=function(e){return e},Al=function(e,t){return t},El=function(e){return null},Sl=function(e){return!0},Nl=function(e,t){return e==t};function Fl(e,t){return dl(e/t)*t}function Tl(e,t){return sl(e/t)*t}function Ol(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;if(jl(e))return e;var n=Math.pow(10,t),r=e*n*(1+Number.EPSILON);return fl(r)/n}var Ml=new Map;function Bl(e){return((""+e).split(".")[1]||"").length}function Ll(e,t,n,r){for(var i=[],o=r.map(Bl),a=t;a=0&&a>=0?0:u)+(a>=o[c]?0:o[c]),d=Ol(s,f);i.push(d),Ml.set(d,f)}return i}var Il={},Pl=[],Rl=[null,null],zl=Array.isArray,jl=Number.isInteger;function $l(e){return"string"==typeof e}function Hl(e){var t=!1;if(null!=e){var n=e.constructor;t=null==n||n==Object}return t}function Ul(e){return null!=e&&"object"==typeof e}var Yl=Object.getPrototypeOf(Uint8Array);function Vl(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Hl;if(zl(e)){var r=e.find((function(e){return null!=e}));if(zl(r)||n(r)){t=Array(e.length);for(var i=0;io){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 tc(e.getMinutes())},m:function(e){return e.getMinutes()},ss:function(e){return tc(e.getSeconds())},s:function(e){return e.getSeconds()},fff:function(e){return((t=e.getMilliseconds())<10?"00":t<100?"0":"")+t;var t}};function rc(e,t){t=t||ec;for(var n,r=[],i=/\{([a-z]+)\}|[^{]+/gi;n=i.exec(e);)r.push("{"==n[0][0]?nc[n[1]]:n[0]);return function(e){for(var n="",i=0;i=a,v=f>=o&&f=i?i:f,F=_+(sl(c)-sl(g))+Fl(g-_,N);h.push(F);for(var T=t(F),O=T.getHours()+T.getMinutes()/n+T.getSeconds()/r,M=f/r,B=d/u.axes[l]._space;!((F=Ol(F+f,1==e?0:3))>s);)if(M>1){var L=sl(Ol(O+M,6))%24,I=t(F).getHours()-L;I>1&&(I=-1),O=(O+M)%24,Ol(((F-=I*r)-h[h.length-1])/f,3)*B>=.7&&h.push(F)}else h.push(F)}return h}}]}var wc=Ft(Dc(1),3),xc=wc[0],kc=wc[1],Cc=wc[2],Ac=Ft(Dc(.001),3),Ec=Ac[0],Sc=Ac[1],Nc=Ac[2];function Fc(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 Tc(e,t){return function(n,r,i,o,a){var u,l,c,s,f,d,h=t.find((function(e){return a>=e[0]}))||t[t.length-1];return r.map((function(t){var n=e(t),r=n.getFullYear(),i=n.getMonth(),o=n.getDate(),a=n.getHours(),p=n.getMinutes(),v=n.getSeconds(),m=r!=u&&h[2]||i!=l&&h[3]||o!=c&&h[4]||a!=s&&h[5]||p!=f&&h[6]||v!=d&&h[7]||h[1];return u=r,l=i,c=o,s=a,f=p,d=v,m(n)}))}}function Oc(e,t,n){return new Date(e,t,n)}function Mc(e,t){return t(e)}Ll(2,-53,53,[1]);function Bc(e,t){return function(n,r){return t(e(r))}}var Lc={show:!0,live:!0,isolate:!1,mount:function(){},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 Ic=[0,0];function Pc(e,t,n){return function(e){0==e.button&&n(e)}}function Rc(e,t,n){return n}var zc={show:!0,x:!0,y:!0,lock:!1,move:function(e,t,n){return Ic[0]=t,Ic[1]=n,Ic},points:{show:function(e,t){var n=e.cursor.points,r=Iu(),i=n.size(e,t);Bu(r,du,i),Bu(r,hu,i);var o=i/-2;Bu(r,"marginLeft",o),Bu(r,"marginTop",o);var a=n.width(e,t,i);return a&&Bu(r,"borderWidth",a),r},size:function(e,t){return os(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:Pc,mouseup:Pc,click:Pc,dblclick:Pc,mousemove:Rc,mouseleave:Rc,mouseenter:Rc},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},jc={show:!0,stroke:"rgba(0,0,0,0.07)",width:2},$c=ql({},jc,{filter:Al}),Hc=ql({},$c,{size:10}),Uc=ql({},jc,{show:!1}),Yc='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"',Vc="bold "+Yc,qc={show:!0,scale:"x",stroke:yu,space:50,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Vc,side:2,grid:$c,ticks:Hc,border:Uc,font:Yc,rotate:0},Wc={show:!0,scale:"x",auto:!1,sorted:1,min:bl,max:-bl,idxs:[]};function Qc(e,t,n,r,i){return t.map((function(e){return null==e?"":al(e)}))}function Gc(e,t,n,r,i,o,a){for(var u=[],l=Ml.get(i)||0,c=n=a?n:Ol(Fl(n,i),l);c<=r;c=Ol(c+i,l))u.push(Object.is(c,-0)?0:c);return u}function Jc(e,t,n,r,i,o,a){var u=[],l=e.scales[e.axes[t].scale].log,c=sl((10==l?gl:yl)(n));i=vl(l,c),c<0&&(i=Ol(i,-c));var s=n;do{u.push(s),(s=Ol(s+i,Ml.get(i)))>=i*l&&(i=s)}while(s<=r);return u}function Zc(e,t,n,r,i,o,a){var u=e.scales[e.axes[t].scale].asinh,l=r>u?Jc(e,t,pl(u,n),r,i):[u],c=r>=0&&n<=0?[0]:[];return(n<-u?Jc(e,t,pl(u,-r),-n,i):[u]).reverse().map((function(e){return-e})).concat(c,l)}var Kc=/./,Xc=/[12357]/,es=/[125]/,ts=/1/;function ns(e,t,n,r,i){var o=e.axes[n],a=o.scale,u=e.scales[a];if(3==u.distr&&2==u.log)return t;var l=e.valToPos,c=o._space,s=l(10,a),f=l(9,a)-s>=c?Kc:l(7,a)-s>=c?Xc:l(5,a)-s>=c?es:ts;return t.map((function(e){return 4==u.distr&&0==e||f.test(e)?e:null}))}function rs(e,t){return null==t?"":al(t)}var is={show:!0,scale:"y",stroke:yu,space:30,gap:5,size:50,labelGap:0,labelSize:30,labelFont:Vc,side:3,grid:$c,ticks:Hc,border:Uc,font:Yc,rotate:0};function os(e,t){return Ol((3+2*(e||1))*t,3)}var as={scale:null,auto:!0,sorted:0,min:bl,max:-bl},us=function(e,t,n,r,i){return i},ls={show:!0,auto:!0,sorted:0,gaps:us,alpha:1,facets:[ql({},as,{scale:"x"}),ql({},as,{scale:"y"})]},cs={scale:"y",auto:!0,sorted:0,show:!0,spanGaps:!1,gaps:us,alpha:1,points:{show:function(e,t){var n=e.series[0],r=n.scale,i=n.idxs,o=e._data[0],a=e.valToPos(o[i[0]],r,!0),u=e.valToPos(o[i[1]],r,!0),l=cl(u-a)/(e.series[t].points.space*tu);return i[1]-i[0]<=l},filter:null},values:null,min:bl,max:-bl,idxs:[],path:null,clip:null};function ss(e,t,n,r,i){return n/10}var fs={time:!0,auto:!0,distr:1,log:10,asinh:1,min:null,max:null,dir:1,ori:0},ds=ql({},fs,{time:!1,ori:1}),hs={};function ps(e,t){var n=hs[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,i,o,a,u){for(var l=0;l0){a=new Path2D;for(var u=0==t?Es:Ss,l=n,c=0;cs[0]){var f=s[0]-l;f>0&&u(a,l,r,f,r+o),l=s[1]}}var d=n+i-l;d>0&&u(a,l,r,d,r+o)}return a}function bs(e,t,n,r,i,o,a){for(var u=[],l=e.length,c=1==i?n:r;c>=n&&c<=r;c+=i){if(null===t[c]){var s=c,f=c;if(1==i)for(;++c<=r&&null===t[c];)f=c;else for(;--c>=n&&null===t[c];)f=c;var d=o(e[s]),h=f==s?d:o(e[f]),p=s-i;d=a<=0&&p>=0&&p=0&&v>=0&&v=d&&u.push([d,h])}}return u}function Ds(e){return 0==e?Cl:1==e?fl:function(t){return wl(t,e)}}function ws(e){var t=0==e?xs:ks,n=0==e?function(e,t,n,r,i,o){e.arcTo(t,n,r,i,o)}:function(e,t,n,r,i,o){e.arcTo(n,t,i,r,o)},r=0==e?function(e,t,n,r,i){e.rect(t,n,r,i)}:function(e,t,n,r,i){e.rect(n,t,i,r)};return function(e,i,o,a,u){var l=arguments.length>5&&void 0!==arguments[5]?arguments[5]:0;0==l?r(e,i,o,a,u):(l=hl(l,a/2,u/2),t(e,i+l,o),n(e,i+a,o,i+a,o+u,l),n(e,i+a,o+u,i,o+u,l),n(e,i,o+u,i,o,l),n(e,i,o,i+a,o,l),e.closePath())}}var xs=function(e,t,n){e.moveTo(t,n)},ks=function(e,t,n){e.moveTo(n,t)},Cs=function(e,t,n){e.lineTo(t,n)},As=function(e,t,n){e.lineTo(n,t)},Es=ws(0),Ss=ws(1),Ns=function(e,t,n,r,i,o){e.arc(t,n,r,i,o)},Fs=function(e,t,n,r,i,o){e.arc(n,t,r,i,o)},Ts=function(e,t,n,r,i,o,a){e.bezierCurveTo(t,n,r,i,o,a)},Os=function(e,t,n,r,i,o,a){e.bezierCurveTo(n,t,i,r,a,o)};function Ms(e){return function(e,t,n,r,i){return vs(e,t,(function(t,o,a,u,l,c,s,f,d,h,p){var v,m,g=t.pxRound,y=t.points;0==u.ori?(v=xs,m=Ns):(v=ks,m=Fs);var _=Ol(y.width*tu,3),b=(y.size-y.width)/2*tu,D=Ol(2*b,3),w=new Path2D,x=new Path2D,k=e.bbox,C=k.left,A=k.top,E=k.width,S=k.height;Es(x,C-D,A-D,E+2*D,S+2*D);var N=function(e){if(null!=a[e]){var t=g(c(o[e],u,h,f)),n=g(s(a[e],l,p,d));v(w,t+b,n),m(w,t,n,b,0,2*ll)}};if(i)i.forEach(N);else for(var F=n;F<=r;F++)N(F);return{stroke:_>0?w:null,fill:w,clip:x,flags:3}}))}}function Bs(e){return function(t,n,r,i,o,a){r!=i&&(o!=r&&a!=r&&e(t,n,r),o!=i&&a!=i&&e(t,n,i),e(t,n,a))}}var Ls=Bs(Cs),Is=Bs(As);function Ps(e){var t=rl(null===e||void 0===e?void 0:e.alignGaps,0);return function(e,n,r,i){return vs(e,n,(function(o,a,u,l,c,s,f,d,h,p,v){var m,g,y=o.pxRound,_=function(e){return y(s(e,l,p,d))},b=function(e){return y(f(e,c,v,h))};0==l.ori?(m=Cs,g=Ls):(m=As,g=Is);for(var D,w,x,k=l.dir*(0==l.ori?1:-1),C={stroke:new Path2D,fill:null,clip:null,band:null,gaps:null,flags:1},A=C.stroke,E=bl,S=-bl,N=_(a[1==k?r:i]),F=Qu(u,r,i,1*k),T=Qu(u,r,i,-1*k),O=_(a[F]),M=_(a[T]),B=1==k?r:i;B>=r&&B<=i;B+=k){var L=_(a[B]);L==N?null!=u[B]&&(w=b(u[B]),E==bl&&(m(A,L,w),D=w),E=hl(w,E),S=pl(w,S)):(E!=bl&&(g(A,N,E,S,D,w),x=N),null!=u[B]?(m(A,L,w=b(u[B])),E=S=D=w):(E=bl,S=-bl),N=L)}E!=bl&&E!=S&&x!=N&&g(A,N,E,S,D,w);var I=Ft(ms(e,n),2),P=I[0],R=I[1];if(null!=o.fill||0!=P){var z=C.fill=new Path2D(A),j=b(o.fillTo(e,n,o.min,o.max,P));m(z,M,j),m(z,O,j)}if(!o.spanGaps){var $,H=[];($=H).push.apply($,Ot(bs(a,u,r,i,k,_,t))),C.gaps=H=o.gaps(e,n,r,i,H),C.clip=_s(H,l.ori,d,h,p,v)}return 0!=R&&(C.band=2==R?[ys(e,n,r,i,A,-1),ys(e,n,r,i,A,1)]:ys(e,n,r,i,A,R)),C}))}}function Rs(e,t,n,r,i,o){var a=e.length;if(a<2)return null;var u=new Path2D;if(n(u,e[0],t[0]),2==a)r(u,e[1],t[1]);else{for(var l=Array(a),c=Array(a-1),s=Array(a-1),f=Array(a-1),d=0;d0!==c[h]>0?l[h]=0:(l[h]=3*(f[h-1]+f[h])/((2*f[h]+f[h-1])/c[h-1]+(f[h]+2*f[h-1])/c[h]),isFinite(l[h])||(l[h]=0));l[a-1]=c[a-2];for(var p=0;p=i&&o+(l<5?Ml.get(l):0)<=17)return[l,c]}while(++u0?e:t.clamp(r,e,t.min,t.max,t.key)):4==t.distr?_l(e,t.asinh):e)-t._min)/(t._max-t._min)}function a(e,t,n,r){var i=o(e,t);return r+n*(-1==t.dir?1-i:i)}function u(e,t,n,r){var i=o(e,t);return r+n*(-1==t.dir?i:1-i)}function l(e,t,n,r){return 0==t.ori?a(e,t,n,r):u(e,t,n,r)}r.valToPosH=a,r.valToPosV=u;var c=!1;r.status=0;var s=r.root=Iu("uplot");(null!=e.id&&(s.id=e.id),Ou(s,e.class),e.title)&&(Iu("u-title",s).textContent=e.title);var f=Lu("canvas"),d=r.ctx=f.getContext("2d"),h=Iu("u-wrap",s),p=r.under=Iu("u-under",h);h.appendChild(f);var v=r.over=Iu("u-over",h),m=+rl((e=Vl(e)).pxAlign,1),g=Ds(m);(e.plugins||[]).forEach((function(t){t.opts&&(e=t.opts(r,e)||e)}));var y=e.ms||.001,_=r.series=1==i?Us(e.series||[],Wc,cs,!1):function(e,t){return e.map((function(e,n){return 0==n?null:ql({},t,e)}))}(e.series||[null],ls),b=r.axes=Us(e.axes||[],qc,is,!0),D=r.scales={},w=r.bands=e.bands||[];w.forEach((function(e){e.fill=kl(e.fill||null),e.dir=rl(e.dir,-1)}));var x=2==i?_[1].facets[0].scale:_[0].scale,k={axes:function(){for(var e=function(){var e=b[t];if(!e.show||!e._show)return"continue";var n,i,o=e.side,a=o%2,u=e.stroke(r,t),c=0==o||3==o?-1:1;if(e.label){var s=e.labelGap*c,f=fl((e._lpos+s)*tu);Ke(e.labelFont[0],u,"center",2==o?pu:vu),d.save(),1==a?(n=i=0,d.translate(f,fl(de+pe/2)),d.rotate((3==o?-ll:ll)/2)):(n=fl(fe+he/2),i=f),d.fillText(e.label,n,i),d.restore()}var h=Ft(e._found,2),p=h[0],v=h[1];if(0==v)return"continue";var m=D[e.scale],y=0==a?he:pe,_=0==a?fe:de,w=fl(e.gap*tu),x=e._splits,k=2==m.distr?x.map((function(e){return We[e]})):x,C=2==m.distr?We[x[1]]-We[x[0]]:p,A=e.ticks,E=e.border,S=A.show?fl(A.size*tu):0,N=e._rotate*-ll/180,F=g(e._pos*tu),T=F+(S+w)*c;i=0==a?T:0,n=1==a?T:0,Ke(e.font[0],u,1==e.align?mu:2==e.align?gu:N>0?mu:N<0?gu:0==a?"center":3==o?gu:mu,N||1==a?"middle":2==o?pu:vu);for(var O=1.5*e.font[1],M=x.map((function(e){return g(l(e,m,y,_))})),B=e._values,L=0;L0&&(_.forEach((function(e,n){if(n>0&&e.show&&null==e._paths){var o=2==i?[0,t[n][0].length-1]:function(e){var t=xl(Ye-1,0,Te-1),n=xl(Ve+1,0,Te-1);for(;null==e[t]&&t>0;)t--;for(;null==e[n]&&n0&&e.show){$e!=e.alpha&&(d.globalAlpha=$e=e.alpha),et(t,!1),e._paths&&tt(t,!1),et(t,!0);var n=e._paths?e._paths.gaps:null,i=e.points.show(r,t,Ye,Ve,n),o=e.points.filter(r,t,i,n);(i||o)&&(e.points._paths=e.points.paths(r,t,Ye,Ve,o),tt(t,!0)),1!=$e&&(d.globalAlpha=$e=1),an("drawSeries",t)}})))}},C=(e.drawOrder||["axes","series"]).map((function(e){return k[e]}));function A(t){var n=D[t];if(null==n){var r=(e.scales||Il)[t]||Il;if(null!=r.from)A(r.from),D[t]=ql({},D[r.from],r,{key:t});else{(n=D[t]=ql({},t==x?fs:ds,r)).key=t;var o=n.time,a=n.range,u=zl(a);if((t!=x||2==i&&!o)&&(!u||null!=a[0]&&null!=a[1]||(a={min:null==a[0]?Xu:{mode:1,hard:a[0],soft:a[0]},max:null==a[1]?Xu:{mode:1,hard:a[1],soft:a[1]}},u=!1),!u&&Hl(a))){var l=a;a=function(e,t,n){return null==t?Rl:nl(t,n,l)}}n.range=kl(a||(o?qs:t==x?3==n.distr?Gs:4==n.distr?Zs:Vs:3==n.distr?Qs:4==n.distr?Js:Ws)),n.auto=kl(!u&&n.auto),n.clamp=kl(n.clamp||ss),n._min=n._max=null}}}for(var E in A("x"),A("y"),1==i&&_.forEach((function(e){A(e.scale)})),b.forEach((function(e){A(e.scale)})),e.scales)A(E);var S,N,F=D[x],T=F.distr;0==F.ori?(Ou(s,"u-hz"),S=a,N=u):(Ou(s,"u-vt"),S=u,N=a);var O={};for(var M in D){var B=D[M];null==B.min&&null==B.max||(O[M]={min:B.min,max:B.max},B.min=B.max=null)}var L,I=e.tzDate||function(e){return new Date(fl(e/y))},P=e.fmtDate||rc,R=1==y?Cc(I):Nc(I),z=Tc(I,Fc(1==y?kc:Sc,P)),j=Bc(I,Mc("{YYYY}-{MM}-{DD} {h}:{mm}{aa}",P)),$=[],H=r.legend=ql({},Lc,e.legend),U=H.show,Y=H.markers;H.idxs=$,Y.width=kl(Y.width),Y.dash=kl(Y.dash),Y.stroke=kl(Y.stroke),Y.fill=kl(Y.fill);var V,q=[],W=[],Q=!1,G={};if(H.live){var J=_[1]?_[1].values:null;for(var Z in V=(Q=null!=J)?J(r,1,0):{_:0})G[Z]="--"}if(U)if(L=Lu("table","u-legend",s),H.mount(r,L),Q){var K=Lu("tr","u-thead",L);for(var X in Lu("th",null,K),V)Lu("th",fu,K).textContent=X}else Ou(L,"u-inline"),H.live&&Ou(L,"u-live");var ee={show:!0},te={show:!1};var ne=new Map;function re(e,t,n){var i=ne.get(t)||{},o=xe.bind[e](r,t,n);o&&(Vu(e,t,i[e]=o),ne.set(t,i))}function ie(e,t,n){var r=ne.get(t)||{};for(var i in r)null!=e&&i!=e||(qu(i,t,r[i]),delete r[i]);null==e&&ne.delete(t)}var oe=0,ae=0,ue=0,le=0,ce=0,se=0,fe=0,de=0,he=0,pe=0;r.bbox={};var ve=!1,me=!1,ge=!1,ye=!1,_e=!1,be=!1;function De(e,t,n){(n||e!=r.width||t!=r.height)&&we(e,t),lt(!1),ge=!0,me=!0,xe.left>=0&&(ye=be=!0),wt()}function we(e,t){r.width=oe=ue=e,r.height=ae=le=t,ce=se=0,function(){var e=!1,t=!1,n=!1,r=!1;b.forEach((function(i,o){if(i.show&&i._show){var a=i.side,u=a%2,l=i._size+(null!=i.label?i.labelSize:0);l>0&&(u?(ue-=l,3==a?(ce+=l,r=!0):n=!0):(le-=l,0==a?(se+=l,e=!0):t=!0))}})),Ne[0]=e,Ne[1]=n,Ne[2]=t,Ne[3]=r,ue-=Ue[1]+Ue[3],ce+=Ue[3],le-=Ue[2]+Ue[0],se+=Ue[0]}(),function(){var e=ce+ue,t=se+le,n=ce,r=se;function i(i,o){switch(i){case 1:return(e+=o)-o;case 2:return(t+=o)-o;case 3:return(n-=o)+o;case 0:return(r-=o)+o}}b.forEach((function(e,t){if(e.show&&e._show){var n=e.side;e._pos=i(n,e._size),null!=e.label&&(e._lpos=i(n,e.labelSize))}}))}();var n=r.bbox;fe=n.left=wl(ce*tu,.5),de=n.top=wl(se*tu,.5),he=n.width=wl(ue*tu,.5),pe=n.height=wl(le*tu,.5)}r.setSize=function(e){De(e.width,e.height)};var xe=r.cursor=ql({},zc,{drag:{y:2==i}},e.cursor);xe.idxs=$,xe._lock=!1;var ke=xe.points;ke.show=kl(ke.show),ke.size=kl(ke.size),ke.stroke=kl(ke.stroke),ke.width=kl(ke.width),ke.fill=kl(ke.fill);var Ce=r.focus=ql({},e.focus||{alpha:.3},xe.focus),Ae=Ce.prox>=0,Ee=[null];function Se(e,t){if(1==i||t>0){var n=1==i&&D[e.scale].time,o=e.value;e.value=n?$l(o)?Bc(I,Mc(o,P)):o||j:o||rs,e.label=e.label||(n?"Time":"Value")}if(t>0){e.width=null==e.width?1:e.width,e.paths=e.paths||$s||El,e.fillTo=kl(e.fillTo||gs),e.pxAlign=+rl(e.pxAlign,m),e.pxRound=Ds(e.pxAlign),e.stroke=kl(e.stroke||null),e.fill=kl(e.fill||null),e._stroke=e._fill=e._paths=e._focus=null;var a=os(e.width,1),u=e.points=ql({},{size:a,width:pl(1,.2*a),stroke:e.stroke,space:2*a,paths:Hs,_stroke:null,_fill:null},e.points);u.show=kl(u.show),u.filter=kl(u.filter),u.fill=kl(u.fill),u.stroke=kl(u.stroke),u.paths=kl(u.paths),u.pxAlign=e.pxAlign}if(U){var l=function(e,t){if(0==t&&(Q||!H.live||2==i))return Rl;var n=[],o=Lu("tr","u-series",L,L.childNodes[t]);Ou(o,e.class),e.show||Ou(o,su);var a=Lu("th",null,o);if(Y.show){var u=Iu("u-marker",a);if(t>0){var l=Y.width(r,t);l&&(u.style.border=l+"px "+Y.dash(r,t)+" "+Y.stroke(r,t)),u.style.background=Y.fill(r,t)}}var c=Iu(fu,a);for(var s in c.textContent=e.label,t>0&&(Y.show||(c.style.color=e.width>0?Y.stroke(r,t):Y.fill(r,t)),re("click",a,(function(t){if(!xe._lock){var n=_.indexOf(e);if((t.ctrlKey||t.metaKey)!=H.isolate){var r=_.some((function(e,t){return t>0&&t!=n&&e.show}));_.forEach((function(e,t){t>0&&Pt(t,r?t==n?ee:te:ee,!0,un.setSeries)}))}else Pt(n,{show:!e.show},!0,un.setSeries)}})),Ae&&re(xu,a,(function(t){xe._lock||Pt(_.indexOf(e),Rt,!0,un.setSeries)}))),V){var f=Lu("td","u-value",o);f.textContent="--",n.push(f)}return[o,n]}(e,t);q.splice(t,0,l[0]),W.splice(t,0,l[1]),H.values.push(null)}if(xe.show){$.splice(t,0,null);var c=function(e,t){if(t>0){var n=xe.points.show(r,t);if(n)return Ou(n,"u-cursor-pt"),Ou(n,e.class),Ru(n,-10,-10,ue,le),v.insertBefore(n,Ee[t]),n}}(e,t);c&&Ee.splice(t,0,c)}an("addSeries",t)}r.addSeries=function(e,t){t=null==t?_.length:t,e=1==i?Ys(e,t,Wc,cs):Ys(e,t,null,ls),_.splice(t,0,e),Se(_[t],t)},r.delSeries=function(e){if(_.splice(e,1),U){H.values.splice(e,1),W.splice(e,1);var t=q.splice(e,1)[0];ie(null,t.firstChild),t.remove()}xe.show&&($.splice(e,1),Ee.length>1&&Ee.splice(e,1)[0].remove()),an("delSeries",e)};var Ne=[!1,!1,!1,!1];function Fe(e,t,n,r){var i=Ft(n,4),o=i[0],a=i[1],u=i[2],l=i[3],c=t%2,s=0;return 0==c&&(l||a)&&(s=0==t&&!o||2==t&&!u?fl(qc.size/3):0),1==c&&(o||u)&&(s=1==t&&!a||3==t&&!l?fl(is.size/2):0),s}var Te,Oe,Me,Be,Le,Ie,Pe,Re,ze,je,$e,He=r.padding=(e.padding||[Fe,Fe,Fe,Fe]).map((function(e){return kl(rl(e,Fe))})),Ue=r._padding=He.map((function(e,t){return e(r,t,Ne,0)})),Ye=null,Ve=null,qe=1==i?_[0].idxs:null,We=null,Qe=!1;function Ge(e,n){if(t=null==e?[]:Vl(e,Ul),2==i){Te=0;for(var o=1;o<_.length;o++)Te+=t[o][0].length;r.data=t=e}else if(null==t[0]&&(t[0]=[]),r.data=t.slice(),We=t[0],Te=We.length,2==T){t[0]=Array(Te);for(var a=0;a=0,be=!0,wt()}}function Je(){var e,n;if(Qe=!0,1==i)if(Te>0){if(Ye=qe[0]=0,Ve=qe[1]=Te-1,e=t[0][Ye],n=t[0][Ve],2==T)e=Ye,n=Ve;else if(1==Te)if(3==T){var r=Ft(Zu(e,e,F.log,!1),2);e=r[0],n=r[1]}else if(4==T){var o=Ft(Ku(e,e,F.log,!1),2);e=o[0],n=o[1]}else if(F.time)n=e+fl(86400/y);else{var a=Ft(nl(e,n,.1,!0),2);e=a[0],n=a[1]}}else Ye=qe[0]=e=null,Ve=qe[1]=n=null;It(x,e,n)}function Ze(e,t,n,r,i,o){var a,u,l,c,s;null!==(a=e)&&void 0!==a||(e=_u),null!==(u=n)&&void 0!==u||(n=Pl),null!==(l=r)&&void 0!==l||(r="butt"),null!==(c=i)&&void 0!==c||(i=_u),null!==(s=o)&&void 0!==s||(o="round"),e!=Oe&&(d.strokeStyle=Oe=e),i!=Me&&(d.fillStyle=Me=i),t!=Be&&(d.lineWidth=Be=t),o!=Ie&&(d.lineJoin=Ie=o),r!=Pe&&(d.lineCap=Pe=r),n!=Le&&d.setLineDash(Le=n)}function Ke(e,t,n,r){t!=Me&&(d.fillStyle=Me=t),e!=Re&&(d.font=Re=e),n!=ze&&(d.textAlign=ze=n),r!=je&&(d.textBaseline=je=r)}function Xe(e,t,n,i){var o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:0;if(i.length>0&&e.auto(r,Qe)&&(null==t||null==t.min)){var a=rl(Ye,0),u=rl(Ve,i.length-1),l=null==n.min?3==e.distr?Ju(i,a,u):Gu(i,a,u,o):[n.min,n.max];e.min=hl(e.min,n.min=l[0]),e.max=pl(e.max,n.max=l[1])}}function et(e,t){var n=t?_[e].points:_[e];n._stroke=n.stroke(r,e),n._fill=n.fill(r,e)}function tt(e,n){var i=n?_[e].points:_[e],o=i._stroke,a=i._fill,u=i._paths,l=u.stroke,c=u.fill,s=u.clip,f=u.flags,h=null,p=Ol(i.width*tu,3),v=p%2/2;n&&null==a&&(a=p>0?"#fff":o);var m=1==i.pxAlign;if(m&&d.translate(v,v),!n){var g=fe,y=de,b=he,D=pe,x=p*tu/2;0==i.min&&(D+=x),0==i.max&&(y-=x,D+=x),(h=new Path2D).rect(g,y,b,D)}n?nt(o,p,i.dash,i.cap,a,l,c,f,s):function(e,n,i,o,a,u,l,c,s,f,d){var h=!1;w.forEach((function(p,v){if(p.series[0]==e){var m,g=_[p.series[1]],y=t[p.series[1]],b=(g._paths||Il).band;zl(b)&&(b=1==p.dir?b[0]:b[1]);var D=null;g.show&&b&&function(e,t,n){for(t=rl(t,0),n=rl(n,e.length-1);t<=n;){if(null!=e[t])return!0;t++}return!1}(y,Ye,Ve)?(D=p.fill(r,v)||u,m=g._paths.clip):b=null,nt(n,i,o,a,D,l,c,s,f,d,m,b),h=!0}})),h||nt(n,i,o,a,u,l,c,s,f,d)}(e,o,p,i.dash,i.cap,a,l,c,f,h,s),m&&d.translate(-v,-v)}r.setData=Ge;function nt(e,t,n,r,i,o,a,u,l,c,s,f){Ze(e,t,n,r,i),(l||c||f)&&(d.save(),l&&d.clip(l),c&&d.clip(c)),f?3==(3&u)?(d.clip(f),s&&d.clip(s),it(i,a),rt(e,o,t)):2&u?(it(i,a),d.clip(f),rt(e,o,t)):1&u&&(d.save(),d.clip(f),s&&d.clip(s),it(i,a),d.restore(),rt(e,o,t)):(it(i,a),rt(e,o,t)),(l||c||f)&&d.restore()}function rt(e,t,n){n>0&&(t instanceof Map?t.forEach((function(e,t){d.strokeStyle=Oe=t,d.stroke(e)})):null!=t&&e&&d.stroke(t))}function it(e,t){t instanceof Map?t.forEach((function(e,t){d.fillStyle=Me=t,d.fill(e)})):null!=t&&e&&d.fill(t)}function ot(e,t,n,r,i,o,a,u,l,c){var s=a%2/2;1==m&&d.translate(s,s),Ze(u,a,l,c,u),d.beginPath();var f,h,p,v,g=i+(0==r||3==r?-o:o);0==n?(h=i,v=g):(f=i,p=g);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 ct,st,ft,dt,ht,pt,vt,mt,gt,yt,_t,bt,Dt=!1;function wt(){Dt||(Ql(xt),Dt=!0)}function xt(){ve&&(!function(){var e=Vl(D,Ul);for(var n in e){var o=e[n],a=O[n];if(null!=a&&null!=a.min)ql(o,a),n==x&<(!0);else if(n!=x||2==i)if(0==Te&&null==o.from){var u=o.range(r,null,null,n);o.min=u[0],o.max=u[1]}else o.min=bl,o.max=-bl}if(Te>0)for(var l in _.forEach((function(n,o){if(1==i){var a=n.scale,u=e[a],l=O[a];if(0==o){var c=u.range(r,u.min,u.max,a);u.min=c[0],u.max=c[1],Ye=Wu(u.min,t[0]),(Ve=Wu(u.max,t[0]))-Ye>1&&(t[0][Ye]u.max&&Ve--),n.min=We[Ye],n.max=We[Ve]}else n.show&&n.auto&&Xe(u,l,n,t[o],n.sorted);n.idxs[0]=Ye,n.idxs[1]=Ve}else if(o>0&&n.show&&n.auto){var s=Ft(n.facets,2),f=s[0],d=s[1],h=f.scale,p=d.scale,v=Ft(t[o],2),m=v[0],g=v[1];Xe(e[h],O[h],f,m,f.sorted),Xe(e[p],O[p],d,g,d.sorted),n.min=d.min,n.max=d.max}})),e){var c=e[l],s=O[l];if(null==c.from&&(null==s||null==s.min)){var f=c.range(r,c.min==bl?null:c.min,c.max==-bl?null:c.max,l);c.min=f[0],c.max=f[1]}}for(var d in e){var h=e[d];if(null!=h.from){var p=e[h.from];if(null==p.min)h.min=h.max=null;else{var v=h.range(r,p.min,p.max,d);h.min=v[0],h.max=v[1]}}}var m={},g=!1;for(var y in e){var b=e[y],w=D[y];if(w.min!=b.min||w.max!=b.max){w.min=b.min,w.max=b.max;var k=w.distr;w._min=3==k?gl(w.min):4==k?_l(w.min,w.asinh):w.min,w._max=3==k?gl(w.max):4==k?_l(w.max,w.asinh):w.max,m[y]=g=!0}}if(g){for(var C in _.forEach((function(e,t){2==i?t>0&&m.y&&(e._paths=null):m[e.scale]&&(e._paths=null)})),m)ge=!0,an("setScale",C);xe.show&&xe.left>=0&&(ye=be=!0)}for(var A in O)O[A]=null}(),ve=!1),ge&&(!function(){for(var e=!1,t=0;!e;){var n=at(++t),i=ut(t);(e=3==t||n&&i)||(we(r.width,r.height),me=!0)}}(),ge=!1),me&&(Bu(p,mu,ce),Bu(p,pu,se),Bu(p,du,ue),Bu(p,hu,le),Bu(v,mu,ce),Bu(v,pu,se),Bu(v,du,ue),Bu(v,hu,le),Bu(h,du,oe),Bu(h,hu,ae),f.width=fl(oe*tu),f.height=fl(ae*tu),b.forEach((function(e){var t=e._el,n=e._show,r=e._size,i=e._pos,o=e.side;if(null!=t)if(n){var a=o%2==1;Bu(t,a?"left":"top",i-(3===o||0===o?r:0)),Bu(t,a?"width":"height",r),Bu(t,a?"top":"left",a?se:ce),Bu(t,a?"height":"width",a?le:ue),Mu(t,su)}else Ou(t,su)})),Oe=Me=Be=Ie=Pe=Re=ze=je=Le=null,$e=1,Qt(!0),an("setSize"),me=!1),oe>0&&ae>0&&(d.clearRect(0,0,f.width,f.height),an("drawClear"),C.forEach((function(e){return e()})),an("draw")),Mt.show&&_e&&(Lt(Mt),_e=!1),xe.show&&ye&&(qt(null,!0,!1),ye=!1),c||(c=!0,r.status=1,an("ready")),Qe=!1,Dt=!1}function kt(e,n){var i=D[e];if(null==i.from){if(0==Te){var o=i.range(r,n.min,n.max,e);n.min=o[0],n.max=o[1]}if(n.min>n.max){var a=n.min;n.min=n.max,n.max=a}if(Te>1&&null!=n.min&&null!=n.max&&n.max-n.min<1e-16)return;e==x&&2==i.distr&&Te>0&&(n.min=Wu(n.min,t[0]),n.max=Wu(n.max,t[0]),n.min==n.max&&n.max++),O[e]=n,ve=!0,wt()}}r.redraw=function(e,t){ge=t||!1,!1!==e?It(x,F.min,F.max):wt()},r.setScale=kt;var Ct=!1,At=xe.drag,Et=At.x,St=At.y;xe.show&&(xe.x&&(ct=Iu("u-cursor-x",v)),xe.y&&(st=Iu("u-cursor-y",v)),0==F.ori?(ft=ct,dt=st):(ft=st,dt=ct),_t=xe.left,bt=xe.top);var Nt,Tt,Ot,Mt=r.select=ql({show:!0,over:!0,left:0,width:0,top:0,height:0},e.select),Bt=Mt.show?Iu("u-select",Mt.over?v:p):null;function Lt(e,t){if(Mt.show){for(var n in e)Mt[n]=e[n],n in Zt&&Bu(Bt,n,e[n]);!1!==t&&an("setSelect")}}function It(e,t,n){kt(e,{min:t,max:n})}function Pt(e,t,n,o){null!=t.focus&&function(e){if(e!=Ot){var t=null==e,n=1!=Ce.alpha;_.forEach((function(r,i){var o=t||0==i||i==e;r._focus=t?null:o,n&&function(e,t){_[e].alpha=t,xe.show&&Ee[e]&&(Ee[e].style.opacity=t);U&&q[e]&&(q[e].style.opacity=t)}(i,o?1:Ce.alpha)})),Ot=e,n&&wt()}}(e),null!=t.show&&_.forEach((function(n,r){r>0&&(e==r||null==e)&&(n.show=t.show,function(e,t){var n=_[e],r=U?q[e]:null;n.show?r&&Mu(r,su):(r&&Ou(r,su),Ee.length>1&&Ru(Ee[e],-10,-10,ue,le))}(r,t.show),It(2==i?n.facets[1].scale:n.scale,null,null),wt())})),!1!==n&&an("setSeries",e,t),o&&sn("setSeries",r,e,t)}r.setSelect=Lt,r.setSeries=Pt,r.addBand=function(e,t){e.fill=kl(e.fill||null),e.dir=rl(e.dir,-1),t=null==t?w.length:t,w.splice(t,0,e)},r.setBand=function(e,t){ql(w[e],t)},r.delBand=function(e){null==e?w.length=0:w.splice(e,1)};var Rt={focus:!0};function zt(e,t,n){var r=D[t];n&&(e=e/tu-(1==r.ori?se:ce));var i=ue;1==r.ori&&(e=(i=le)-e),-1==r.dir&&(e=i-e);var o=r._min,a=o+(r._max-o)*(e/i),u=r.distr;return 3==u?vl(10,a):4==u?function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:1;return ul.sinh(e)*t}(a,r.asinh):a}function jt(e,t){Bu(Bt,mu,Mt.left=e),Bu(Bt,du,Mt.width=t)}function $t(e,t){Bu(Bt,pu,Mt.top=e),Bu(Bt,hu,Mt.height=t)}U&&Ae&&Vu(ku,L,(function(e){xe._lock||null!=Ot&&Pt(null,Rt,!0,un.setSeries)})),r.valToIdx=function(e){return Wu(e,t[0])},r.posToIdx=function(e,n){return Wu(zt(e,x,n),t[0],Ye,Ve)},r.posToVal=zt,r.valToPos=function(e,t,n){return 0==D[t].ori?a(e,D[t],n?he:ue,n?fe:0):u(e,D[t],n?pe:le,n?de:0)},r.batch=function(e){e(r),wt()},r.setCursor=function(e,t,n){_t=e.left,bt=e.top,qt(null,t,n)};var Ht=0==F.ori?jt:$t,Ut=1==F.ori?jt:$t;function Yt(e,t){if(null!=e){var n=e.idx;H.idx=n,_.forEach((function(e,t){(t>0||!Q)&&Vt(t,n)}))}U&&H.live&&function(){if(U&&H.live)for(var e=2==i?1:0;e<_.length;e++)if(0!=e||!Q){var t=H.values[e],n=0;for(var r in t)W[e][n++].firstChild.nodeValue=t[r]}}(),be=!1,!1!==t&&an("setLegend")}function Vt(e,n){var i;if(null==n)i=G;else{var o=_[e],a=0==e&&2==T?We:t[e];i=Q?o.values(r,e,n):{_:o.value(r,a[n],e,n)}}H.values[e]=i}function qt(e,n,o){gt=_t,yt=bt;var a,u=Ft(xe.move(r,_t,bt),2);_t=u[0],bt=u[1],xe.show&&(ft&&Ru(ft,fl(_t),0,ue,le),dt&&Ru(dt,0,fl(bt),ue,le));var l=Ye>Ve;Nt=bl;var c=0==F.ori?ue:le,s=1==F.ori?ue:le;if(_t<0||0==Te||l){a=null;for(var f=0;f<_.length;f++)f>0&&Ee.length>1&&Ru(Ee[f],-10,-10,ue,le);if(Ae&&Pt(null,Rt,!0,null==e&&un.setSeries),H.live){$.fill(null),be=!0;for(var d=0;d<_.length;d++)H.values[d]=G}}else{var h,p;1==i&&(a=Wu(h=zt(0==F.ori?_t:bt,x),t[0],Ye,Ve),p=Fl(S(t[0][a],F,c,0),.5));for(var v=2==i?1:0;v<_.length;v++){var m=_[v],g=$[v],y=1==i?t[v][g]:t[v][1][g],b=xe.dataIdx(r,v,a,h),w=1==i?t[v][b]:t[v][1][b];be=be||w!=y||b!=g,$[v]=b;var k=b==a?p:Fl(S(1==i?t[0][b]:t[v][0][b],F,c,0),.5);if(v>0&&m.show){var C=null==w?-10:Fl(N(w,1==i?D[m.scale]:D[m.facets[1].scale],s,0),.5);if(C>0&&1==i){var A=cl(C-bt);A<=Nt&&(Nt=A,Tt=v)}var E=void 0,T=void 0;if(0==F.ori?(E=k,T=C):(E=C,T=k),be&&Ee.length>1){ju(Ee[v],xe.points.fill(r,v),xe.points.stroke(r,v));var O=void 0,M=void 0,B=void 0,L=void 0,I=!0,P=xe.points.bbox;if(null!=P){I=!1;var R=P(r,v);B=R.left,L=R.top,O=R.width,M=R.height}else B=E,L=T,O=M=xe.points.size(r,v);Hu(Ee[v],O,M,I),Ru(Ee[v],B,L,ue,le)}}if(H.live){if(!be||0==v&&Q)continue;Vt(v,b)}}}if(xe.idx=a,xe.left=_t,xe.top=bt,be&&(H.idx=a,Yt()),Mt.show&&Ct)if(null!=e){var z=Ft(un.scales,2),j=z[0],U=z[1],Y=Ft(un.match,2),V=Y[0],q=Y[1],W=Ft(e.cursor.sync.scales,2),J=W[0],Z=W[1],K=e.cursor.drag;if(Et=K._x,St=K._y,Et||St){var X,ee,te,ne,re,ie=e.select,oe=ie.left,ae=ie.top,ce=ie.width,se=ie.height,fe=e.scales[j].ori,de=e.posToVal,he=null!=j&&V(j,J),pe=null!=U&&q(U,Z);he&&Et?(0==fe?(X=oe,ee=ce):(X=ae,ee=se),te=D[j],ne=S(de(X,J),te,c,0),re=S(de(X+ee,J),te,c,0),Ht(hl(ne,re),cl(re-ne))):Ht(0,c),pe&&St?(1==fe?(X=oe,ee=ce):(X=ae,ee=se),te=D[U],ne=N(de(X,Z),te,s,0),re=N(de(X+ee,Z),te,s,0),Ut(hl(ne,re),cl(re-ne))):Ut(0,s)}else Kt()}else{var ve=cl(gt-ht),me=cl(yt-pt);if(1==F.ori){var ge=ve;ve=me,me=ge}Et=At.x&&ve>=At.dist,St=At.y&&me>=At.dist;var ye,_e,De=At.uni;null!=De?Et&&St&&(St=me>=De,(Et=ve>=De)||St||(me>ve?St=!0:Et=!0)):At.x&&At.y&&(Et||St)&&(Et=St=!0),Et&&(0==F.ori?(ye=vt,_e=_t):(ye=mt,_e=bt),Ht(hl(ye,_e),cl(_e-ye)),St||Ut(0,s)),St&&(1==F.ori?(ye=vt,_e=_t):(ye=mt,_e=bt),Ut(hl(ye,_e),cl(_e-ye)),Et||Ht(0,c)),Et||St||(Ht(0,0),Ut(0,0))}if(At._x=Et,At._y=St,null==e){if(o){if(null!=ln){var we=Ft(un.scales,2),ke=we[0],Se=we[1];un.values[0]=null!=ke?zt(0==F.ori?_t:bt,ke):null,un.values[1]=null!=Se?zt(1==F.ori?_t:bt,Se):null}sn(bu,r,_t,bt,ue,le,a)}if(Ae){var Ne=o&&un.setSeries,Fe=Ce.prox;null==Ot?Nt<=Fe&&Pt(Tt,Rt,!0,Ne):Nt>Fe?Pt(null,Rt,!0,Ne):Tt!=Ot&&Pt(Tt,Rt,!0,Ne)}}!1!==n&&an("setCursor")}r.setLegend=Yt;var Wt=null;function Qt(e){!0===e?Wt=null:an("syncRect",Wt=v.getBoundingClientRect())}function Gt(e,t,n,r,i,o,a){xe._lock||Ct&&null!=e&&0==e.movementX&&0==e.movementY||(Jt(e,t,n,r,i,o,a,!1,null!=e),null!=e?qt(null,!0,!0):qt(t,!0,!1))}function Jt(e,t,n,i,o,a,u,c,s){if(null==Wt&&Qt(!1),null!=e)n=e.clientX-Wt.left,i=e.clientY-Wt.top;else{if(n<0||i<0)return _t=-10,void(bt=-10);var f=Ft(un.scales,2),d=f[0],h=f[1],p=t.cursor.sync,v=Ft(p.values,2),m=v[0],g=v[1],y=Ft(p.scales,2),_=y[0],b=y[1],w=Ft(un.match,2),x=w[0],k=w[1],C=t.axes[0].side%2==1,A=0==F.ori?ue:le,E=1==F.ori?ue:le,S=C?a:o,N=C?o:a,T=C?i:n,O=C?n:i;if(n=null!=_?x(d,_)?l(m,D[d],A,0):-10:A*(T/S),i=null!=b?k(h,b)?l(g,D[h],E,0):-10:E*(O/N),1==F.ori){var M=n;n=i,i=M}}if(s&&((n<=1||n>=ue-1)&&(n=wl(n,ue)),(i<=1||i>=le-1)&&(i=wl(i,le))),c){ht=n,pt=i;var B=Ft(xe.move(r,n,i),2);vt=B[0],mt=B[1]}else _t=n,bt=i}var Zt={width:0,height:0,left:0,top:0};function Kt(){Lt(Zt,!1)}function Xt(e,t,n,i,o,a,u){Ct=!0,Et=St=At._x=At._y=!1,Jt(e,t,n,i,o,a,0,!0,!1),null!=e&&(re(wu,Nu,en),sn(Du,r,vt,mt,ue,le,null))}function en(e,t,n,i,o,a,u){Ct=At._x=At._y=!1,Jt(e,t,n,i,o,a,0,!1,!0);var l=Mt.left,c=Mt.top,s=Mt.width,f=Mt.height,d=s>0||f>0;if(d&&Lt(Mt),At.setScale&&d){var h=l,p=s,v=c,m=f;if(1==F.ori&&(h=c,p=f,v=l,m=s),Et&&It(x,zt(h,x),zt(h+p,x)),St)for(var g in D){var y=D[g];g!=x&&null==y.from&&y.min!=bl&&It(g,zt(v+m,g),zt(v,g))}Kt()}else xe.lock&&(xe._lock=!xe._lock,xe._lock||qt(null,!0,!1));null!=e&&(ie(wu,Nu),sn(wu,r,_t,bt,ue,le,null))}function tn(e,t,n,i,o,a,u){Je(),Kt(),null!=e&&sn(Cu,r,_t,bt,ue,le,null)}function nn(){b.forEach(ef),De(r.width,r.height,!0)}Vu(Eu,Fu,nn);var rn={};rn.mousedown=Xt,rn.mousemove=Gt,rn.mouseup=en,rn.dblclick=tn,rn.setSeries=function(e,t,n,r){Pt(n,r,!0,!1)},xe.show&&(re(Du,v,Xt),re(bu,v,Gt),re(xu,v,Qt),re(ku,v,(function(e,t,n,r,i,o,a){if(!xe._lock){var u=Ct;if(Ct){var l,c,s=!0,f=!0;0==F.ori?(l=Et,c=St):(l=St,c=Et),l&&c&&(s=_t<=10||_t>=ue-10,f=bt<=10||bt>=le-10),l&&s&&(_t=_t=3&&10==i.log?ns:Al)),e.font=Xs(e.font),e.labelFont=Xs(e.labelFont),e._size=e.size(r,null,t,0),e._space=e._rotate=e._incrs=e._found=e._splits=e._values=null,e._size>0&&(Ne[t]=!0,e._el=Iu("u-axis",h))}})),n?n instanceof HTMLElement?(n.appendChild(s),fn()):n(r,fn):fn(),r}tf.assign=ql,tf.fmtNum=al,tf.rangeNum=nl,tf.rangeLog=Zu,tf.rangeAsinh=Ku,tf.orient=vs,tf.pxRatio=tu,tf.join=function(e,t){for(var n=new Set,r=0;r=a&&M<=u;M+=S){var B=s[M];if(null!=B){var L=x(c[M]),I=k(B);1==t?C(E,L,N):C(E,T,I),C(E,L,I),N=I,T=L}}var P=T;i&&1==t&&C(E,P=D+w,N);var R=Ft(ms(e,o),2),z=R[0],j=R[1];if(null!=l.fill||0!=z){var $=A.fill=new Path2D(E),H=k(l.fillTo(e,o,l.min,l.max,z));C($,P,H),C($,O,H)}if(!l.spanGaps){var U,Y=[];(U=Y).push.apply(U,Ot(bs(c,s,a,u,S,x,r)));var V=l.width*tu/2,q=n||1==t?V:-V,W=n||-1==t?-V:V;Y.forEach((function(e){e[0]+=q,e[1]+=W})),A.gaps=Y=l.gaps(e,o,a,u,Y),A.clip=_s(Y,f.ori,v,m,g,y)}return 0!=j&&(A.band=2==j?[ys(e,o,a,u,E,-1),ys(e,o,a,u,E,1)]:ys(e,o,a,u,E,j)),A}))}},nf.bars=function(e){var t=rl((e=e||Il).size,[.6,bl,1]),n=e.align||0,r=(e.gap||0)*tu,i=rl(e.radius,0),o=1-t[0],a=rl(t[1],bl)*tu,u=rl(t[2],1)*tu,l=rl(e.disp,Il),c=rl(e.each,(function(e){})),s=l.fill,f=l.stroke;return function(e,t,d,h){return vs(e,t,(function(p,v,m,g,y,_,b,D,w,x,k){var C,A,E=p.pxRound,S=g.dir*(0==g.ori?1:-1),N=y.dir*(1==y.ori?1:-1),F=0==g.ori?Es:Ss,T=0==g.ori?c:function(e,t,n,r,i,o,a){c(e,t,n,i,r,a,o)},O=Ft(ms(e,t),2),M=O[0],B=O[1],L=3==y.distr?1==M?y.max:y.min:0,I=b(L,y,k,w),P=E(p.width*tu),R=!1,z=null,j=null,$=null,H=null;null==s||0!=P&&null==f||(R=!0,z=s.values(e,t,d,h),j=new Map,new Set(z).forEach((function(e){null!=e&&j.set(e,new Path2D)})),P>0&&($=f.values(e,t,d,h),H=new Map,new Set($).forEach((function(e){null!=e&&H.set(e,new Path2D)}))));var U=l.x0,Y=l.size;if(null!=U&&null!=Y){v=U.values(e,t,d,h),2==U.unit&&(v=v.map((function(t){return e.posToVal(D+t*x,g.key,!0)})));var V=Y.values(e,t,d,h);A=E((A=2==Y.unit?V[0]*x:_(V[0],g,x,D)-_(0,g,x,D))-P),C=1==S?-P/2:A+P/2}else{var q=x;if(v.length>1)for(var W=null,Q=0,G=1/0;Q=d&&ie<=h;ie+=S){var oe=m[ie];if(void 0!==oe){var ae=_(2!=g.distr||null!=l?v[ie]:ie,g,x,D),ue=b(rl(oe,L),y,k,w);null!=re&&null!=oe&&(I=b(re[ie],y,k,w));var le=E(ae-C),ce=E(pl(ue,I)),se=E(hl(ue,I)),fe=ce-se,de=i*A;null!=oe&&(R?(P>0&&null!=$[ie]&&F(H.get($[ie]),le,se+sl(P/2),A,pl(0,fe-P),de),null!=z[ie]&&F(j.get(z[ie]),le,se+sl(P/2),A,pl(0,fe-P),de)):F(X,le,se+sl(P/2),A,pl(0,fe-P),de),T(e,t,ie,le-P/2,se,A+P,fe)),0!=B&&(N*B==1?(ce=se,se=Z):(se=ce,ce=Z),F(ee,le-P/2,se,A+P,pl(0,fe=ce-se),0))}}return P>0&&(K.stroke=R?H:X),K.fill=R?j:X,K}))}},nf.spline=function(e){return function(e,t){var n=rl(null===t||void 0===t?void 0:t.alignGaps,0);return function(t,r,i,o){return vs(t,r,(function(a,u,l,c,s,f,d,h,p,v,m){var g,y,_,b=a.pxRound,D=function(e){return b(f(e,c,v,h))},w=function(e){return b(d(e,s,m,p))};0==c.ori?(g=xs,_=Cs,y=Ts):(g=ks,_=As,y=Os);var x=c.dir*(0==c.ori?1:-1);i=Qu(l,i,o,1),o=Qu(l,i,o,-1);for(var k=D(u[1==x?i:o]),C=k,A=[],E=[],S=1==x?i:o;S>=i&&S<=o;S+=x)if(null!=l[S]){var N=D(u[S]);A.push(C=N),E.push(w(l[S]))}var F={stroke:e(A,E,g,_,y,b),fill:null,clip:null,band:null,gaps:null,flags:1},T=F.stroke,O=Ft(ms(t,r),2),M=O[0],B=O[1];if(null!=a.fill||0!=M){var L=F.fill=new Path2D(T),I=w(a.fillTo(t,r,a.min,a.max,M));_(L,C,I),_(L,k,I)}if(!a.spanGaps){var P,R=[];(P=R).push.apply(P,Ot(bs(u,l,i,o,x,D,n))),F.gaps=R=a.gaps(t,r,i,o,R),F.clip=_s(R,c.ori,h,p,v,m)}return 0!=B&&(F.band=2==B?[ys(t,r,i,o,T,-1),ys(t,r,i,o,T,1)]:ys(t,r,i,o,T,B)),F}))}}(Rs,e)};var rf,of={legend:{show:!1},cursor:{drag:{x:!0,y:!1},focus:{prox:30},points:{size:5.6,width:1.4},bind:{click:function(){return null},dblclick:function(){return null}}}},af=function(e,t,n){if(void 0===e||null===e)return"";n=n||0,t=t||0;var r=Math.abs(n-t);if(isNaN(r)||0==r)return Math.abs(e)>=1e3?e.toLocaleString("en-US"):e.toString();var i=3+Math.floor(1+Math.log10(Math.max(Math.abs(t),Math.abs(n)))-Math.log10(r));return(isNaN(i)||i>20)&&(i=20),e.toLocaleString("en-US",{minimumSignificantDigits:i,maximumSignificantDigits:i})},uf=function(e,t,n,r){var i,o=e.axes[n];if(r>1)return o._size||60;var a=6+((null===o||void 0===o||null===(i=o.ticks)||void 0===i?void 0:i.size)||0)+(o.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,"10px Arial")),Math.ceil(a)},lf=function(e){var t=e.e,n=e.factor,r=void 0===n?.85:n,i=e.u,o=e.setPanning,a=e.setPlotScale;t.preventDefault();var u=t instanceof MouseEvent;o(!0);var l=u?t.clientX:t.touches[0].clientX,c=i.posToVal(1,"x")-i.posToVal(0,"x"),s=i.scales.x.min||0,f=i.scales.x.max||0,d=function(e){var t=e instanceof MouseEvent;if(t||!(e.touches.length>1)){e.preventDefault();var n=t?e.clientX:e.touches[0].clientX,o=c*((n-l)*r);a({u:i,min:s-o,max:f-o})}},h=function e(){o(!1),document.removeEventListener("mousemove",d),document.removeEventListener("mouseup",e),document.removeEventListener("touchmove",d),document.removeEventListener("touchend",e)};document.addEventListener("mousemove",d),document.addEventListener("mouseup",h),document.addEventListener("touchmove",d),document.addEventListener("touchend",h)},cf=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},sf=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]:"",r=t[0],i=t[t.length-1];return n?t.map((function(e){return"".concat(af(e,r,i)," ").concat(n)})):t.map((function(e){return af(e,r,i)}))}(e,n,t)}};return e?Number(e)%2?n:mr(mr({},n),{},{side:1}):{space:80,values:ff,stroke:Pr("color-text")}}))},hf=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]},pf=n(61),vf=n.n(pf),mf=function(e){var t,n,r,i=e.u,o=e.id,a=e.unit,u=void 0===a?"":a,l=e.metrics,c=e.series,s=e.yRange,f=e.tooltipIdx,d=e.tooltipOffset,h=e.isSticky,p=e.onClose,v=ie(null),m=Ft(ee({top:-999,left:-999}),2),y=m[0],_=m[1],b=Ft(ee(!1),2),D=b[0],w=b[1],x=Ft(ee(!1),2),k=x[0],C=x[1],A=Ft(ee(f.seriesIdx),2),E=A[0],S=A[1],N=Ft(ee(f.dataIdx),2),F=N[0],T=N[1],O=ae((function(){return i.root.querySelector(".u-wrap")}),[i]),M=Nr()(i,["data",E,F],0),B=af(M,Nr()(s,[0]),Nr()(s,[1])),L=i.data[0][F],I=_t()(1e3*L).tz().format("YYYY-MM-DD HH:mm:ss:SSS (Z)"),P=(null===(t=c[E])||void 0===t?void 0:t.stroke)+"",R=(null===(n=c[E])||void 0===n?void 0:n.calculations)||{},z=new Set(l.map((function(e){return e.group}))),j=z.size>1,$=(null===(r=l[E-1])||void 0===r?void 0:r.group)||0,H=ae((function(){var e,t=(null===(e=l[E-1])||void 0===e?void 0:e.metric)||{},n=Object.keys(t).filter((function(e){return"__name__"!=e})),r=n.map((function(e){return"".concat(e,"=").concat(JSON.stringify(t[e]))})),i=t.__name__||"";return r.length>0&&(i+="{"+r.join(",")+"}"),i}),[l,E]),U=function(e){if(D){var t=e.clientX,n=e.clientY;_({top:n,left:t})}},Y=function(){w(!1)};return ne((function(){var e;if(v.current){var t=i.valToPos(M||0,(null===(e=c[E])||void 0===e?void 0:e.scale)||"1"),n=i.valToPos(L,"x"),r=v.current.getBoundingClientRect(),o=r.width,a=r.height,u=i.over.getBoundingClientRect(),l=n+o>=u.width?o+20:0,s=t+a>=u.height?a+20:0,f={top:t+d.top+10-s,left:n+d.left+10-l};f.left<0&&(f.left=20),f.top<0&&(f.top=20),_(f)}}),[i,M,L,E,d,v]),ne((function(){S(f.seriesIdx),T(f.dataIdx)}),[f]),ne((function(){return D&&(document.addEventListener("mousemove",U),document.addEventListener("mouseup",Y)),function(){document.removeEventListener("mousemove",U),document.removeEventListener("mouseup",Y)}}),[D]),!O||f.seriesIdx<0||f.dataIdx<0?null:gt.createPortal(Yr("div",{className:xo()({"vm-chart-tooltip":!0,"vm-chart-tooltip_sticky":h,"vm-chart-tooltip_moved":k}),ref:v,style:y,children:[Yr("div",{className:"vm-chart-tooltip-header",children:[Yr("div",{className:"vm-chart-tooltip-header__date",children:[j&&Yr("div",{children:["Query ",$]}),I]}),h&&Yr(g,{children:[Yr(la,{className:"vm-chart-tooltip-header__drag",variant:"text",size:"small",startIcon:Yr(fo,{}),onMouseDown:function(e){C(!0),w(!0);var t=e.clientX,n=e.clientY;_({top:n,left:t})}}),Yr(la,{className:"vm-chart-tooltip-header__close",variant:"text",size:"small",startIcon:Yr(zi,{}),onClick:function(){p&&p(o)}})]})]}),Yr("div",{className:"vm-chart-tooltip-data",children:[Yr("div",{className:"vm-chart-tooltip-data__marker",style:{background:P}}),Yr("div",{children:[Yr("b",{children:[B,u]}),Yr("br",{}),"median:",Yr("b",{children:R.median}),", min:",Yr("b",{children:R.min}),", max:",Yr("b",{children:R.max})]})]}),Yr("div",{className:"vm-chart-tooltip-info",children:H})]}),O)};!function(e){e.xRange="xRange",e.yRange="yRange",e.data="data"}(rf||(rf={}));var gf=function(e){var t=e.data,n=e.series,r=e.metrics,i=void 0===r?[]:r,o=e.period,a=e.yaxis,u=e.unit,l=e.setPeriod,c=e.container,s=e.height,f=qr().isDarkTheme,d=ie(null),h=Ft(ee(!1),2),v=h[0],m=h[1],g=Ft(ee({min:o.start,max:o.end}),2),y=g[0],_=g[1],b=Ft(ee([0,1]),2),D=b[0],w=b[1],x=Ft(ee(),2),k=x[0],C=x[1],A=Ft(ee(0),2),E=A[0],S=A[1],N=Do(c),F=Ft(ee(!1),2),T=F[0],O=F[1],M=Ft(ee({seriesIdx:-1,dataIdx:-1}),2),B=M[0],L=M[1],I=Ft(ee({left:0,top:0}),2),P=I[0],R=I[1],z=Ft(ee([]),2),j=z[0],$=z[1],H=ae((function(){return"".concat(B.seriesIdx,"_").concat(B.dataIdx)}),[B]),U=ue(vf()((function(e){var t=e.min,n=e.max;l({from:_t()(1e3*t).toDate(),to:_t()(1e3*n).toDate()})}),500),[]),Y=function(e){var t=e.u,n=e.min,r=e.max,i=1e3*(r-n);iei||(t.setScale("x",{min:n,max:r}),_({min:n,max:r}),U({min:n,max:r}))},V=function(e){var t=e.target,n=e.ctrlKey,r=e.metaKey,i=e.key,o=t instanceof HTMLInputElement||t instanceof HTMLTextAreaElement;if(k&&!o){var a="+"===i||"="===i;if(("-"===i||a)&&!n&&!r){e.preventDefault();var u=(y.max-y.min)/10*(a?1:-1);Y({u:k,min:y.min+u,max:y.max-u})}}},q=function(){var e="".concat(B.seriesIdx,"_").concat(B.dataIdx),t={id:e,unit:u,series:n,metrics:i,yRange:D,tooltipIdx:B,tooltipOffset:P};if(!j.find((function(t){return t.id===e}))){var r=JSON.parse(JSON.stringify(t));$((function(e){return[].concat(Ot(e),[r])}))}},W=function(e){$((function(t){return t.filter((function(t){return t.id!==e}))}))},Q=function(){return[y.min,y.max]},G=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"1"==r&&w([t,n]),a.limits.enable?a.limits.range[r]:hf(t,n)},J=mr(mr({},of),{},{tzDate:function(e){return _t()(si(di(e))).local().toDate()},series:n,axes:df([{},{scale:"1"}],u),scales:mr({},function(){var e={x:{range:Q}},t=Object.keys(a.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 G(e,n,r,t)}}})),e}()),width:N.width||400,height:s||500,plugins:[{hooks:{ready:function(e){var t=.9;R({left:parseFloat(e.over.style.left),top:parseFloat(e.over.style.top)}),e.over.addEventListener("mousedown",(function(n){var r=n.ctrlKey,i=n.metaKey;0===n.button&&(r||i)&&lf({u:e,e:n,setPanning:m,setPlotScale:Y,factor:t})})),e.over.addEventListener("touchstart",(function(n){lf({u:e,e:n,setPanning:m,setPlotScale:Y,factor:t})})),e.over.addEventListener("wheel",(function(n){if(n.ctrlKey||n.metaKey){n.preventDefault();var r=e.over.getBoundingClientRect().width,i=e.cursor.left&&e.cursor.left>0?e.cursor.left:0,o=e.posToVal(i,"x"),a=(e.scales.x.max||0)-(e.scales.x.min||0),u=n.deltaY<0?a*t:a/t,l=o-i/r*u,c=l+u;e.batch((function(){return Y({u:e,min:l,max:c})}))}}))},setCursor:function(e){var t,n=null!==(t=e.cursor.idx)&&void 0!==t?t:-1;L((function(e){return mr(mr({},e),{},{dataIdx:n})}))},setSeries:function(e,t){var n=null!==t&&void 0!==t?t:-1;L((function(e){return mr(mr({},e),{},{seriesIdx:n})}))}}}],hooks:{setSelect:[function(e){var t=e.posToVal(e.select.left,"x"),n=e.posToVal(e.select.left+e.select.width,"x");Y({u:e,min:t,max:n})}]}}),Z=function(e){if(k){switch(e){case rf.xRange:k.scales.x.range=Q;break;case rf.yRange:Object.keys(a.limits.range).forEach((function(e){k.scales[e]&&(k.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 G(t,n,r,e)})}));break;case rf.data:k.setData(t)}v||k.redraw()}};ne((function(){return _({min:o.start,max:o.end})}),[o]),ne((function(){if($([]),L({seriesIdx:-1,dataIdx:-1}),d.current){var e=new tf(J,t,d.current);return C(e),_({min:o.start,max:o.end}),e.destroy}}),[d.current,n,N,s,f]),ne((function(){return window.addEventListener("keydown",V),function(){window.removeEventListener("keydown",V)}}),[y]);var K=function(e){if(2===e.touches.length){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY;S(Math.sqrt(t*t+n*n))}},X=function(e){if(2===e.touches.length&&k){e.preventDefault();var t=e.touches[0].clientX-e.touches[1].clientX,n=e.touches[0].clientY-e.touches[1].clientY,r=Math.sqrt(t*t+n*n),i=E-r,o=k.scales.x.max||y.max,a=k.scales.x.min||y.min,u=(o-a)/50*(i>0?-1:1);k.batch((function(){return Y({u:k,min:a+u,max:o-u})}))}};return ne((function(){return window.addEventListener("touchmove",X),window.addEventListener("touchstart",K),function(){window.removeEventListener("touchmove",X),window.removeEventListener("touchstart",K)}}),[k,E]),ne((function(){return Z(rf.data)}),[t]),ne((function(){return Z(rf.xRange)}),[y]),ne((function(){return Z(rf.yRange)}),[a]),ne((function(){var e=-1!==B.dataIdx&&-1!==B.seriesIdx;return O(e),e&&window.addEventListener("click",q),function(){window.removeEventListener("click",q)}}),[B,j]),Yr("div",{className:xo()({"vm-line-chart":!0,"vm-line-chart_panning":v}),style:{minWidth:"".concat(N.width||400,"px"),minHeight:"".concat(s||500,"px")},children:[Yr("div",{className:"vm-line-chart__u-plot",ref:d}),k&&T&&Yr(mf,{unit:u,u:k,series:n,metrics:i,yRange:D,tooltipIdx:B,tooltipOffset:P,id:H}),k&&j.map((function(e){return p(mf,mr(mr({},e),{},{isSticky:!0,u:k,key:e.id,onClose:W}))}))]})},yf=function(e){var t=e.legend,n=e.onChange,r=Ft(ee(""),2),i=r[0],o=r[1],a=ae((function(){return function(e){var t=Object.keys(e.freeFormFields).filter((function(e){return"__name__"!==e}));return t.map((function(t){var n="".concat(t,"=").concat(JSON.stringify(e.freeFormFields[t]));return{id:"".concat(e.label,".").concat(n),freeField:n,key:t}}))}(t)}),[t]),u=t.calculations,l=function(){var e=eu(Ka().mark((function e(t,n){return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:o(n),setTimeout((function(){return o("")}),2e3);case 4:case"end":return e.stop()}}),e)})));return function(t,n){return e.apply(this,arguments)}}();return Yr("div",{className:xo()({"vm-legend-item":!0,"vm-legend-row":!0,"vm-legend-item_hide":!t.checked}),onClick:function(e){return function(t){n(e,t.ctrlKey||t.metaKey)}}(t),children:[Yr("div",{className:"vm-legend-item__marker",style:{backgroundColor:t.color}}),Yr("div",{className:"vm-legend-item-info",children:Yr("span",{className:"vm-legend-item-info__label",children:[t.freeFormFields.__name__,"{",a.map((function(e,t){return Yr(pa,{open:i===e.id,title:"copied!",placement:"top-center",children:Yr("span",{className:"vm-legend-item-info__free-fields",onClick:(n=e.freeField,r=e.id,function(e){e.stopPropagation(),l(n,r)}),title:"copy to clipboard",children:[e.freeField,t+11;return Yr(g,{children:Yr("div",{className:"vm-legend",children:i.map((function(e){return Yr("div",{className:"vm-legend-group",children:[Yr("div",{className:"vm-legend-group-title",children:[o&&Yr("span",{className:"vm-legend-group-title__count",children:["Query ",e,": "]}),Yr("span",{className:"vm-legend-group-title__query",children:n[e-1]})]}),Yr("div",{children:t.filter((function(t){return t.group===e})).map((function(e){return Yr(yf,{legend:e,onChange:r},e.label)}))})]},e)}))})})},bf=["__name__"],Df=function(e,t){var n=!(arguments.length>2&&void 0!==arguments[2])||arguments[2],r=e.metric,i=r.__name__,o=ko(r,bf),a=t||"".concat(n?"[Query ".concat(e.group,"] "):"").concat(i||"");return 0==Object.keys(o).length?a||"value":"".concat(a,"{").concat(Object.entries(o).map((function(e){return"".concat(e[0],"=").concat(JSON.stringify(e[1]))})).join(", "),"}")},wf=function(e){switch(e){case"NaN":return NaN;case"Inf":case"+Inf":return 1/0;case"-Inf":return-1/0;default:return parseFloat(e)}},xf=["#e54040","#32a9dc","#2ee329","#7126a1","#e38f0f","#3d811a","#ffea00","#2d2d2d","#da42a6","#a44e0c"],kf=function(e){var t=16777215,n=1,r=0,i=1;if(e.length>0)for(var o=0;or&&(r=e[o].charCodeAt(0)),i=parseInt(String(t/r)),n=(n+e[o].charCodeAt(0)*i*49979693)%t;var a=(n*e.length%t).toString(16);return a=a.padEnd(6,a),"#".concat(a)},Cf=function(){var e={};return function(t,n,r){var i=Df(t,r[t.group-1]),o=Object.keys(e).length;o>1]}(a),s=function(e){for(var t=e.length;t--;){var n=e[t];if(Number.isFinite(n))return n}}(a);return{label:i,freeFormFields:t.metric,width:1.4,stroke:e[i]||kf(i),show:!Ef(i,n),scale:"1",points:{size:4.2,width:1.4},calculations:{min:af(u,u,l),max:af(l,u,l),median:af(c,u,l),last:af(s,u,l)}}}},Af=function(e,t){return{group:t,label:e.label||"",color:e.stroke,checked:e.show||!1,freeFormFields:e.freeFormFields,calculations:e.calculations}},Ef=function(e,t){return t.includes("".concat(e))},Sf=function(e){var t=e.data,n=void 0===t?[]:t,r=e.period,i=e.customStep,o=e.query,a=e.yaxis,u=e.unit,l=e.showLegend,c=void 0===l||l,s=e.setYaxisLimits,f=e.setPeriod,d=e.alias,h=void 0===d?[]:d,p=e.fullWidth,v=void 0===p||p,m=e.height,g=Si().timezone,y=ae((function(){return i||r.step||"1s"}),[r.step,i]),_=ue(Cf(),[n]),b=Ft(ee([[]]),2),D=b[0],w=b[1],x=Ft(ee([]),2),k=x[0],C=x[1],A=Ft(ee([]),2),E=A[0],S=A[1],N=Ft(ee([]),2),F=N[0],T=N[1],O=function(e){var t=function(e){var t={},n=Object.values(e).flat(),r=sf(n),i=cf(n);return t[1]=hf(r,i),t}(e);s(t)};ne((function(){var e=[],t={},i=[],o=[{}];null===n||void 0===n||n.forEach((function(n){var r=_(n,F,h);o.push(r),i.push(Af(r,n.group));var a,u=t[n.group]||[],l=qt(n.values);try{for(l.s();!(a=l.n()).done;){var c=a.value;e.push(c[0]),u.push(wf(c[1]))}}catch(s){l.e(s)}finally{l.f()}t[n.group]=u}));var a=function(e,t,n){for(var r=ui(t)||1,i=Array.from(new Set(e)).sort((function(e,t){return e-t})),o=n.start,a=oi(n.end+r),u=0,l=[];o<=a;){for(;u=i.length||i[u]>o)&&l.push(o)}for(;l.length<2;)l.push(o),o=oi(o+r);return l}(e,y,r),u=n.map((function(e){var t,n=[],r=e.values,i=r.length,o=0,u=qt(a);try{for(u.s();!(t=u.n()).done;){for(var l=t.value;o1e10*h?n.map((function(){return f})):n}));u.unshift(a),O(t),w(u),C(o),S(i)}),[n,g]),ne((function(){var e=[],t=[{}];null===n||void 0===n||n.forEach((function(n){var r=_(n,F,h);t.push(r),e.push(Af(r,n.group))})),C(t),S(e)}),[F]);var M=ie(null);return Yr("div",{className:xo()({"vm-graph-view":!0,"vm-graph-view_full-width":v}),ref:M,children:[(null===M||void 0===M?void 0:M.current)&&Yr(gf,{data:D,series:k,metrics:n,period:r,yaxis:a,unit:u,setPeriod:f,container:null===M||void 0===M?void 0:M.current,height:m}),c&&Yr(_f,{labels:E,query:o,onChange:function(e,t){T(function(e){var t=e.hideSeries,n=e.legend,r=e.metaKey,i=e.series,o=n.label,a=Ef(o,t),u=i.map((function(e){return e.label||""}));return r?a?t.filter((function(e){return e!==o})):[].concat(Ot(t),[o]):t.length?a?Ot(u.filter((function(e){return e!==o}))):[]:Ot(u.filter((function(e){return e!==o})))}({hideSeries:F,legend:e,metaKey:t,series:k}))}})]})},Nf=function(e){var t=e.value,n=e.options,r=e.anchor,i=e.disabled,o=e.maxWords,a=void 0===o?1:o,u=e.minLength,l=void 0===u?2:u,c=e.fullWidth,f=e.selected,d=e.noOptionsText,h=e.onSelect,p=e.onOpenAutocomplete,v=ie(null),m=Ft(ee(!1),2),g=m[0],y=m[1],_=Ft(ee(-1),2),b=_[0],D=_[1],w=ae((function(){if(!g)return[];try{var e=new RegExp(String(t),"i");return n.filter((function(n){return e.test(n)&&n!==t})).sort((function(t,n){var r,i;return((null===(r=t.match(e))||void 0===r?void 0:r.index)||0)-((null===(i=n.match(e))||void 0===i?void 0:i.index)||0)}))}catch(s){return[]}}),[g,n,t]),x=ae((function(){return d&&!w.length}),[d,w]),k=function(){y(!1)},C=function(e){var t=e.key,n=e.ctrlKey,r=e.metaKey,i=e.shiftKey,o=n||r||i,a=w.length;if("ArrowUp"===t&&!o&&a&&(e.preventDefault(),D((function(e){return e<=0?0:e-1}))),"ArrowDown"===t&&!o&&a){e.preventDefault();var u=w.length-1;D((function(e){return e>=u?u:e+1}))}if("Enter"===t){var l=w[b];l&&h(l),f||k()}"Escape"===t&&k()};return ne((function(){var e=(t.match(/[a-zA-Z_:.][a-zA-Z0-9_:.]*/gm)||[]).length;y(t.length>l&&e<=a)}),[t]),ne((function(){return function(){if(v.current){var e=v.current.childNodes[b];null!==e&&void 0!==e&&e.scrollIntoView&&e.scrollIntoView({block:"center"})}}(),window.addEventListener("keydown",C),function(){window.removeEventListener("keydown",C)}}),[b,w]),ne((function(){D(-1)}),[w]),ne((function(){p&&p(g)}),[g]),ca(v,k,r),Yr(sa,{open:g,buttonRef:r,placement:"bottom-left",onClose:k,fullWidth:c,children:Yr("div",{className:"vm-autocomplete",ref:v,children:[x&&Yr("div",{className:"vm-autocomplete__no-options",children:d}),w.map((function(e,t){return Yr("div",{className:xo()({"vm-list-item":!0,"vm-list-item_active":t===b,"vm-list-item_multiselect":f,"vm-list-item_multiselect_selected":null===f||void 0===f?void 0:f.includes(e)}),id:"$autocomplete$".concat(e),onClick:(n=e,function(){i||(h(n),f||k())}),children:[(null===f||void 0===f?void 0:f.includes(e))&&Yr(uo,{}),Yr("span",{children:e})]},e);var n}))]})})},Ff=function(e){var t=e.value,n=e.onChange,r=e.onEnter,i=e.onArrowUp,o=e.onArrowDown,a=e.autocomplete,u=e.error,l=e.options,c=e.label,s=e.disabled,f=void 0!==s&&s,d=Ft(ee(!1),2),h=d[0],p=d[1],v=ie(null);return Yr("div",{className:"vm-query-editor",ref:v,children:[Yr(Sa,{value:t,label:c,type:"textarea",autofocus:!!t,error:u,onKeyDown:function(e){var t=e.key,n=e.ctrlKey,a=e.metaKey,u=e.shiftKey,l=n||a,c="ArrowDown"===t,s="Enter"===t;"ArrowUp"===t&&l&&(e.preventDefault(),i()),c&&l&&(e.preventDefault(),o()),!s||u||h||r()},onChange:n,disabled:f}),a&&Yr(Nf,{value:t,options:l,anchor:v,onSelect:function(e){n(e)},onOpenAutocomplete:p})]})},Tf=function(e){var t,n=e.value,r=void 0!==n&&n,i=e.disabled,o=void 0!==i&&i,a=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Yr("div",{className:xo()((pr(t={"vm-switch":!0,"vm-switch_disabled":o,"vm-switch_active":r},"vm-switch_".concat(l,"_active"),r),pr(t,"vm-switch_".concat(l),l),t)),onClick:function(){o||c(!r)},children:[Yr("div",{className:"vm-switch-track",children:Yr("div",{className:"vm-switch-track__thumb"})}),a&&Yr("span",{className:"vm-switch__label",children:a})]})},Of=function(){var e=Bi().autocomplete,t=Li(),n=Po(),r=n.nocache,i=n.isTracingEnabled,o=Ro();return Yr("div",{className:"vm-additional-settings",children:[Yr(Tf,{label:"Autocomplete",value:e,onChange:function(){t({type:"TOGGLE_AUTOCOMPLETE"})}}),Yr(Tf,{label:"Disable cache",value:r,onChange:function(){o({type:"TOGGLE_NO_CACHE"})}}),Yr(Tf,{label:"Trace query",value:i,onChange:function(){o({type:"TOGGLE_QUERY_TRACING"})}})]})},Mf=function(e,t){return e.length===t.length&&e.every((function(e,n){return e===t[n]}))},Bf=function(e){var t=e.error,n=e.queryOptions,r=e.onHideQuery,i=Bi(),o=i.query,a=i.queryHistory,u=i.autocomplete,l=Li(),c=Ni(),s=Ft(ee(o||[]),2),f=s[0],d=s[1],h=Ft(ee([]),2),p=h[0],v=h[1],m=qa(f),g=function(){l({type:"SET_QUERY_HISTORY",payload:f.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(Ot(n.values),[e]):n.values}}))}),l({type:"SET_QUERY",payload:f}),c({type:"RUN_QUERY"})},y=function(e,t){d((function(n){return n.map((function(n,r){return r===t?e:n}))}))},_=function(e,t){return function(){!function(e,t){var n=a[t],r=n.index,i=n.values,o=r+e;o<0||o>=i.length||(y(i[o]||"",t),l({type:"SET_QUERY_HISTORY_BY_INDEX",payload:{value:{values:i,index:o},queryNumber:t}}))}(e,t)}},b=function(e){return function(t){y(t,e)}},D=function(e){return function(){var t;t=e,d((function(e){return e.filter((function(e,n){return n!==t}))})),v((function(t){return t.includes(e)?t.filter((function(t){return t!==e})):t.map((function(t){return t>e?t-1:t}))}))}},w=function(e){return function(t){!function(e,t){var n=e.ctrlKey,r=e.metaKey;if(n||r){var i=f.map((function(e,t){return t})).filter((function(e){return e!==t}));v((function(e){return Mf(i,e)?[]:i}))}else v((function(e){return e.includes(t)?e.filter((function(e){return e!==t})):[].concat(Ot(e),[t])}))}(t,e)}};return ne((function(){m&&f.length1&&Yr(pa,{title:"Remove Query",children:Yr("div",{className:"vm-query-configurator-list-row__button",children:Yr(la,{variant:"text",color:"error",startIcon:Yr(oo,{}),onClick:D(r)})})})]},r)}))}),Yr("div",{className:"vm-query-configurator-settings",children:[Yr(Of,{}),Yr("div",{className:"vm-query-configurator-settings__buttons",children:[f.length<4&&Yr(la,{variant:"outlined",onClick:function(){d((function(e){return[].concat(Ot(e),[""])}))},startIcon:Yr(ao,{}),children:"Add Query"}),Yr(la,{variant:"contained",onClick:g,startIcon:Yr(eo,{}),children:"Execute Query"})]})]})]})};function Lf(e){var t,n,r,i=2;for("undefined"!=typeof Symbol&&(n=Symbol.asyncIterator,r=Symbol.iterator);i--;){if(n&&null!=(t=e[n]))return t.call(e);if(r&&null!=(t=e[r]))return new If(t.call(e));n="@@asyncIterator",r="@@iterator"}throw new TypeError("Object is not async iterable")}function If(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 If=function(e){this.s=e,this.n=e.next},If.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 If(e)}var Pf=n(936),Rf=n.n(Pf),zf=0,jf=function(){function e(t,n){Mt(this,e),this.tracing=void 0,this.query=void 0,this.tracingChildren=void 0,this.originalTracing=void 0,this.id=void 0,this.tracing=t,this.originalTracing=JSON.parse(JSON.stringify(t)),this.query=n,this.id=zf++;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n)}))}return Pt(e,[{key:"queryValue",get:function(){return this.query}},{key:"idValue",get:function(){return this.id}},{key:"children",get:function(){return this.tracingChildren}},{key:"message",get:function(){return this.tracing.message}},{key:"duration",get:function(){return this.tracing.duration_msec}},{key:"JSON",get:function(){return JSON.stringify(this.tracing,null,2)}},{key:"originalJSON",get:function(){return JSON.stringify(this.originalTracing,null,2)}},{key:"setTracing",value:function(t){var n=this;this.tracing=t;var r=t.children||[];this.tracingChildren=r.map((function(t){return new e(t,n.query)}))}},{key:"setQuery",value:function(e){this.query=e}},{key:"resetTracing",value:function(){this.tracing=this.originalTracing}}]),e}(),$f=function(e){var t=e.predefinedQuery,n=e.visible,r=e.display,i=e.customStep,o=e.hideQuery,a=e.showAllSeries,u=Bi().query,l=Si().period,c=Po(),s=c.displayType,f=c.nocache,d=c.isTracingEnabled,h=c.seriesLimits,p=qr().serverUrl,v=Ft(ee(!1),2),m=v[0],g=v[1],y=Ft(ee(),2),_=y[0],b=y[1],D=Ft(ee(),2),w=D[0],x=D[1],k=Ft(ee(),2),C=k[0],A=k[1],E=Ft(ee(),2),S=E[0],N=E[1],F=Ft(ee(),2),T=F[0],O=F[1],M=Ft(ee([]),2),B=M[0],L=M[1];ne((function(){S&&(b(void 0),x(void 0),A(void 0))}),[S]);var I=function(){var e=eu(Ka().mark((function e(t){var n,r,i,o,a,u,l,c,s,f,d,h,p,v,m,y,_,D,w,k,C,E,S,F,T;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:n=t.fetchUrl,r=t.fetchQueue,i=t.displayType,o=t.query,a=t.stateSeriesLimits,u=t.showAllSeries,l=t.hideQuery,c=new AbortController,L([].concat(Ot(r),[c])),e.prev=3,s="chart"===i,f=u?1/0:a[i],d=[],h=[],p=1,v=0,m=!1,y=!1,e.prev=12,D=Lf(n);case 14:return e.next=16,D.next();case 16:if(!(m=!(w=e.sent).done)){e.next=32;break}if(k=w.value,!(null===l||void 0===l?void 0:l.includes(p-1))){e.next=22;break}return p++,e.abrupt("continue",29);case 22:return e.next=24,fetch(k,{signal:c.signal});case 24:return C=e.sent,e.next=27,C.json();case 27:E=e.sent,C.ok?(N(void 0),E.trace&&(S=new jf(E.trace,o[p-1]),h.push(S)),F=f-d.length,E.data.result.slice(0,F).forEach((function(e){e.group=p,d.push(e)})),v+=E.data.result.length,p++):N("".concat(E.errorType,"\r\n").concat(null===E||void 0===E?void 0:E.error));case 29:m=!1,e.next=14;break;case 32:e.next=38;break;case 34:e.prev=34,e.t0=e.catch(12),y=!0,_=e.t0;case 38:if(e.prev=38,e.prev=39,!m||null==D.return){e.next=43;break}return e.next=43,D.return();case 43:if(e.prev=43,!y){e.next=46;break}throw _;case 46:return e.finish(43);case 47:return e.finish(38);case 48:T="Showing ".concat(f," series out of ").concat(v," series due to performance reasons. Please narrow down the query, so it returns less series"),O(v>f?T:""),s?b(d):x(d),A(h),e.next=57;break;case 54:e.prev=54,e.t1=e.catch(3),e.t1 instanceof Error&&"AbortError"!==e.t1.name&&N("".concat(e.t1.name,": ").concat(e.t1.message));case 57:g(!1);case 58:case"end":return e.stop()}}),e,null,[[3,54],[12,34,38,48],[39,,43,47]])})));return function(t){return e.apply(this,arguments)}}(),P=ue(Rf()(I,300),[]),R=ae((function(){var e=null!==t&&void 0!==t?t:u,n="chart"===(r||s);if(l)if(p)if(e.every((function(e){return!e.trim()})))N(gr.validQuery);else{if(Na(p)){var o=mr({},l);return o.step=i,e.map((function(e){return n?function(e,t,n,r,i){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":"").concat(i?"&trace=1":"")}(p,e,o,f,d):function(e,t,n,r){return"".concat(e,"/api/v1/query?query=").concat(encodeURIComponent(t),"&time=").concat(n.end,"&step=").concat(n.step).concat(r?"&trace=1":"")}(p,e,o,d)}))}N(gr.validServer)}else N(gr.emptyServer)}),[p,l,s,i,o]),z=Ft(ee([]),2),j=z[0],$=z[1];return ne((function(){var e=R===j&&!!t;n&&null!==R&&void 0!==R&&R.length&&!e&&(g(!0),P({fetchUrl:R,fetchQueue:B,displayType:r||s,query:null!==t&&void 0!==t?t:u,stateSeriesLimits:h,showAllSeries:a,hideQuery:o}),$(R))}),[R,n,h,a]),ne((function(){var e=B.slice(0,-1);e.length&&(e.map((function(e){return e.abort()})),L(B.filter((function(e){return!e.signal.aborted}))))}),[B]),{fetchUrl:R,isLoading:m,graphData:_,liveData:w,error:S,warning:T,traces:C}},Hf=function(e){var t=e.data,n=na().showInfoMessage,r=ae((function(){return JSON.stringify(t,null,2)}),[t]);return Yr("div",{className:"vm-json-view",children:[Yr("div",{className:"vm-json-view__copy",children:Yr(la,{variant:"outlined",onClick:function(){navigator.clipboard.writeText(r),n({text:"Formatted JSON has been copied",type:"success"})},children:"Copy JSON"})}),Yr("pre",{className:"vm-json-view__code",children:Yr("code",{children:r})})]})},Uf=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=ae((function(){return Object.keys(t.limits.range)}),[t.limits.range]),o=ue(Rf()((function(e,r,i){var o=t.limits.range;o[r][i]=+e,o[r][0]===o[r][1]||o[r][0]>o[r][1]||n(o)}),500),[t.limits.range]),a=function(e,t){return function(n){o(n,e,t)}};return Yr("div",{className:"vm-axes-limits",children:[Yr(Tf,{value:t.limits.enable,onChange:r,label:"Fix the limits for y-axis"}),Yr("div",{className:"vm-axes-limits-list",children:i.map((function(e){return Yr("div",{className:"vm-axes-limits-list__inputs",children:[Yr(Sa,{label:"Min ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][0],onChange:a(e,0)}),Yr(Sa,{label:"Max ".concat(e),type:"number",disabled:!t.limits.enable,value:t.limits.range[e][1],onChange:a(e,1)})]},e)}))})]})},Yf="Axes settings",Vf=function(e){var t=e.yaxis,n=e.setYaxisLimits,r=e.toggleEnableLimits,i=ie(null),o=Ft(ee(!1),2),a=o[0],u=o[1],l=ie(null);ca(i,(function(){return u(!1)}),l);var c=function(){u(!1)};return Yr("div",{className:"vm-graph-settings",children:[Yr(pa,{title:Yf,children:Yr("div",{ref:l,children:Yr(la,{variant:"text",startIcon:Yr(Ri,{}),onClick:function(){u((function(e){return!e}))}})})}),Yr(sa,{open:a,buttonRef:l,placement:"bottom-right",onClose:c,children:Yr("div",{className:"vm-graph-settings-popper",ref:i,children:[Yr("div",{className:"vm-popper-header",children:[Yr("h3",{className:"vm-popper-header__title",children:Yf}),Yr(la,{size:"small",variant:"text",startIcon:Yr(zi,{}),onClick:c})]}),Yr("div",{className:"vm-graph-settings-popper__body",children:Yr(Uf,{yaxis:t,setYaxisLimits:n,toggleEnableLimits:r})})]})})]})},qf=function(e){var t=e.containerStyles,n=void 0===t?{}:t,r=e.message,i=qr().isDarkTheme;return Yr("div",{className:xo()({"vm-spinner":!0,"vm-spinner_dark":i}),style:n&&{},children:[Yr("div",{className:"half-circle-spinner",children:[Yr("div",{className:"circle circle-1"}),Yr("div",{className:"circle circle-2"})]}),r&&Yr("div",{className:"vm-spinner__message",children:r})]})},Wf=function(){var e=qr().serverUrl,t=Ft(ee([]),2),n=t[0],r=t[1],i=function(){var t=eu(Ka().mark((function t(){var n,i,o;return Ka().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(e){t.next=2;break}return t.abrupt("return");case 2:return n="".concat(e,"/api/v1/label/__name__/values"),t.prev=3,t.next=6,fetch(n);case 6:return i=t.sent,t.next=9,i.json();case 9:o=t.sent,i.ok&&r(o.data),t.next=16;break;case 13:t.prev=13,t.t0=t.catch(3),console.error(t.t0);case 16:case"end":return t.stop()}}),t,null,[[3,13]])})));return function(){return t.apply(this,arguments)}}();return ne((function(){i()}),[e]),{queryOptions:n}},Qf=function(e){var t=e.value;return Yr("div",{className:"vm-line-progress",children:[Yr("div",{className:"vm-line-progress-track",children:Yr("div",{className:"vm-line-progress-track__thumb",style:{width:"".concat(t,"%")}})}),Yr("span",{children:[t.toFixed(2),"%"]})]})},Gf=function e(t){var n,r=t.trace,i=t.totalMsec,o=qr().isDarkTheme,a=Ft(ee({}),2),u=a[0],l=a[1],c=r.children&&!!r.children.length,s=r.duration/i*100;return Yr("div",{className:xo()({"vm-nested-nav":!0,"vm-nested-nav_dark":o}),children:[Yr("div",{className:"vm-nested-nav-header",onClick:(n=r.idValue,function(){l((function(e){return mr(mr({},e),{},pr({},n,!e[n]))}))}),children:[c&&Yr("div",{className:xo()({"vm-nested-nav-header__icon":!0,"vm-nested-nav-header__icon_open":u[r.idValue]}),children:Yr(qi,{})}),Yr("div",{className:"vm-nested-nav-header__progress",children:Yr(Qf,{value:s})}),Yr("div",{className:"vm-nested-nav-header__message",children:r.message}),Yr("div",{className:"vm-nested-nav-header__duration",children:"duration: ".concat(r.duration," ms")})]}),u[r.idValue]&&Yr("div",{children:c&&r.children.map((function(t){return Yr(e,{trace:t,totalMsec:i},t.duration)}))})]})},Jf=function(e){var t=e.editable,n=void 0!==t&&t,r=e.defaultTile,i=void 0===r?"JSON":r,o=e.displayTitle,a=void 0===o||o,u=e.defaultJson,l=void 0===u?"":u,c=e.resetValue,f=void 0===c?"":c,d=e.onClose,h=e.onUpload,p=na().showInfoMessage,v=da().isMobile,m=Ft(ee(l),2),g=m[0],y=m[1],_=Ft(ee(i),2),b=_[0],D=_[1],w=Ft(ee(""),2),x=w[0],k=w[1],C=Ft(ee(""),2),A=C[0],E=C[1],S=ae((function(){try{var e=JSON.parse(g),t=e.trace||e;return t.duration_msec?(new jf(t,""),""):gr.traceNotFound}catch(s){return s instanceof Error?s.message:"Unknown error"}}),[g]),N=function(){var e=eu(Ka().mark((function e(){return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(g);case 2:p({text:"Formatted JSON has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(){return e.apply(this,arguments)}}(),F=function(){E(S),b.trim()||k(gr.emptyTitle),S||x||(h(g,b),d())};return Yr("div",{className:xo()({"vm-json-form":!0,"vm-json-form_one-field":!a,"vm-json-form_mobile":v}),children:[a&&Yr(Sa,{value:b,label:"Title",error:x,onEnter:F,onChange:function(e){D(e)}}),Yr(Sa,{value:g,label:"JSON",type:"textarea",error:A,autofocus:!0,onChange:function(e){E(""),y(e)},disabled:!n}),Yr("div",{className:"vm-json-form-footer",children:[Yr("div",{className:"vm-json-form-footer__controls",children:[Yr(la,{variant:"outlined",startIcon:Yr(so,{}),onClick:N,children:"Copy JSON"}),f&&Yr(la,{variant:"text",startIcon:Yr(ji,{}),onClick:function(){y(f)},children:"Reset JSON"})]}),Yr("div",{className:"vm-json-form-footer__controls vm-json-form-footer__controls_right",children:[Yr(la,{variant:"outlined",color:"error",onClick:d,children:"Cancel"}),Yr(la,{variant:"contained",onClick:F,children:"apply"})]})]})]})},Zf=function(e){var t=e.traces,n=e.jsonEditor,r=void 0!==n&&n,i=e.onDeleteClick,o=Ft(ee(null),2),a=o[0],u=o[1],l=function(){u(null)};if(!t.length)return Yr(ea,{variant:"info",children:"Please re-run the query to see results of the tracing"});var c=function(e){return function(){i(e)}};return Yr(g,{children:[Yr("div",{className:"vm-tracings-view",children:t.map((function(e){return Yr("div",{className:"vm-tracings-view-trace vm-block vm-block_empty-padding",children:[Yr("div",{className:"vm-tracings-view-trace-header",children:[Yr("h3",{className:"vm-tracings-view-trace-header-title",children:["Trace for ",Yr("b",{className:"vm-tracings-view-trace-header-title__query",children:e.queryValue})]}),Yr(pa,{title:"Open JSON",children:Yr(la,{variant:"text",startIcon:Yr(io,{}),onClick:(t=e,function(){u(t)})})}),Yr(pa,{title:"Remove trace",children:Yr(la,{variant:"text",color:"error",startIcon:Yr(oo,{}),onClick:c(e)})})]}),Yr("nav",{className:"vm-tracings-view-trace__nav",children:Yr(Gf,{trace:e,totalMsec:e.duration})})]},e.idValue);var t}))}),a&&Yr(Ta,{title:a.queryValue,onClose:l,children:Yr(Jf,{editable:r,displayTitle:r,defaultTile:a.queryValue,defaultJson:a.JSON,resetValue:a.originalJSON,onClose:l,onUpload:function(e,t){if(r&&a)try{a.setTracing(JSON.parse(e)),a.setQuery(t),u(null)}catch(s){console.error(s)}}})})]})},Kf=function(e,t){return ae((function(){var n={};e.forEach((function(e){return Object.entries(e.metric).forEach((function(e){return n[e[0]]?n[e[0]].options.add(e[1]):n[e[0]]={options:new Set([e[1]])}}))}));var r=Object.entries(n).map((function(e){return{key:e[0],variations:e[1].options.size}})).sort((function(e,t){return e.variations-t.variations}));return t?r.filter((function(e){return t.includes(e.key)})):r}),[e,t])},Xf=function(e){var t,n=e.checked,r=void 0!==n&&n,i=e.disabled,o=void 0!==i&&i,a=e.label,u=e.color,l=void 0===u?"secondary":u,c=e.onChange;return Yr("div",{className:xo()((pr(t={"vm-checkbox":!0,"vm-checkbox_disabled":o,"vm-checkbox_active":r},"vm-checkbox_".concat(l,"_active"),r),pr(t,"vm-checkbox_".concat(l),l),t)),onClick:function(){o||c(!r)},children:[Yr("div",{className:"vm-checkbox-track",children:Yr("div",{className:"vm-checkbox-track__thumb",children:Yr(uo,{})})}),a&&Yr("span",{className:"vm-checkbox__label",children:a})]})},ed="Table settings",td=function(e){var t=e.data,n=e.defaultColumns,r=void 0===n?[]:n,i=e.onChange,o=Po().tableCompact,a=Ro(),u=Kf(t),l=ie(null),c=Ft(ee(!1),2),s=c[0],f=c[1],d=ae((function(){return!u.length}),[u]),h=function(){f(!1)},p=function(e){return function(){!function(e){i(r.includes(e)?r.filter((function(t){return t!==e})):[].concat(Ot(r),[e]))}(e)}};return ne((function(){var e=u.map((function(e){return e.key}));Mf(e,r)||i(e)}),[u]),Yr("div",{className:"vm-table-settings",children:[Yr(pa,{title:ed,children:Yr("div",{ref:l,children:Yr(la,{variant:"text",startIcon:Yr(Ri,{}),onClick:function(){f((function(e){return!e}))},disabled:d})})}),Yr(sa,{open:s,onClose:h,placement:"bottom-right",buttonRef:l,children:Yr("div",{className:"vm-table-settings-popper",children:[Yr("div",{className:"vm-popper-header",children:[Yr("h3",{className:"vm-popper-header__title",children:ed}),Yr(la,{onClick:h,startIcon:Yr(zi,{}),size:"small",variant:"text"})]}),Yr("div",{className:"vm-table-settings-popper-list",children:Yr(Tf,{label:"Compact view",value:o,onChange:function(){a({type:"TOGGLE_TABLE_COMPACT"})}})}),Yr("div",{className:"vm-table-settings-popper-list",children:[Yr("div",{className:"vm-table-settings-popper-list-header",children:[Yr("h3",{className:"vm-table-settings-popper-list-header__title",children:"Display columns"}),Yr(pa,{title:"Reset to default",children:Yr(la,{color:"primary",variant:"text",size:"small",onClick:function(){f(!1),i(u.map((function(e){return e.key})))},startIcon:Yr(ji,{})})})]}),u.map((function(e){return Yr("div",{className:"vm-table-settings-popper-list__item",children:Yr(Xf,{checked:r.includes(e.key),onChange:p(e.key),label:e.key,disabled:o})},e.key)}))]})]})})]})};function nd(e){return function(e,t){return Object.fromEntries(Object.entries(e).filter(t))}(e,(function(e){return!!e[1]}))}var rd=["__name__"],id=function(e){var t=e.data,n=e.displayColumns,r=na().showInfoMessage,i=Po().tableCompact,o=Do(document.body),a=ie(null),u=Ft(ee(0),2),l=u[0],c=u[1],s=Ft(ee(0),2),f=s[0],d=s[1],h=Ft(ee(""),2),p=h[0],v=h[1],m=Ft(ee("asc"),2),g=m[0],y=m[1],_=i?Kf([{group:0,metric:{Data:"Data"}}],["Data"]):Kf(t,n),b=function(e){var t=e.__name__,n=ko(e,rd);return t||Object.keys(n).length?"".concat(t," ").concat(JSON.stringify(n)):""},D=new Set(null===t||void 0===t?void 0:t.map((function(e){return e.group}))),w=D.size>1,x=ae((function(){var e=null===t||void 0===t?void 0:t.map((function(e){return{metadata:_.map((function(t){return i?Df(e,"",w):e.metric[t.key]||"-"})),value:e.value?e.value[1]:"-",values:e.values?e.values.map((function(e){var t=Ft(e,2),n=t[0],r=t[1];return"".concat(r," @").concat(n)})):[],copyValue:b(e.metric)}})),n="Value"===p,r=_.findIndex((function(e){return e.key===p}));return n||-1!==r?e.sort((function(e,t){var i=n?Number(e.value):e.metadata[r],o=n?Number(t.value):t.metadata[r];return("asc"===g?io)?-1:1})):e}),[_,t,p,g,i]),k=ae((function(){return x.some((function(e){return e.copyValue}))}),[x]),C=function(){var e=eu(Ka().mark((function e(t){return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,navigator.clipboard.writeText(t);case 2:r({text:"Row has been copied",type:"success"});case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),A=function(e){return function(){!function(e){y((function(t){return"asc"===t&&p===e?"desc":"asc"})),v(e)}(e)}},E=function(){if(a.current){var e=a.current.getBoundingClientRect().top;d(e<0?window.scrollY-l:0)}};return ne((function(){return window.addEventListener("scroll",E),function(){window.removeEventListener("scroll",E)}}),[a,l,o]),ne((function(){if(a.current){var e=a.current.getBoundingClientRect().top;c(e+window.scrollY)}}),[a,o]),x.length?Yr("div",{className:"vm-table-view",children:Yr("table",{className:"vm-table",ref:a,children:[Yr("thead",{className:"vm-table-header",children:Yr("tr",{className:"vm-table__row vm-table__row_header",style:{transform:"translateY(".concat(f,"px)")},children:[_.map((function(e,t){return Yr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:A(e.key),children:Yr("div",{className:"vm-table-cell__content",children:[e.key,Yr("div",{className:xo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":p===e.key,"vm-table__sort-icon_desc":"desc"===g&&p===e.key}),children:Yr(Wi,{})})]})},t)})),Yr("td",{className:"vm-table-cell vm-table-cell_header vm-table-cell_right vm-table-cell_sort",onClick:A("Value"),children:Yr("div",{className:"vm-table-cell__content",children:[Yr("div",{className:xo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":"Value"===p,"vm-table__sort-icon_desc":"desc"===g}),children:Yr(Wi,{})}),"Value"]})}),k&&Yr("td",{className:"vm-table-cell vm-table-cell_header"})]})}),Yr("tbody",{className:"vm-table-body",children:x.map((function(e,t){return Yr("tr",{className:"vm-table__row",children:[e.metadata.map((function(e,n){return Yr("td",{className:xo()({"vm-table-cell vm-table-cell_no-wrap":!0,"vm-table-cell_gray":x[t-1]&&x[t-1].metadata[n]===e}),children:e},n)})),Yr("td",{className:"vm-table-cell vm-table-cell_right vm-table-cell_no-wrap",children:e.values.length?e.values.map((function(e){return Yr("p",{children:e},e)})):e.value}),k&&Yr("td",{className:"vm-table-cell vm-table-cell_right",children:e.copyValue&&Yr("div",{className:"vm-table-cell__content",children:Yr(pa,{title:"Copy row",children:Yr(la,{variant:"text",color:"gray",size:"small",startIcon:Yr(so,{}),onClick:(n=e.copyValue,function(){C(n)})})})})})]},t);var n}))})]})}):Yr(ea,{variant:"warning",children:"No data to show"})},od=function(){var e=Po(),t=e.displayType,n=e.isTracingEnabled,r=Bi().query,i=Si().period,o=Ni();!function(){var e=qr().tenantId,t=Po().displayType,n=Bi().query,r=Si(),i=r.duration,o=r.relativeTime,a=r.period,u=a.date,l=a.step,c=Ho().customStep,s=function(){var r={};n.forEach((function(n,a){var s,f="g".concat(a);r["".concat(f,".expr")]=n,r["".concat(f,".range_input")]=i,r["".concat(f,".end_input")]=u,r["".concat(f,".tab")]=(null===(s=No.find((function(e){return e.value===t})))||void 0===s?void 0:s.prometheusCode)||0,r["".concat(f,".relative_time")]=o,r["".concat(f,".tenantID")]=e,l!==c&&c&&(r["".concat(f,".step_input")]=c)})),Or(nd(r))};ne(s,[e,t,n,i,o,u,l,c]),ne(s,[])}();var a=Ft(ee(),2),u=a[0],l=a[1],c=Ft(ee([]),2),s=c[0],f=c[1],d=Ft(ee([]),2),h=d[0],p=d[1],v=Ft(ee(!1),2),m=v[0],g=v[1],y=Ho(),_=y.customStep,b=y.yaxis,D=Uo(),w=Wf().queryOptions,x=$f({visible:!0,customStep:_,hideQuery:h,showAllSeries:m}),k=x.isLoading,C=x.liveData,A=x.graphData,E=x.error,S=x.warning,N=x.traces,F=function(e){D({type:"SET_YAXIS_LIMITS",payload:e})};return ne((function(){N&&f([].concat(Ot(s),Ot(N)))}),[N]),ne((function(){f([])}),[t]),ne((function(){g(!1)}),[r]),Yr("div",{className:"vm-custom-panel",children:[Yr(Bf,{error:E,queryOptions:w,onHideQuery:function(e){p(e)}}),n&&Yr("div",{className:"vm-custom-panel__trace",children:Yr(Zf,{traces:s,onDeleteClick:function(e){var t=s.filter((function(t){return t.idValue!==e.idValue}));f(Ot(t))}})}),k&&Yr(qf,{}),E&&Yr(ea,{variant:"error",children:E}),S&&Yr(ea,{variant:"warning",children:Yr("div",{className:"vm-custom-panel__warning",children:[Yr("p",{children:S}),Yr(la,{color:"warning",variant:"outlined",onClick:function(){g(!0)},children:"Show all"})]})}),Yr("div",{className:"vm-custom-panel-body vm-block",children:[Yr("div",{className:"vm-custom-panel-body-header",children:[Yr(Fo,{}),"chart"===t&&Yr(Vf,{yaxis:b,setYaxisLimits:F,toggleEnableLimits:function(){D({type:"TOGGLE_ENABLE_YAXIS_LIMITS"})}}),"table"===t&&Yr(td,{data:C||[],defaultColumns:u,onChange:l})]}),A&&i&&"chart"===t&&Yr(Sf,{data:A,period:i,customStep:_,query:r,yaxis:b,setYaxisLimits:F,setPeriod:function(e){var t=e.from,n=e.to;o({type:"SET_PERIOD",payload:{from:t,to:n}})}}),C&&"code"===t&&Yr(Hf,{data:C}),C&&"table"===t&&Yr(id,{data:C,displayColumns:u})]})]})};function ad(){return{async:!1,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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1}}var ud={async:!1,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,smartypants:!1,tokenizer:null,walkTokens:null,xhtml:!1};var ld=/[&<>"']/,cd=new RegExp(ld.source,"g"),sd=/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,fd=new RegExp(sd.source,"g"),dd={"&":"&","<":"<",">":">",'"':""","'":"'"},hd=function(e){return dd[e]};function pd(e,t){if(t){if(ld.test(e))return e.replace(cd,hd)}else if(sd.test(e))return e.replace(fd,hd);return e}var vd=/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi;function md(e){return e.replace(vd,(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 gd=/(^|[^\[])\^/g;function yd(e,t){e="string"===typeof e?e:e.source,t=t||"";var n={replace:function(t,r){return r=(r=r.source||r).replace(gd,"$1"),e=e.replace(t,r),n},getRegex:function(){return new RegExp(e,t)}};return n}var _d=/[^\w:]/g,bd=/^$|^[a-z][a-z0-9+.-]*:|^[?#]/i;function Dd(e,t,n){if(e){var r;try{r=decodeURIComponent(md(n)).replace(_d,"").toLowerCase()}catch(s){return null}if(0===r.indexOf("javascript:")||0===r.indexOf("vbscript:")||0===r.indexOf("data:"))return null}t&&!bd.test(n)&&(n=function(e,t){wd[" "+e]||(xd.test(e)?wd[" "+e]=e+"/":wd[" "+e]=Nd(e,"/",!0));e=wd[" "+e];var n=-1===e.indexOf(":");return"//"===t.substring(0,2)?n?t:e.replace(kd,"$1")+t:"/"===t.charAt(0)?n?t:e.replace(Cd,"$1")+t:e+t}(t,n));try{n=encodeURI(n).replace(/%25/g,"%")}catch(s){return null}return n}var wd={},xd=/^[^:]+:\/*[^/]*$/,kd=/^([^:]+:)[\s\S]*$/,Cd=/^([^:]+:\/*[^/]*)[\s\S]*$/;var Ad={exec:function(){}};function Ed(e){for(var t,n,r=1;r=0&&"\\"===n[i];)r=!r;return r?"|":" |"})).split(/ \|/),r=0;if(n[0].trim()||n.shift(),n.length>0&&!n[n.length-1].trim()&&n.pop(),n.length>t)n.splice(t);else for(;n.length1;)1&t&&(n+=e),t>>=1,e+=e;return n+e}function Od(e,t,n,r){var i=t.href,o=t.title?pd(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:i,title:o,text:a,tokens:r.inlineTokens(a)};return r.state.inLink=!1,u}return{type:"image",raw:n,href:i,title:o,text:pd(a)}}var Md=function(){function e(t){Mt(this,e),this.options=t||ud}return Pt(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:Nd(n,"\n")}}}},{key:"fences",value:function(e){var t=this.rules.block.fences.exec(e);if(t){var n=t[0],r=function(e,t){var n=e.match(/^(\s+)(?:```)/);if(null===n)return t;var r=n[1];return t.split("\n").map((function(e){var t=e.match(/^\s+/);return null===t?e:Ft(t,1)[0].length>=r.length?e.slice(r.length):e})).join("\n")}(n,t[3]||"");return{type:"code",raw:n,lang:t[2]?t[2].trim().replace(this.rules.inline._escapes,"$1"):t[2],text:r}}}},{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=Nd(n,"#");this.options.pedantic?n=r.trim():r&&!/ $/.test(r)||(n=r.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:n,tokens:this.lexer.inline(n)}}}},{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,""),r=this.lexer.state.top;this.lexer.state.top=!0;var i=this.lexer.blockTokens(n);return this.lexer.state.top=r,{type:"blockquote",raw:t[0],tokens:i,text:n}}}},{key:"list",value:function(e){var t=this.rules.block.list.exec(e);if(t){var n,r,i,o,a,u,l,c,s,f,d,h,p=t[1].trim(),v=p.length>1,m={type:"list",raw:"",ordered:v,start:v?+p.slice(0,-1):"",loose:!1,items:[]};p=v?"\\d{1,9}\\".concat(p.slice(-1)):"\\".concat(p),this.options.pedantic&&(p=v?p:"[*+-]");for(var g=new RegExp("^( {0,3}".concat(p,")((?:[\t ][^\\n]*)?(?:\\n|$))"));e&&(h=!1,t=g.exec(e))&&!this.rules.block.hr.test(e);){if(n=t[0],e=e.substring(n.length),c=t[2].split("\n",1)[0].replace(/^\t+/,(function(e){return" ".repeat(3*e.length)})),s=e.split("\n",1)[0],this.options.pedantic?(o=2,d=c.trimLeft()):(o=(o=t[2].search(/[^ ]/))>4?1:o,d=c.slice(o),o+=t[1].length),u=!1,!c&&/^ *$/.test(s)&&(n+=s+"\n",e=e.substring(s.length+1),h=!0),!h)for(var y=new RegExp("^ {0,".concat(Math.min(3,o-1),"}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))")),_=new RegExp("^ {0,".concat(Math.min(3,o-1),"}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)")),b=new RegExp("^ {0,".concat(Math.min(3,o-1),"}(?:```|~~~)")),D=new RegExp("^ {0,".concat(Math.min(3,o-1),"}#"));e&&(s=f=e.split("\n",1)[0],this.options.pedantic&&(s=s.replace(/^ {1,4}(?=( {4})*[^ ])/g," ")),!b.test(s))&&!D.test(s)&&!y.test(s)&&!_.test(e);){if(s.search(/[^ ]/)>=o||!s.trim())d+="\n"+s.slice(o);else{if(u)break;if(c.search(/[^ ]/)>=4)break;if(b.test(c))break;if(D.test(c))break;if(_.test(c))break;d+="\n"+s}u||s.trim()||(u=!0),n+=f+"\n",e=e.substring(f.length+1),c=s.slice(o)}m.loose||(l?m.loose=!0:/\n *\n *$/.test(n)&&(l=!0)),this.options.gfm&&(r=/^\[[ xX]\] /.exec(d))&&(i="[ ] "!==r[0],d=d.replace(/^\[[ xX]\] +/,"")),m.items.push({type:"list_item",raw:n,task:!!r,checked:i,loose:!1,text:d}),m.raw+=n}m.items[m.items.length-1].raw=n.trimRight(),m.items[m.items.length-1].text=d.trimRight(),m.raw=m.raw.trimRight();var w=m.items.length;for(a=0;a0&&x.some((function(e){return/\n.*\n/.test(e.raw)}));m.loose=k}if(m.loose)for(a=0;a$/,"$1").replace(this.rules.inline._escapes,"$1"):"",i=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline._escapes,"$1"):t[3];return{type:"def",tag:n,raw:t[0],href:r,title:i}}}},{key:"table",value:function(e){var t=this.rules.block.table.exec(e);if(t){var n={type:"table",header:Sd(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,i,o,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]):pd(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=Nd(n.slice(0,-1),"\\");if((n.length-r.length)%2===0)return}else{var i=function(e,t){if(-1===e.indexOf(t[1]))return-1;for(var n=e.length,r=0,i=0;i-1){var o=(0===t[0].indexOf("!")?5:4)+t[1].length+i;t[2]=t[2].substring(0,i),t[0]=t[0].substring(0,o).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)),Od(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()])){var i=n[0].charAt(0);return{type:"text",raw:i,text:i}}return Od(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\uDE3F\uDE40\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\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDF50-\uDF59\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\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46]|\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\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD834[\uDEC0-\uDED3\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\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD40-\uDD49\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB\uDEF0-\uDEF9]|\uD839[\uDCD0-\uDCEB\uDCF0-\uDCF9\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-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF])/))){var i=r[1]||r[2]||"";if(!i||i&&(""===n||this.rules.inline.punctuation.exec(n))){var o,a,u=r[0].length-1,l=u,c=0,s="*"===r[0][0]?this.rules.inline.emStrong.rDelimAst:this.rules.inline.emStrong.rDelimUnd;for(s.lastIndex=0,t=t.slice(-1*e.length+u);null!=(r=s.exec(t));)if(o=r[1]||r[2]||r[3]||r[4]||r[5]||r[6])if(a=o.length,r[3]||r[4])l+=a;else if(!((r[5]||r[6])&&u%3)||(u+a)%3){if(!((l-=a)>0)){a=Math.min(a,a+l+c);var f=e.slice(0,u+r.index+(r[0].length-o.length)+a);if(Math.min(u,a)%2){var d=f.slice(1,-1);return{type:"em",raw:f,text:d,tokens:this.lexer.inlineTokens(d)}}var h=f.slice(2,-2);return{type:"strong",raw:f,text:h,tokens:this.lexer.inlineTokens(h)}}}else c+=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),i=/^ /.test(n)&&/ $/.test(n);return r&&i&&(n=n.substring(1,n.length-1)),n=pd(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,i=this.rules.inline.autolink.exec(e);if(i)return r="@"===i[2]?"mailto:"+(n=pd(this.options.mangle?t(i[1]):i[1])):n=pd(i[1]),{type:"link",raw:i[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,i;if("@"===n[2])i="mailto:"+(r=pd(this.options.mangle?t(n[0]):n[0]));else{var o;do{o=n[0],n[0]=this.rules.inline._backpedal.exec(n[0])[0]}while(o!==n[0]);r=pd(n[0]),i="www."===n[1]?"http://"+n[0]:n[0]}return{type:"link",raw:n[0],text:r,href:i,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]):pd(r[0]):r[0]:pd(this.options.smartypants?t(r[0]):r[0]),{type:"text",raw:r[0],text:n}}}]),e}(),Bd={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 *)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n *)?| *\n *)(title))? *(?:\n+|$)/,table:Ad,lheading:/^((?:.|\n(?!\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?'|\([^()]*\))/};Bd.def=yd(Bd.def).replace("label",Bd._label).replace("title",Bd._title).getRegex(),Bd.bullet=/(?:[*+-]|\d{1,9}[.)])/,Bd.listItemStart=yd(/^( *)(bull) */).replace("bull",Bd.bullet).getRegex(),Bd.list=yd(Bd.list).replace(/bull/g,Bd.bullet).replace("hr","\\n+(?=\\1?(?:(?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$))").replace("def","\\n+(?="+Bd.def.source+")").getRegex(),Bd._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",Bd._comment=/|$)/,Bd.html=yd(Bd.html,"i").replace("comment",Bd._comment).replace("tag",Bd._tag).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Bd.paragraph=yd(Bd._paragraph).replace("hr",Bd.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",Bd._tag).getRegex(),Bd.blockquote=yd(Bd.blockquote).replace("paragraph",Bd.paragraph).getRegex(),Bd.normal=Ed({},Bd),Bd.gfm=Ed({},Bd.normal,{table:"^ *([^\\n ].*\\|.*)\\n {0,3}(?:\\| *)?(:?-+:? *(?:\\| *:?-+:? *)*)(?:\\| *)?(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)"}),Bd.gfm.table=yd(Bd.gfm.table).replace("hr",Bd.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",Bd._tag).getRegex(),Bd.gfm.paragraph=yd(Bd._paragraph).replace("hr",Bd.hr).replace("heading"," {0,3}#{1,6} ").replace("|lheading","").replace("table",Bd.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",Bd._tag).getRegex(),Bd.pedantic=Ed({},Bd.normal,{html:yd("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Bd._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:Ad,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:yd(Bd.normal._paragraph).replace("hr",Bd.hr).replace("heading"," *#{1,6} *[^\n]").replace("lheading",Bd.lheading).replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").getRegex()});var Ld={escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,autolink:/^<(scheme:[^\s\x00-\x1f<>]*|email)>/,url:Ad,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:Ad,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\.5&&(n="x"+n.toString(16)),r+="&#"+n+";";return r}Ld._punctuation="!\"#$%&'()+\\-.,/:;<=>?@\\[\\]`^{|}~",Ld.punctuation=yd(Ld.punctuation).replace(/punctuation/g,Ld._punctuation).getRegex(),Ld.blockSkip=/\[[^\]]*?\]\([^\)]*?\)|`[^`]*?`|<[^>]*?>/g,Ld.escapedEmSt=/(?:^|[^\\])(?:\\\\)*\\[*_]/g,Ld._comment=yd(Bd._comment).replace("(?:--\x3e|$)","--\x3e").getRegex(),Ld.emStrong.lDelim=yd(Ld.emStrong.lDelim).replace(/punct/g,Ld._punctuation).getRegex(),Ld.emStrong.rDelimAst=yd(Ld.emStrong.rDelimAst,"g").replace(/punct/g,Ld._punctuation).getRegex(),Ld.emStrong.rDelimUnd=yd(Ld.emStrong.rDelimUnd,"g").replace(/punct/g,Ld._punctuation).getRegex(),Ld._escapes=/\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/g,Ld._scheme=/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/,Ld._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])?)+(?![-_])/,Ld.autolink=yd(Ld.autolink).replace("scheme",Ld._scheme).replace("email",Ld._email).getRegex(),Ld._attribute=/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/,Ld.tag=yd(Ld.tag).replace("comment",Ld._comment).replace("attribute",Ld._attribute).getRegex(),Ld._label=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,Ld._href=/<(?:\\.|[^\n<>\\])+>|[^\s\x00-\x1f]*/,Ld._title=/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/,Ld.link=yd(Ld.link).replace("label",Ld._label).replace("href",Ld._href).replace("title",Ld._title).getRegex(),Ld.reflink=yd(Ld.reflink).replace("label",Ld._label).replace("ref",Bd._label).getRegex(),Ld.nolink=yd(Ld.nolink).replace("ref",Bd._label).getRegex(),Ld.reflinkSearch=yd(Ld.reflinkSearch,"g").replace("reflink",Ld.reflink).replace("nolink",Ld.nolink).getRegex(),Ld.normal=Ed({},Ld),Ld.pedantic=Ed({},Ld.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:yd(/^!?\[(label)\]\((.*?)\)/).replace("label",Ld._label).getRegex(),reflink:yd(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Ld._label).getRegex()}),Ld.gfm=Ed({},Ld.normal,{escape:yd(Ld.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]:[];e=this.options.pedantic?e.replace(/\t/g," ").replace(/^ +$/gm,""):e.replace(/^( *)(\t+)/gm,(function(e,t,n){return t+" ".repeat(n.length)}));for(var u=function(){if(o.options.extensions&&o.options.extensions.block&&o.options.extensions.block.some((function(n){return!!(t=n.call({lexer:o},e,a))&&(e=e.substring(t.raw.length),a.push(t),!0)})))return"continue";if(t=o.tokenizer.space(e))return e=e.substring(t.raw.length),1===t.raw.length&&a.length>0?a[a.length-1].raw+="\n":a.push(t),"continue";if(t=o.tokenizer.code(e))return 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,o.inlineQueue[o.inlineQueue.length-1].src=n.text),"continue";if(t=o.tokenizer.fences(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.heading(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.hr(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.blockquote(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.list(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.html(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.def(e))return e=e.substring(t.raw.length),!(n=a[a.length-1])||"paragraph"!==n.type&&"text"!==n.type?o.tokens.links[t.tag]||(o.tokens.links[t.tag]={href:t.href,title:t.title}):(n.raw+="\n"+t.raw,n.text+="\n"+t.raw,o.inlineQueue[o.inlineQueue.length-1].src=n.text),"continue";if(t=o.tokenizer.table(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(t=o.tokenizer.lheading(e))return e=e.substring(t.raw.length),a.push(t),"continue";if(r=e,o.options.extensions&&o.options.extensions.startBlock){var u,l=1/0,c=e.slice(1);o.options.extensions.startBlock.forEach((function(e){"number"===typeof(u=e.call({lexer:this},c))&&u>=0&&(l=Math.min(l,u))})),l<1/0&&l>=0&&(r=e.substring(0,l+1))}if(o.state.top&&(t=o.tokenizer.paragraph(r)))return n=a[a.length-1],i&&"paragraph"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,o.inlineQueue.pop(),o.inlineQueue[o.inlineQueue.length-1].src=n.text):a.push(t),i=r.length!==e.length,e=e.substring(t.raw.length),"continue";if(t=o.tokenizer.text(e))return e=e.substring(t.raw.length),(n=a[a.length-1])&&"text"===n.type?(n.raw+="\n"+t.raw,n.text+="\n"+t.text,o.inlineQueue.pop(),o.inlineQueue[o.inlineQueue.length-1].src=n.text):a.push(t),"continue";if(e){var s="Infinite loop on byte: "+e.charCodeAt(0);if(o.options.silent)return console.error(s),"break";throw new Error(s)}};e;){var l=u();if("continue"!==l&&"break"===l)break}return this.state.top=!0,a}},{key:"inline",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return this.inlineQueue.push({src:e,tokens:t}),t}},{key:"inlineTokens",value:function(e){var t,n,r,i,o,a,u=this,l=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],c=e;if(this.tokens.links){var s=Object.keys(this.tokens.links);if(s.length>0)for(;null!=(i=this.tokenizer.rules.inline.reflinkSearch.exec(c));)s.includes(i[0].slice(i[0].lastIndexOf("[")+1,-1))&&(c=c.slice(0,i.index)+"["+Td("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(i=this.tokenizer.rules.inline.blockSkip.exec(c));)c=c.slice(0,i.index)+"["+Td("a",i[0].length-2)+"]"+c.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);for(;null!=(i=this.tokenizer.rules.inline.escapedEmSt.exec(c));)c=c.slice(0,i.index+i[0].length-2)+"++"+c.slice(this.tokenizer.rules.inline.escapedEmSt.lastIndex),this.tokenizer.rules.inline.escapedEmSt.lastIndex--;for(var f=function(){if(o||(a=""),o=!1,u.options.extensions&&u.options.extensions.inline&&u.options.extensions.inline.some((function(n){return!!(t=n.call({lexer:u},e,l))&&(e=e.substring(t.raw.length),l.push(t),!0)})))return"continue";if(t=u.tokenizer.escape(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.tag(e))return 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),"continue";if(t=u.tokenizer.link(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.reflink(e,u.tokens.links))return 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),"continue";if(t=u.tokenizer.emStrong(e,c,a))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.codespan(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.br(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.del(e))return e=e.substring(t.raw.length),l.push(t),"continue";if(t=u.tokenizer.autolink(e,Pd))return e=e.substring(t.raw.length),l.push(t),"continue";if(!u.state.inLink&&(t=u.tokenizer.url(e,Pd)))return e=e.substring(t.raw.length),l.push(t),"continue";if(r=e,u.options.extensions&&u.options.extensions.startInline){var i,s=1/0,f=e.slice(1);u.options.extensions.startInline.forEach((function(e){"number"===typeof(i=e.call({lexer:this},f))&&i>=0&&(s=Math.min(s,i))})),s<1/0&&s>=0&&(r=e.substring(0,s+1))}if(t=u.tokenizer.inlineText(r,Id))return e=e.substring(t.raw.length),"_"!==t.raw.slice(-1)&&(a=t.raw.slice(-1)),o=!0,(n=l[l.length-1])&&"text"===n.type?(n.raw+=t.raw,n.text+=t.text):l.push(t),"continue";if(e){var d="Infinite loop on byte: "+e.charCodeAt(0);if(u.options.silent)return console.error(d),"break";throw new Error(d)}};e;){var d=f();if("continue"!==d&&"break"===d)break}return l}}],[{key:"rules",get:function(){return{block:Bd,inline:Ld}}},{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}(),zd=function(){function e(t){Mt(this,e),this.options=t||ud}return Pt(e,[{key:"code",value:function(e,t,n){var r=(t||"").match(/\S*/)[0];if(this.options.highlight){var i=this.options.highlight(e,r);null!=i&&i!==e&&(n=!0,e=i)}return e=e.replace(/\n$/,"")+"\n",r?'
    '+(n?e:pd(e,!0))+"
    \n":"
    "+(n?e:pd(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 i=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=Dd(this.options.sanitize,this.options.baseUrl,e)))return n;var r='
    "}},{key:"image",value:function(e,t,n){if(null===(e=Dd(this.options.sanitize,this.options.baseUrl,e)))return n;var r='').concat(n,'":">"}},{key:"text",value:function(e){return e}}]),e}(),jd=function(){function e(){Mt(this,e)}return Pt(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}(),$d=function(){function e(){Mt(this,e),this.seen={}}return Pt(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}(),Hd=function(){function e(t){Mt(this,e),this.options=t||ud,this.options.renderer=this.options.renderer||new zd,this.renderer=this.options.renderer,this.renderer.options=this.options,this.textRenderer=new jd,this.slugger=new $d}return Pt(e,[{key:"parse",value:function(e){var t,n,r,i,o,a,u,l,c,s,f,d,h,p,v,m,g,y,_,b=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],D="",w=e.length;for(t=0;t0&&"paragraph"===v.tokens[0].type?(v.tokens[0].text=y+" "+v.tokens[0].text,v.tokens[0].tokens&&v.tokens[0].tokens.length>0&&"text"===v.tokens[0].tokens[0].type&&(v.tokens[0].tokens[0].text=y+" "+v.tokens[0].tokens[0].text)):v.tokens.unshift({type:"text",text:y}):p+=y),p+=this.parse(v.tokens,h),c+=this.renderer.listitem(p,g,m);D+=this.renderer.list(c,f,d);continue;case"html":D+=this.renderer.html(s.text);continue;case"paragraph":D+=this.renderer.paragraph(this.parseInline(s.tokens));continue;case"text":for(c=s.tokens?this.parseInline(s.tokens):s.text;t+1An error occurred:

    "+pd(e.message+"",!0)+"
    ";throw e}try{var l=Rd.lex(e,t);if(t.walkTokens){if(t.async)return Promise.all(Ud.walkTokens(l,t.walkTokens)).then((function(){return Hd.parse(l,t)})).catch(u);Ud.walkTokens(l,t.walkTokens)}return Hd.parse(l,t)}catch(s){u(s)}}Ud.options=Ud.setOptions=function(e){var t;return Ed(Ud.defaults,e),t=Ud.defaults,ud=t,Ud},Ud.getDefaults=ad,Ud.defaults=ud,Ud.use=function(){for(var e=Ud.defaults.extensions||{renderers:{},childTokens:{}},t=arguments.length,n=new Array(t),r=0;rAn error occurred:

    "+pd(s.message+"",!0)+"
    ";throw s}},Ud.Parser=Hd,Ud.parser=Hd.parse,Ud.Renderer=zd,Ud.TextRenderer=jd,Ud.Lexer=Rd,Ud.lexer=Rd.lex,Ud.Tokenizer=Md,Ud.Slugger=$d,Ud.parse=Ud;Ud.options,Ud.setOptions,Ud.use,Ud.walkTokens,Ud.parseInline,Hd.parse,Rd.lex;var Yd=function(e){var t=e.title,n=e.description,r=e.unit,i=e.expr,o=e.showLegend,a=e.filename,u=e.alias,l=Si().period,c=Ho().customStep,s=Ni(),f=ie(null),d=Ft(ee(!1),2),h=d[0],p=d[1],v=Ft(ee({limits:{enable:!1,range:{1:[0,0]}}}),2),m=v[0],y=v[1],_=ae((function(){return Array.isArray(i)&&i.every((function(e){return e}))}),[i]),b=$f({predefinedQuery:_?i:[],display:"chart",visible:h,customStep:c}),D=b.isLoading,w=b.graphData,x=b.error,k=b.warning,C=function(e){var t=mr({},m);t.limits.range=e,y(t)};if(ne((function(){var e=new IntersectionObserver((function(e){e.forEach((function(e){return p(e.isIntersecting)}))}),{threshold:.1});return f.current&&e.observe(f.current),function(){f.current&&e.unobserve(f.current)}}),[f]),!_)return Yr(ea,{variant:"error",children:[Yr("code",{children:'"expr"'})," not found. Check the configuration file ",Yr("b",{children:a}),"."]});var A=function(){return Yr("div",{className:"vm-predefined-panel-header__description vm-default-styles",children:[n&&Yr(g,{children:[Yr("div",{children:[Yr("span",{children:"Description:"}),Yr("div",{dangerouslySetInnerHTML:{__html:Ud.parse(n)}})]}),Yr("hr",{})]}),Yr("div",{children:[Yr("span",{children:"Queries:"}),Yr("div",{children:i.map((function(e,t){return Yr("div",{children:e},"".concat(t,"_").concat(e))}))})]})]})};return Yr("div",{className:"vm-predefined-panel",ref:f,children:[Yr("div",{className:"vm-predefined-panel-header",children:[Yr(pa,{title:Yr(A,{}),children:Yr("div",{className:"vm-predefined-panel-header__info",children:Yr($i,{})})}),Yr("h3",{className:"vm-predefined-panel-header__title",children:t||""}),Yr(Vf,{yaxis:m,setYaxisLimits:C,toggleEnableLimits:function(){var e=mr({},m);e.limits.enable=!e.limits.enable,y(e)}})]}),Yr("div",{className:"vm-predefined-panel-body",children:[D&&Yr(qf,{}),x&&Yr(ea,{variant:"error",children:x}),k&&Yr(ea,{variant:"warning",children:k}),w&&Yr(Sf,{data:w,period:l,customStep:c,query:i,yaxis:m,unit:r,alias:u,showLegend:o,setYaxisLimits:C,setPeriod:function(e){var t=e.from,n=e.to;s({type:"SET_PERIOD",payload:{from:t,to:n}})},fullWidth:!1})]})]})},Vd=function(e){var t=e.index,n=e.title,r=e.panels,i=e.filename,o=Do(document.body),a=ae((function(){return o.width/12}),[o]),u=Ft(ee(!t),2),l=u[0],c=u[1],s=Ft(ee([]),2),f=s[0],d=s[1];ne((function(){d(r&&r.map((function(e){return e.width||12})))}),[r]);var h=Ft(ee({start:0,target:0,enable:!1}),2),p=h[0],v=h[1],m=function(e){if(p.enable){var t=p.start,n=Math.ceil((t-e.clientX)/a);if(!(Math.abs(n)>=12)){var r=f.map((function(e,t){return e-(t===p.target?n:0)}));d(r)}}},g=function(){v(mr(mr({},p),{},{enable:!1}))},y=function(e){return function(t){!function(e,t){v({start:e.clientX,target:t,enable:!0})}(t,e)}};return ne((function(){return window.addEventListener("mousemove",m),window.addEventListener("mouseup",g),function(){window.removeEventListener("mousemove",m),window.removeEventListener("mouseup",g)}}),[p]),Yr("div",{className:"vm-predefined-dashboard",children:Yr(Ba,{defaultExpanded:l,onChange:function(e){return c(e)},title:Yr((function(){return Yr("div",{className:xo()({"vm-predefined-dashboard-header":!0,"vm-predefined-dashboard-header_open":l}),children:[(n||i)&&Yr("span",{className:"vm-predefined-dashboard-header__title",children:n||"".concat(t+1,". ").concat(i)}),r&&Yr("span",{className:"vm-predefined-dashboard-header__count",children:["(",r.length," panels)"]})]})}),{}),children:Yr("div",{className:"vm-predefined-dashboard-panels",children:Array.isArray(r)&&r.length?r.map((function(e,t){return Yr("div",{className:"vm-predefined-dashboard-panels-panel vm-block vm-block_empty-padding",style:{gridColumn:"span ".concat(f[t])},children:[Yr(Yd,{title:e.title,description:e.description,unit:e.unit,expr:e.expr,alias:e.alias,filename:i,showLegend:e.showLegend}),Yr("button",{className:"vm-predefined-dashboard-panels-panel__resizer",onMouseDown:y(t)})]},t)})):Yr("div",{className:"vm-predefined-dashboard-panels-panel__alert",children:Yr(ea,{variant:"error",children:[Yr("code",{children:'"panels"'})," not found. Check the configuration file ",Yr("b",{children:i}),"."]})})})})})},qd=function(){!function(){var e=Si(),t=e.duration,n=e.relativeTime,r=e.period.date,i=Ho().customStep,o=function(){var e,o=nd((pr(e={},"g0.range_input",t),pr(e,"g0.end_input",r),pr(e,"g0.step_input",i),pr(e,"g0.relative_time",n),e));Or(o)};ne(o,[t,n,r,i]),ne(o,[])}();var e=aa(),t=e.dashboardsSettings,n=e.dashboardsLoading,r=e.dashboardsError,i=Ft(ee(0),2),o=i[0],a=i[1],u=ae((function(){return t.map((function(e,t){return{label:e.title||"",value:t}}))}),[t]),l=ae((function(){return t[o]||{}}),[t,o]),c=ae((function(){return null===l||void 0===l?void 0:l.rows}),[l]),s=ae((function(){return l.title||l.filename||""}),[l]),f=ae((function(){return Array.isArray(c)&&!!c.length}),[c]),d=function(e){return function(){!function(e){a(e)}(e)}};return Yr("div",{className:"vm-predefined-panels",children:[n&&Yr(qf,{}),r&&Yr(ea,{variant:"error",children:r}),!t.length&&Yr(ea,{variant:"info",children:"Dashboards not found"}),u.length>1&&Yr("div",{className:"vm-predefined-panels-tabs vm-block",children:u.map((function(e){return Yr("div",{className:xo()({"vm-predefined-panels-tabs__tab":!0,"vm-predefined-panels-tabs__tab_active":e.value==o}),onClick:d(e.value),children:e.label},e.value)}))}),Yr("div",{className:"vm-predefined-panels__dashboards",children:[f&&c.map((function(e,t){return Yr(Vd,{index:t,filename:s,title:e.title,panels:e.panels},"".concat(o,"_").concat(t))})),!!t.length&&!f&&Yr(ea,{variant:"error",children:[Yr("code",{children:'"rows"'})," not found. Check the configuration file ",Yr("b",{children:s}),"."]})]})]})},Wd=function(e,t){var n=t.match?"&match[]="+encodeURIComponent(t.match):"",r=t.focusLabel?"&focusLabel="+encodeURIComponent(t.focusLabel):"";return"".concat(e,"/api/v1/status/tsdb?topN=").concat(t.topN,"&date=").concat(t.date).concat(n).concat(r)},Qd=function(){function e(){Mt(this,e),this.tsdbStatus=void 0,this.tabsNames=void 0,this.tsdbStatus=this.defaultTSDBStatus,this.tabsNames=["table","graph"]}return Pt(e,[{key:"tsdbStatusData",get:function(){return this.tsdbStatus},set:function(e){this.tsdbStatus=e}},{key:"defaultTSDBStatus",get:function(){return{totalSeries:0,totalLabelValuePairs:0,seriesCountByMetricName:[],seriesCountByLabelName:[],seriesCountByFocusLabelValue:[],seriesCountByLabelValuePair:[],labelValueCountByLabelName:[]}}},{key:"keys",value:function(e){var t=[];return e&&(t=t.concat("seriesCountByFocusLabelValue")),t=t.concat("seriesCountByMetricName","seriesCountByLabelName","seriesCountByLabelValuePair","labelValueCountByLabelName"),t}},{key:"defaultState",get:function(){var e=this;return this.keys("job").reduce((function(t,n){return mr(mr({},t),{},{tabs:mr(mr({},t.tabs),{},pr({},n,e.tabsNames)),containerRefs:mr(mr({},t.containerRefs),{},pr({},n,ie(null))),defaultActiveTab:mr(mr({},t.defaultActiveTab),{},pr({},n,0))})}),{tabs:{},containerRefs:{},defaultActiveTab:{}})}},{key:"sectionsTitles",value:function(e){return{seriesCountByMetricName:"Metric names with the highest number of series",seriesCountByLabelName:"Labels with the highest number of series",seriesCountByFocusLabelValue:'Values for "'.concat(e,'" label with the highest number of series'),seriesCountByLabelValuePair:"Label=value pairs with the highest number of series",labelValueCountByLabelName:"Labels with the highest number of unique values"}}},{key:"tablesHeaders",get:function(){return{seriesCountByMetricName:Gd,seriesCountByLabelName:Jd,seriesCountByFocusLabelValue:Zd,seriesCountByLabelValuePair:Kd,labelValueCountByLabelName:Xd}}},{key:"totalSeries",value:function(e){return"labelValueCountByLabelName"===e?-1:this.tsdbStatus.totalSeries}}]),e}(),Gd=[{id:"name",label:"Metric name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Jd=[{id:"name",label:"Label name"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Zd=[{id:"name",label:"Label value"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{disablePadding:!1,id:"action",label:"Action",numeric:!1}],Kd=[{id:"name",label:"Label=value pair"},{id:"value",label:"Number of series"},{id:"percentage",label:"Percent of series"},{id:"action",label:"Action"}],Xd=[{id:"name",label:"Label name"},{id:"value",label:"Number of unique values"},{id:"action",label:"Action"}],eh={seriesCountByMetricName:function(e,t){return th("__name__",t)},seriesCountByLabelName:function(e,t){return"{".concat(t,'!=""}')},seriesCountByFocusLabelValue:function(e,t){return th(e,t)},seriesCountByLabelValuePair:function(e,t){var n=t.split("="),r=n[0],i=n.slice(1).join("=");return th(r,i)},labelValueCountByLabelName:function(e,t){return"{".concat(t,'!=""}')}},th=function(e,t){return e?"{"+e+"="+JSON.stringify(t)+"}":""},nh=function(e){var t=e.topN,n=e.error,r=e.query,i=e.onSetHistory,o=e.onRunQuery,a=e.onSetQuery,u=e.onTopNChange,l=e.onFocusLabelChange,c=e.totalSeries,s=e.totalLabelValuePairs,f=e.date,d=e.match,h=e.focusLabel,p=Bi().autocomplete,v=Li(),m=Wf().queryOptions,g=ae((function(){return t<1?"Number must be bigger than zero":""}),[t]);return Yr("div",{className:"vm-cardinality-configurator vm-block",children:[Yr("div",{className:"vm-cardinality-configurator-controls",children:[Yr("div",{className:"vm-cardinality-configurator-controls__query",children:Yr(Ff,{value:r,autocomplete:p,options:m,error:n,onArrowUp:function(){i(-1)},onArrowDown:function(){i(1)},onEnter:o,onChange:a,label:"Time series selector"})}),Yr("div",{className:"vm-cardinality-configurator-controls__item",children:Yr(Sa,{label:"Number of entries per table",type:"number",value:t,error:g,onChange:u})}),Yr("div",{className:"vm-cardinality-configurator-controls__item",children:Yr(Sa,{label:"Focus label",type:"text",value:h||"",onChange:l,endIcon:Yr(pa,{title:Yr("div",{children:[Yr("p",{children:"To identify values with the highest number of series for the selected label."}),Yr("p",{children:"Adds a table showing the series with the highest number of series."})]}),children:Yr($i,{})})})})]}),Yr("div",{className:"vm-cardinality-configurator-additional",children:Yr(Tf,{label:"Autocomplete",value:p,onChange:function(){v({type:"TOGGLE_AUTOCOMPLETE"})}})}),Yr("div",{className:"vm-cardinality-configurator-bottom",children:[Yr("div",{className:"vm-cardinality-configurator-bottom__info",children:["Analyzed ",Yr("b",{children:c})," series with ",Yr("b",{children:s}),' "label=value" pairs at ',Yr("b",{children:f}),d&&Yr("span",{children:[" for series selector ",Yr("b",{children:d})]}),". Show top ",t," entries per table."]}),Yr("div",{className:"vm-cardinality-configurator-bottom__docs",children:[Yr("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://docs.victoriametrics.com/#cardinality-explorer",rel:"help noreferrer",children:[Yr(mo,{}),"Documentation"]}),Yr("a",{className:"vm-link vm-link_with-icon",target:"_blank",href:"https://victoriametrics.com/blog/cardinality-explorer/",rel:"help noreferrer",children:[Yr(yo,{}),"Example of using"]})]}),Yr(la,{startIcon:Yr(eo,{}),onClick:o,children:"Execute Query"})]})]})};function rh(e){var t=e.order,n=e.orderBy,r=e.onRequestSort,i=e.headerCells;return Yr("thead",{className:"vm-table-header",children:Yr("tr",{className:"vm-table__row vm-table__row_header",children:i.map((function(e){return Yr("th",{className:xo()({"vm-table-cell vm-table-cell_header":!0,"vm-table-cell_sort":"action"!==e.id&&"percentage"!==e.id,"vm-table-cell_right":"action"===e.id}),onClick:(i=e.id,function(e){r(e,i)}),children:Yr("div",{className:"vm-table-cell__content",children:[e.label,"action"!==e.id&&"percentage"!==e.id&&Yr("div",{className:xo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":n===e.id,"vm-table__sort-icon_desc":"desc"===t&&n===e.id}),children:Yr(Wi,{})})]})},e.id);var i}))})})}function ih(e,t,n){return t[n]e[n]?1:0}function oh(e,t){return"desc"===e?function(e,n){return ih(e,n,t)}:function(e,n){return-ih(e,n,t)}}function ah(e,t){var n=e.map((function(e,t){return[e,t]}));return n.sort((function(e,n){var r=t(e[0],n[0]);return 0!==r?r:e[1]-n[1]})),n.map((function(e){return e[0]}))}var uh=function(e){var t=e.rows,n=e.headerCells,r=e.defaultSortColumn,i=e.tableCells,o=Ft(ee("desc"),2),a=o[0],u=o[1],l=Ft(ee(r),2),c=l[0],s=l[1],f=Ft(ee([]),2),d=f[0],h=f[1],p=function(e){return function(){var t=d.indexOf(e),n=[];-1===t?n=n.concat(d,e):0===t?n=n.concat(d.slice(1)):t===d.length-1?n=n.concat(d.slice(0,-1)):t>0&&(n=n.concat(d.slice(0,t),d.slice(t+1))),h(n)}},v=ah(t,oh(a,c));return Yr("table",{className:"vm-table",children:[Yr(rh,{numSelected:d.length,order:a,orderBy:c,onSelectAllClick:function(e){if(e.target.checked){var n=t.map((function(e){return e.name}));h(n)}else h([])},onRequestSort:function(e,t){u(c===t&&"asc"===a?"desc":"asc"),s(t)},rowCount:t.length,headerCells:n}),Yr("tbody",{className:"vm-table-header",children:v.map((function(e){return Yr("tr",{className:xo()({"vm-table__row":!0,"vm-table__row_selected":(t=e.name,-1!==d.indexOf(t))}),onClick:p(e.name),children:i(e)},e.name);var t}))})]})},lh=function(e){var t=e.row,n=e.totalSeries,r=e.onActionClick,i=n>0?t.value/n*100:-1;return Yr(g,{children:[Yr("td",{className:"vm-table-cell",children:t.name},t.name),Yr("td",{className:"vm-table-cell",children:t.value},t.value),i>0&&Yr("td",{className:"vm-table-cell",children:Yr(Qf,{value:i})},t.progressValue),Yr("td",{className:"vm-table-cell vm-table-cell_right",children:Yr("div",{className:"vm-table-cell__content",children:Yr(pa,{title:"Filter by ".concat(t.name),children:Yr(la,{variant:"text",size:"small",onClick:function(){r(t.name)},children:Yr(to,{})})})})},"action")]})},ch=function(e){var t=e.data,n=e.container,r=e.configs,i=qr().isDarkTheme,o=ie(null),a=Ft(ee(),2),u=a[0],l=a[1],c=Do(n),s=mr(mr({},r),{},{width:c.width||400});return ne((function(){if(o.current){var e=new tf(s,t,o.current);return l(e),e.destroy}}),[o.current,c,i]),ne((function(){u&&u.setData(t)}),[t]),Yr("div",{style:{height:"100%"},children:Yr("div",{ref:o})})},sh=function(e,t){return Math.round(e*(t=Math.pow(10,t)))/t},fh=1,dh=function(e,t,n,r){return sh(t+e*(n+r),6)},hh=function(e,t,n,r,i){var o=1-t,a=n===fh?o/(e-1):2===n?o/e:3===n?o/(e+1):0;(isNaN(a)||a===1/0)&&(a=0);var u=n===fh?0:2===n?a/2:3===n?a:0,l=t/e,c=sh(l,6);if(null==r)for(var s=0;s=n&&e<=i&&t>=r&&t<=o};function vh(e,t,n,r,i){var o=this;o.x=e,o.y=t,o.w=n,o.h=r,o.l=i||0,o.o=[],o.q=null}var mh={split:function(){var e=this,t=e.x,n=e.y,r=e.w/2,i=e.h/2,o=e.l+1;e.q=[new vh(t+r,n,r,i,o),new vh(t,n,r,i,o),new vh(t,n+i,r,i,o),new vh(t+r,n+i,r,i,o)]},quads:function(e,t,n,r,i){var o=this,a=o.q,u=o.x+o.w/2,l=o.y+o.h/2,c=tu,d=t+r>l;c&&f&&i(a[0]),s&&c&&i(a[1]),s&&d&&i(a[2]),f&&d&&i(a[3])},add:function(e){var t=this;if(null!=t.q)t.quads(e.x,e.y,e.w,e.h,(function(t){t.add(e)}));else{var n=t.o;if(n.push(e),n.length>10&&t.l<4){t.split();for(var r=function(){var e=n[i];t.quads(e.x,e.y,e.w,e.h,(function(t){t.add(e)}))},i=0;i=0?"left":"right",e.ctx.textBaseline=1===s?"middle":i[n]>=0?"bottom":"top",e.ctx.fillText(i[n],f,y)}}))})),e.ctx.restore()}function b(e,t,n){return[0,tf.rangeNum(0,n,.05,!0)[1]]}return{hooks:{drawClear:function(t){var n;if((g=g||new vh(0,0,t.bbox.width,t.bbox.height)).clear(),t.series.forEach((function(e){e._paths=null})),l=d?[null].concat(m(t.data.length-1-o.length,t.data[0].length)):2===t.series.length?[null].concat(m(t.data[0].length,1)):[null].concat(function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:h,r=Array.from({length:t},(function(){return{offs:Array(e).fill(0),size:Array(e).fill(0)}}));return hh(e,n,p,null,(function(e,n,i){hh(t,1,v,null,(function(t,o,a){r[t].offs[e]=n+i*o,r[t].size[e]=i*a}))})),r}(t.data[0].length,t.data.length-1-o.length,1===t.data[0].length?1:h)),null!=(null===(n=e.disp)||void 0===n?void 0:n.fill)){c=[null];for(var r=1;r0&&!o.includes(t)&&tf.assign(e,{paths:y,points:{show:_}})}))}}}((gh=[1],yh=0,_h=1,bh=0,Dh=function(e,t){return{stroke:e,fill:t}}({unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}},{unit:3,values:function(e){return e.data[1].map((function(e,t){return 0!==t?"#33BB55":"#F79420"}))}}),{which:gh,ori:yh,dir:_h,radius:bh,disp:Dh}))]},xh=function(e){var t=e.rows,n=e.activeTab,r=e.onChange,i=e.tabs,o=e.chartContainer,a=e.totalSeries,u=e.tabId,l=e.onActionClick,c=e.sectionTitle,s=e.tableHeaderCells,f=ae((function(){return i.map((function(e,t){return{value:String(t),label:e,icon:Yr(0===t?ro:no,{})}}))}),[i]);return Yr("div",{className:"vm-metrics-content vm-block",children:[Yr("div",{className:"vm-metrics-content-header vm-section-header",children:[Yr("h5",{className:"vm-section-header__title",children:c}),Yr("div",{className:"vm-section-header__tabs",children:Yr(So,{activeItem:String(n),items:f,onChange:function(e){r(e,u)}})})]}),Yr("div",{ref:o,className:"vm-metrics-content__table",children:[0===n&&Yr(uh,{rows:t,headerCells:s,defaultSortColumn:"value",tableCells:function(e){return Yr(lh,{row:e,totalSeries:a,onActionClick:l})}}),1===n&&Yr(ch,{data:[t.map((function(e){return e.name})),t.map((function(e){return e.value})),t.map((function(e,t){return t%12==0?1:t%10==0?2:0}))],container:(null===o||void 0===o?void 0:o.current)||null,configs:wh})]})]})},kh=function(){var e=Wo(),t=e.topN,n=e.match,r=e.date,i=e.focusLabel,o=Qo();!function(){var e=Wo(),t=e.topN,n=e.match,r=e.date,i=e.focusLabel,o=e.extraLabel,a=function(){var e=nd({topN:t,date:r,match:n,extraLabel:o,focusLabel:i});Or(e)};ne(a,[t,n,r,i,o]),ne(a,[])}();var a=Ft(ee(n||""),2),u=a[0],l=a[1],c=Ft(ee(0),2),s=c[0],f=c[1],d=Ft(ee([]),2),h=d[0],p=d[1],v=function(){var e=new Qd,t=Wo(),n=t.topN,r=t.extraLabel,i=t.match,o=t.date,a=t.runQuery,u=t.focusLabel,l=qr().serverUrl,c=Ft(ee(!1),2),s=c[0],f=c[1],d=Ft(ee(),2),h=d[0],p=d[1],v=Ft(ee(e.defaultTSDBStatus),2),m=v[0],g=v[1];ne((function(){h&&(g(e.defaultTSDBStatus),f(!1))}),[h]);var y=function(){var t=eu(Ka().mark((function t(n){var r,i,o,a;return Ka().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(l){t.next=2;break}return t.abrupt("return");case 2:return p(""),f(!0),g(e.defaultTSDBStatus),r=Wd(l,n),t.prev=6,t.next=9,fetch(r);case 9:return i=t.sent,t.next=12,i.json();case 12:o=t.sent,i.ok?(a=o.data,g(mr({},a)),f(!1)):(p(o.error),g(e.defaultTSDBStatus),f(!1)),t.next=20;break;case 16:t.prev=16,t.t0=t.catch(6),f(!1),t.t0 instanceof Error&&p("".concat(t.t0.name,": ").concat(t.t0.message));case 20:case"end":return t.stop()}}),t,null,[[6,16]])})));return function(e){return t.apply(this,arguments)}}();return ne((function(){y({topN:n,extraLabel:r,match:i,date:o,focusLabel:u})}),[l,a,o]),e.tsdbStatusData=m,{isLoading:s,appConfigurator:e,error:h}}(),m=v.isLoading,g=v.appConfigurator,y=v.error,_=Ft(ee(g.defaultState.defaultActiveTab),2),b=_[0],D=_[1],w=g.tsdbStatusData,x=g.defaultState,k=g.tablesHeaders,C=function(e,t){D(mr(mr({},b),{},pr({},t,+e)))};return Yr("div",{className:"vm-cardinality-panel",children:[m&&Yr(qf,{message:"Please wait while cardinality stats is calculated. \n This may take some time if the db contains big number of time series."}),Yr(nh,{error:"",query:u,topN:t,date:r,match:n,totalSeries:w.totalSeries,totalLabelValuePairs:w.totalLabelValuePairs,focusLabel:i,onRunQuery:function(){p((function(e){return[].concat(Ot(e),[u])})),f((function(e){return e+1})),o({type:"SET_MATCH",payload:u}),o({type:"RUN_QUERY"})},onSetQuery:l,onSetHistory:function(e){var t=s+e;t<0||t>=h.length||(f(t),l(h[t]))},onTopNChange:function(e){o({type:"SET_TOP_N",payload:+e})},onFocusLabelChange:function(e){o({type:"SET_FOCUS_LABEL",payload:e})}}),y&&Yr(ea,{variant:"error",children:y}),g.keys(i).map((function(e){return Yr(xh,{sectionTitle:g.sectionsTitles(i)[e],activeTab:b[e],rows:w[e],onChange:C,onActionClick:(t=e,function(e){var n=eh[t](i,e);l(n),p((function(e){return[].concat(Ot(e),[n])})),f((function(e){return e+1})),o({type:"SET_MATCH",payload:n});var r="";"labelValueCountByLabelName"!==t&&"seriesCountByLabelName"!=t||(r=e),o({type:"SET_FOCUS_LABEL",payload:r}),o({type:"RUN_QUERY"})}),tabs:x.tabs[e],chartContainer:x.containerRefs[e],totalSeries:g.totalSeries(e),tabId:e,tableHeaderCells:k[e]},e);var t}))]})},Ch=function(e){var t=e.rows,n=e.columns,r=Ft(ee(e.defaultOrderBy||"count"),2),i=r[0],o=r[1],a=Ft(ee("desc"),2),u=a[0],l=a[1],c=ae((function(){return ah(t,oh(u,i))}),[t,i,u]),s=function(e){return function(){var t;t=e,l((function(e){return"asc"===e&&i===t?"desc":"asc"})),o(t)}};return Yr("table",{className:"vm-table",children:[Yr("thead",{className:"vm-table-header",children:Yr("tr",{className:"vm-table__row vm-table__row_header",children:n.map((function(e){return Yr("th",{className:"vm-table-cell vm-table-cell_header vm-table-cell_sort",onClick:s(e.key),children:Yr("div",{className:"vm-table-cell__content",children:[e.title||e.key,Yr("div",{className:xo()({"vm-table__sort-icon":!0,"vm-table__sort-icon_active":i===e.key,"vm-table__sort-icon_desc":"desc"===u&&i===e.key}),children:Yr(Wi,{})})]})},e.key)}))})}),Yr("tbody",{className:"vm-table-body",children:c.map((function(e,t){return Yr("tr",{className:"vm-table__row",children:n.map((function(t){return Yr("td",{className:"vm-table-cell",children:e[t.key]||"-"},t.key)}))},t)}))})]})},Ah=["table","JSON"].map((function(e,t){return{value:String(t),label:e,icon:Yr(0===t?ro:io,{})}})),Eh=function(e){var t=e.rows,n=e.title,r=e.columns,i=e.defaultOrderBy,o=Ft(ee(0),2),a=o[0],u=o[1];return Yr("div",{className:"vm-top-queries-panel vm-block",children:[Yr("div",{className:"vm-top-queries-panel-header vm-section-header",children:[Yr("h5",{className:"vm-section-header__title",children:n}),Yr("div",{className:"vm-section-header__tabs",children:Yr(So,{activeItem:String(a),items:Ah,onChange:function(e){u(+e)}})})]}),Yr("div",{className:"vm-top-queries-panel__table",children:[0===a&&Yr(Ch,{rows:t,columns:r,defaultOrderBy:i}),1===a&&Yr(Hf,{data:t})]})]})},Sh=function(){var e=function(){var e=qr().serverUrl,t=Ko(),n=t.topN,r=t.maxLifetime,i=t.runQuery,o=Ft(ee(null),2),a=o[0],u=o[1],l=Ft(ee(!1),2),c=l[0],s=l[1],f=Ft(ee(),2),d=f[0],h=f[1],p=ae((function(){return function(e,t,n){return"".concat(e,"/api/v1/status/top_queries?topN=").concat(t||"","&maxLifetime=").concat(n||"")}(e,n,r)}),[e,n,r]),v=function(){var e=eu(Ka().mark((function e(){var t,n;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s(!0),e.prev=1,e.next=4,fetch(p);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,t.ok&&["topByAvgDuration","topByCount","topBySumDuration"].forEach((function(e){var t=n[e];Array.isArray(t)&&t.forEach((function(e){return e.timeRangeHours=+(e.timeRangeSeconds/3600).toFixed(2)}))})),u(t.ok?n:null),h(String(n.error||"")),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&"AbortError"!==e.t0.name&&h("".concat(e.t0.name,": ").concat(e.t0.message));case 16:s(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();return ne((function(){v()}),[i]),{data:a,error:d,loading:c}}(),t=e.data,n=e.error,r=e.loading,i=Ko(),o=i.topN,a=i.maxLifetime,u=le(Zo).dispatch;!function(){var e=Ko(),t=e.topN,n=e.maxLifetime,r=function(){var e=nd({topN:String(t),maxLifetime:n});Or(e)};ne(r,[t,n]),ne(r,[])}();var l=ae((function(){var e=a.trim().split(" ").reduce((function(e,t){var n=ai(t);return n?mr(mr({},e),n):mr({},e)}),{});return!!_t().duration(e).asMilliseconds()}),[a]),c=ae((function(){return!!o&&o<1}),[o]),s=ae((function(){return c?"Number must be bigger than zero":""}),[c]),f=ae((function(){return l?"":"Invalid duration value"}),[l]),d=function(e){if(!t)return e;var n=t[e];return"number"===typeof n?af(n,n,n):n||e},h=function(){u({type:"SET_RUN_QUERY"})},p=function(e){"Enter"===e.key&&h()};return ne((function(){t&&(o||u({type:"SET_TOP_N",payload:+t.topN}),a||u({type:"SET_MAX_LIFE_TIME",payload:t.maxLifetime}))}),[t]),Yr("div",{className:"vm-top-queries",children:[r&&Yr(qf,{containerStyles:{height:"500px"}}),Yr("div",{className:"vm-top-queries-controls vm-block",children:[Yr("div",{className:"vm-top-queries-controls-fields",children:[Yr("div",{className:"vm-top-queries-controls-fields__item",children:Yr(Sa,{label:"Max lifetime",value:a,error:f,helperText:"For example ".concat("30ms, 15s, 3d4h, 1y2w"),onChange:function(e){u({type:"SET_MAX_LIFE_TIME",payload:e})},onKeyDown:p})}),Yr("div",{className:"vm-top-queries-controls-fields__item",children:Yr(Sa,{label:"Number of returned queries",type:"number",value:o||"",error:s,onChange:function(e){u({type:"SET_TOP_N",payload:+e})},onKeyDown:p})})]}),Yr("div",{className:"vm-top-queries-controls-bottom",children:[Yr("div",{className:"vm-top-queries-controls-bottom__info",children:["VictoriaMetrics tracks the last\xa0",Yr(pa,{title:"search.queryStats.lastQueriesCount",children:Yr("b",{children:d("search.queryStats.lastQueriesCount")})}),"\xa0queries with durations at least\xa0",Yr(pa,{title:"search.queryStats.minQueryDuration",children:Yr("b",{children:d("search.queryStats.minQueryDuration")})})]}),Yr("div",{className:"vm-top-queries-controls-bottom__button",children:Yr(la,{startIcon:Yr(eo,{}),onClick:h,children:"Execute"})})]})]}),n&&Yr(ea,{variant:"error",children:n}),t&&Yr(g,{children:Yr("div",{className:"vm-top-queries-panels",children:[Yr(Eh,{rows:t.topByCount,title:"Most frequently executed queries",columns:[{key:"query"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}]}),Yr(Eh,{rows:t.topByAvgDuration,title:"Most heavy queries",columns:[{key:"query"},{key:"avgDurationSeconds",title:"avg duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"avgDurationSeconds"}),Yr(Eh,{rows:t.topBySumDuration,title:"Queries with most summary time to execute",columns:[{key:"query"},{key:"sumDurationSeconds",title:"sum duration, seconds"},{key:"timeRangeHours",title:"time range, hours"},{key:"count"}],defaultOrderBy:"sumDurationSeconds"})]})})]})},Nh={"color-primary":"#589DF6","color-secondary":"#316eca","color-error":"#e5534b","color-warning":"#c69026","color-info":"#539bf5","color-success":"#57ab5a","color-background-body":"#22272e","color-background-block":"#2d333b","color-background-tooltip":"rgba(22, 22, 22, 0.8)","color-text":"#cdd9e5","color-text-secondary":"#768390","color-text-disabled":"#636e7b","box-shadow":"rgba(0, 0, 0, 0.16) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.2) 0px 2px 8px 0px","border-divider":"1px solid rgba(99, 110, 123, 0.5)","color-hover-black":"rgba(0, 0, 0, 0.12)"},Fh={"color-primary":"#3F51B5","color-secondary":"#E91E63","color-error":"#FD080E","color-warning":"#FF8308","color-info":"#03A9F4","color-success":"#4CAF50","color-background-body":"#FEFEFF","color-background-block":"#FFFFFF","color-background-tooltip":"rgba(97,97,97, 0.92)","color-text":"#110f0f","color-text-secondary":"#706F6F","color-text-disabled":"#A09F9F","box-shadow":"rgba(0, 0, 0, 0.08) 1px 2px 6px","box-shadow-popper":"rgba(0, 0, 0, 0.1) 0px 2px 8px 0px","border-divider":"1px solid rgba(0, 0, 0, 0.15)","color-hover-black":"rgba(0, 0, 0, 0.06)"},Th=function(){var e=Ft(ee(zr()),2),t=e[0],n=e[1],r=function(e){n(e.matches)};return ne((function(){var e=window.matchMedia("(prefers-color-scheme: dark)");return e.addEventListener("change",r),function(){return e.removeEventListener("change",r)}}),[]),t},Oh=["primary","secondary","error","warning","info","success"],Mh=function(e){var t,n=e.onLoaded,r=kr(),i=xr().palette,o=void 0===i?{}:i,a=qr().theme,u=Th(),l=Wr(),c=Ft(ee((pr(t={},yr.dark,Nh),pr(t,yr.light,Fh),pr(t,yr.system,zr()?Nh:Fh),t)),2),s=c[0],f=c[1],d=function(){Oh.forEach((function(e,t){var r=function(e){var t=e.replace("#","").trim();if(3===t.length&&(t=t[0]+t[0]+t[1]+t[1]+t[2]+t[2]),6!==t.length)throw new Error("Invalid HEX color.");return(299*parseInt(t.slice(0,2),16)+587*parseInt(t.slice(2,4),16)+114*parseInt(t.slice(4,6),16))/1e3>=128?"#000000":"#FFFFFF"}(Pr("color-".concat(e)));Rr("".concat(e,"-text"),r),t===Oh.length-1&&(l({type:"SET_DARK_THEME"}),n(!0))}))},h=function(){var e=Lr("THEME")||yr.system,t=s[e];Object.entries(t).forEach((function(e){var t=Ft(e,2),n=t[0],r=t[1];Rr(n,r)})),d(),r&&(Oh.forEach((function(e){var t=o[e];t&&Rr("color-".concat(e),t)})),d())};return ne((function(){!function(){var e=window,t=e.innerWidth,n=e.innerHeight,r=document.documentElement,i=r.clientWidth,o=r.clientHeight;Rr("scrollbar-width","".concat(t-i,"px")),Rr("scrollbar-height","".concat(n-o,"px")),Rr("vh","".concat(.01*n,"px"))}(),h()}),[s]),ne((function(){var e=zr()?Nh:Fh;s[yr.system]!==e?f((function(t){return mr(mr({},t),{},pr({},yr.system,e))})):h()}),[a,u]),ne((function(){r&&l({type:"SET_THEME",payload:yr.light})}),[]),null},Bh=function(){var e=Ft(ee(!1),2),t=e[0],n=e[1],r=Ft(ee([]),2),i=r[0],o=r[1],a=Ft(ee([]),2),u=a[0],l=a[1],c=ae((function(){return!!i.length}),[i]),f=function(){n(!0)},d=function(){n(!1)},h=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";l((function(n){return[{filename:t,text:": ".concat(e.message)}].concat(Ot(n))}))},p=function(e,t){try{var n=JSON.parse(e),r=n.trace||n;if(!r.duration_msec)return void h(new Error(gr.traceNotFound),t);var i=new jf(r,t);o((function(e){return[i].concat(Ot(e))}))}catch(s){s instanceof Error&&h(s,t)}},v=function(e){l([]),Array.from(e.target.files||[]).map((function(e){var t=new FileReader,n=(null===e||void 0===e?void 0:e.name)||"";t.onload=function(e){var t,r=String(null===(t=e.target)||void 0===t?void 0:t.result);p(r,n)},t.readAsText(e)})),e.target.value=""},m=function(e){return function(){!function(e){l((function(t){return t.filter((function(t,n){return n!==e}))}))}(e)}};ne((function(){Or({})}),[]);var g=function(){return Yr("div",{className:"vm-trace-page-controls",children:[Yr(la,{variant:"outlined",onClick:f,children:"Paste JSON"}),Yr(pa,{title:"The file must contain tracing information in JSON format",children:Yr(la,{children:["Upload Files",Yr("input",{id:"json",type:"file",accept:"application/json",multiple:!0,title:" ",onChange:v})]})})]})};return Yr("div",{className:"vm-trace-page",children:[Yr("div",{className:"vm-trace-page-header",children:[Yr("div",{className:"vm-trace-page-header-errors",children:u.map((function(e,t){return Yr("div",{className:"vm-trace-page-header-errors-item",children:[Yr(ea,{variant:"error",children:[Yr("b",{className:"vm-trace-page-header-errors-item__filename",children:e.filename}),Yr("span",{children:e.text})]}),Yr(la,{className:"vm-trace-page-header-errors-item__close",startIcon:Yr(zi,{}),variant:"text",color:"error",onClick:m(t)})]},"".concat(e,"_").concat(t))}))}),Yr("div",{children:c&&Yr(g,{})})]}),c&&Yr("div",{children:Yr(Zf,{jsonEditor:!0,traces:i,onDeleteClick:function(e){var t=i.filter((function(t){return t.idValue!==e.idValue}));o(Ot(t))}})}),!c&&Yr("div",{className:"vm-trace-page-preview",children:[Yr("p",{className:"vm-trace-page-preview__text",children:["Please, upload file with JSON response content.","\n","The file must contain tracing information in JSON format.","\n","In order to use tracing please refer to the doc:\xa0",Yr("a",{className:"vm-link vm-link_colored",href:"https://docs.victoriametrics.com/#query-tracing",target:"_blank",rel:"help noreferrer",children:"https://docs.victoriametrics.com/#query-tracing"}),"\n","Tracing graph will be displayed after file upload."]}),Yr(g,{})]}),t&&Yr(Ta,{title:"Paste JSON",onClose:d,children:Yr(Jf,{editable:!0,displayTitle:!0,defaultTile:"JSON ".concat(i.length+1),onClose:d,onUpload:p})})]})},Lh=function(e){var t=qr().serverUrl,n=Si().period,r=Ft(ee([]),2),i=r[0],o=r[1],a=Ft(ee(!1),2),u=a[0],l=a[1],c=Ft(ee(),2),s=c[0],f=c[1],d=ae((function(){return function(e,t,n){var r="{job=".concat(JSON.stringify(n),"}");return"".concat(e,"/api/v1/label/instance/values?match[]=").concat(encodeURIComponent(r),"&start=").concat(t.start,"&end=").concat(t.end)}(t,n,e)}),[t,n,e]);return ne((function(){if(e){var t=function(){var e=eu(Ka().mark((function e(){var t,n,r;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return l(!0),e.prev=1,e.next=4,fetch(d);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],o(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?f(void 0):f("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&f("".concat(e.t0.name,": ").concat(e.t0.message));case 16:l(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[d]),{instances:i,isLoading:u,error:s}},Ih=function(e,t){var n=qr().serverUrl,r=Si().period,i=Ft(ee([]),2),o=i[0],a=i[1],u=Ft(ee(!1),2),l=u[0],c=u[1],s=Ft(ee(),2),f=s[0],d=s[1],h=ae((function(){return function(e,t,n,r){var i=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=Ft(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))})).join(","),o="{".concat(i,"}");return"".concat(e,"/api/v1/label/__name__/values?match[]=").concat(encodeURIComponent(o),"&start=").concat(t.start,"&end=").concat(t.end)}(n,r,e,t)}),[n,r,e,t]);return ne((function(){if(e){var t=function(){var e=eu(Ka().mark((function e(){var t,n,r;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return c(!0),e.prev=1,e.next=4,fetch(h);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],a(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?d(void 0):d("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&d("".concat(e.t0.name,": ").concat(e.t0.message));case 16:c(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();t().catch(console.error)}}),[h]),{names:o,isLoading:l,error:f}},Ph=function(e){var t=e.name,n=e.job,r=e.instance,i=e.rateEnabled,o=e.isBucket,a=e.height,u=Ho(),l=u.customStep,c=u.yaxis,s=Si().period,f=Uo(),d=Ni(),h=Ft(ee(!1),2),p=h[0],v=h[1],m=ae((function(){var e=Object.entries({job:n,instance:r}).filter((function(e){return e[1]})).map((function(e){var t=Ft(e,2),n=t[0],r=t[1];return"".concat(n,"=").concat(JSON.stringify(r))}));e.push("__name__=".concat(JSON.stringify(t))),"node_cpu_seconds_total"==t&&e.push('mode!="idle"');var a="{".concat(e.join(","),"}");if(o)return r?'\nlabel_map(\n histogram_quantiles("__name__", 0.5, 0.95, 0.99, sum(rate('.concat(a,')) by (vmrange, le)),\n "__name__",\n "0.5", "q50",\n "0.95", "q95",\n "0.99", "q99",\n)'):"\nwith (q = histogram_quantile(0.95, sum(rate(".concat(a,')) by (instance, vmrange, le))) (\n alias(min(q), "q95min"),\n alias(max(q), "q95max"),\n alias(avg(q), "q95avg"),\n)');var u=i?"rollup_rate(".concat(a,")"):"rollup(".concat(a,")");return"\nwith (q = ".concat(u,') (\n alias(min(label_match(q, "rollup", "min")), "min"),\n alias(max(label_match(q, "rollup", "max")), "max"),\n alias(avg(label_match(q, "rollup", "avg")), "avg"),\n)')}),[t,n,r,i,o]),g=$f({predefinedQuery:[m],visible:!0,customStep:l,showAllSeries:p}),y=g.isLoading,_=g.graphData,b=g.error,D=g.warning;return Yr("div",{className:"vm-explore-metrics-graph",children:[y&&Yr(qf,{}),b&&Yr(ea,{variant:"error",children:b}),D&&Yr(ea,{variant:"warning",children:Yr("div",{className:"vm-explore-metrics-graph__warning",children:[Yr("p",{children:D}),Yr(la,{color:"warning",variant:"outlined",onClick:function(){v(!0)},children:"Show all"})]})}),_&&s&&Yr(Sf,{data:_,period:s,customStep:l,query:[m],yaxis:c,setYaxisLimits:function(e){f({type:"SET_YAXIS_LIMITS",payload:e})},setPeriod:function(e){var t=e.from,n=e.to;d({type:"SET_PERIOD",payload:{from:t,to:n}})},showLegend:!1,height:a})]})},Rh=function(e){var t=e.name,n=e.index,r=e.isBucket,i=e.rateEnabled,o=e.onChangeRate,a=e.onRemoveItem,u=e.onChangeOrder;return Yr("div",{className:"vm-explore-metrics-item-header",children:[Yr("div",{className:"vm-explore-metrics-item-header-order",children:[Yr(pa,{title:"move graph up",children:Yr(la,{className:"vm-explore-metrics-item-header-order__up",startIcon:Yr(qi,{}),variant:"text",color:"gray",size:"small",onClick:function(){u(t,n,n-1)}})}),Yr("div",{className:"vm-explore-metrics-item-header__index",children:["#",n+1]}),Yr(pa,{title:"move graph down",children:Yr(la,{className:"vm-explore-metrics-item-header-order__down",startIcon:Yr(qi,{}),variant:"text",color:"gray",size:"small",onClick:function(){u(t,n,n+1)}})})]}),Yr("div",{className:"vm-explore-metrics-item-header__name",children:t}),!r&&Yr(pa,{title:"calculates the average per-second speed of metric's change",children:Yr(Tf,{label:Yr("span",{children:["enable ",Yr("code",{children:"rate()"})]}),value:i,onChange:o})}),Yr("div",{className:"vm-explore-metrics-item-header__layout",children:Yr(pa,{title:"close graph",children:Yr(la,{startIcon:Yr(zi,{}),variant:"text",color:"gray",size:"small",onClick:function(){a(t)}})})})]})},zh=function(e){var t=e.name,n=e.job,r=e.instance,i=e.index,o=e.size,a=e.onRemoveItem,u=e.onChangeOrder,l=ae((function(){return/_sum?|_total?|_count?/.test(t)}),[t]),c=ae((function(){return/_bucket?/.test(t)}),[t]),s=Ft(ee(l),2),f=s[0],d=s[1],h=Do(document.body),p=ae(o.height,[o,h]);return ne((function(){d(l)}),[n]),Yr("div",{className:"vm-explore-metrics-item vm-block vm-block_empty-padding",children:[Yr(Rh,{name:t,index:i,isBucket:c,rateEnabled:f,size:o.id,onChangeRate:d,onRemoveItem:a,onChangeOrder:u}),Yr(Ph,{name:t,job:n,instance:r,rateEnabled:f,isBucket:c,height:p},"".concat(t,"_").concat(n,"_").concat(r,"_").concat(f))]})},jh=function(e){var t=e.value,n=e.list,r=e.label,i=e.placeholder,o=e.noOptionsText,a=e.clearable,u=void 0!==a&&a,l=e.autofocus,c=e.onChange,s=qr().isDarkTheme,f=Ft(ee(""),2),d=f[0],h=f[1],p=ie(null),v=Ft(ee(!1),2),m=v[0],g=v[1],y=ie(null),_=ae((function(){return Array.isArray(t)}),[t]),b=ae((function(){return Array.isArray(t)?t:void 0}),[_,t]),D=ae((function(){return m?d:Array.isArray(t)?"":t}),[t,d,m,_]),w=ae((function(){return m?d||"(.+)":""}),[d,m]),x=function(){y.current&&y.current.blur()},k=function(e){c(e),_||(g(!1),x()),_&&y.current&&y.current.focus()},C=function(e){return function(t){k(e),t.stopPropagation()}},A=function(e){y.current!==e.target&&g(!1)};return ne((function(){h(""),m&&y.current&&y.current.focus(),m||x()}),[m,y]),ne((function(){l&&y.current&&y.current.focus()}),[l,y]),ne((function(){return window.addEventListener("keyup",A),function(){window.removeEventListener("keyup",A)}}),[]),Yr("div",{className:xo()({"vm-select":!0,"vm-select_dark":s}),children:[Yr("div",{className:"vm-select-input",onClick:function(e){e.target instanceof HTMLInputElement||g((function(e){return!e}))},ref:p,children:[Yr("div",{className:"vm-select-input-content",children:[b&&b.map((function(e){return Yr("div",{className:"vm-select-input-content__selected",children:[e,Yr("div",{onClick:C(e),children:Yr(zi,{})})]},e)})),Yr("input",{value:D,type:"text",placeholder:i,onInput:function(e){h(e.target.value)},onFocus:function(){g(!0)},ref:y})]}),r&&Yr("span",{className:"vm-text-field__label",children:r}),u&&t&&Yr("div",{className:"vm-select-input__icon",onClick:C(""),children:Yr(zi,{})}),Yr("div",{className:xo()({"vm-select-input__icon":!0,"vm-select-input__icon_open":m}),children:Yr(Wi,{})})]}),Yr(Nf,{value:w,options:n,anchor:p,selected:b,maxWords:10,minLength:0,fullWidth:!0,noOptionsText:o,onSelect:k,onOpenAutocomplete:g})]})},$h=Tr.map((function(e){return e.id})),Hh=function(e){var t=e.jobs,n=e.instances,r=e.names,i=e.job,o=e.instance,a=e.size,u=e.selectedMetrics,l=e.onChangeJob,c=e.onChangeInstance,s=e.onToggleMetric,f=e.onChangeSize,d=ae((function(){return i?"":"No instances. Please select job"}),[i]),h=ae((function(){return i?"":"No metric names. Please select job"}),[i]);return Yr("div",{className:"vm-explore-metrics-header vm-block",children:[Yr("div",{className:"vm-explore-metrics-header__job",children:Yr(jh,{value:i,list:t,label:"Job",placeholder:"Please select job",onChange:l,autofocus:!i})}),Yr("div",{className:"vm-explore-metrics-header__instance",children:Yr(jh,{value:o,list:n,label:"Instance",placeholder:"Please select instance",onChange:c,noOptionsText:d,clearable:!0})}),Yr("div",{className:"vm-explore-metrics-header__size",children:Yr(jh,{label:"Size graphs",value:a,list:$h,onChange:f})}),Yr("div",{className:"vm-explore-metrics-header-metrics",children:Yr(jh,{value:u,list:r,placeholder:"Search metric name",onChange:s,noOptionsText:h,clearable:!0})})]})},Uh=Mr("job",""),Yh=Mr("instance",""),Vh=Mr("metrics",""),qh=Mr("size",""),Wh=Tr.find((function(e){return qh?e.id===qh:e.isDefault}))||Tr[0],Qh=function(){var e=Ft(ee(Uh),2),t=e[0],n=e[1],r=Ft(ee(Yh),2),i=r[0],o=r[1],a=Ft(ee(Vh?Vh.split("&"):[]),2),u=a[0],l=a[1],c=Ft(ee(Wh),2),s=c[0],f=c[1];!function(e){var t=e.job,n=e.instance,r=e.metrics,i=e.size,o=Si(),a=o.duration,u=o.relativeTime,l=o.period.date,c=Ho().customStep,s=function(){var e,o=nd((pr(e={},"g0.range_input",a),pr(e,"g0.end_input",l),pr(e,"g0.step_input",c),pr(e,"g0.relative_time",u),pr(e,"size",i),pr(e,"job",t),pr(e,"instance",n),pr(e,"metrics",r),e));Or(o)};ne(s,[a,u,l,c,t,n,r,i]),ne(s,[])}({job:t,instance:i,metrics:u.join("&"),size:s.id});var d=function(){var e=qr().serverUrl,t=Si().period,n=Ft(ee([]),2),r=n[0],i=n[1],o=Ft(ee(!1),2),a=o[0],u=o[1],l=Ft(ee(),2),c=l[0],s=l[1],f=ae((function(){return function(e,t){return"".concat(e,"/api/v1/label/job/values?start=").concat(t.start,"&end=").concat(t.end)}(e,t)}),[e,t]);return ne((function(){var e=function(){var e=eu(Ka().mark((function e(){var t,n,r;return Ka().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u(!0),e.prev=1,e.next=4,fetch(f);case 4:return t=e.sent,e.next=7,t.json();case 7:n=e.sent,r=n.data||[],i(r.sort((function(e,t){return e.localeCompare(t)}))),t.ok?s(void 0):s("".concat(n.errorType,"\r\n").concat(null===n||void 0===n?void 0:n.error)),e.next=16;break;case 13:e.prev=13,e.t0=e.catch(1),e.t0 instanceof Error&&s("".concat(e.t0.name,": ").concat(e.t0.message));case 16:u(!1);case 17:case"end":return e.stop()}}),e,null,[[1,13]])})));return function(){return e.apply(this,arguments)}}();e().catch(console.error)}),[f]),{jobs:r,isLoading:a,error:c}}(),h=d.jobs,p=d.isLoading,v=d.error,m=Lh(t),g=m.instances,y=m.isLoading,_=m.error,b=Ih(t,i),D=b.names,w=b.isLoading,x=b.error,k=ae((function(){return p||y||w}),[p,y,w]),C=ae((function(){return v||_||x}),[v,_,x]),A=function(e){l(e?function(t){return t.includes(e)?t.filter((function(t){return t!==e})):[].concat(Ot(t),[e])}:[])},E=function(e,t,n){var r=n>u.length-1;n<0||r||l((function(e){var r=Ot(e),i=Ft(r.splice(t,1),1)[0];return r.splice(n,0,i),r}))};return ne((function(){i&&g.length&&!g.includes(i)&&o("")}),[g,i]),Yr("div",{className:"vm-explore-metrics",children:[Yr(Hh,{jobs:h,instances:g,names:D,job:t,size:s.id,instance:i,selectedMetrics:u,onChangeJob:n,onChangeSize:function(e){var t=Tr.find((function(t){return t.id===e}));t&&f(t)},onChangeInstance:o,onToggleMetric:A}),k&&Yr(qf,{}),C&&Yr(ea,{variant:"error",children:C}),!t&&Yr(ea,{variant:"info",children:"Please select job to see list of metric names."}),t&&!u.length&&Yr(ea,{variant:"info",children:"Please select metric names to see the graphs."}),Yr("div",{className:"vm-explore-metrics-body",children:u.map((function(e,n){return Yr(zh,{name:e,job:t,instance:i,index:n,size:s,onRemoveItem:A,onChangeOrder:E},e)}))})]})},Gh=function(){var e=na().showInfoMessage,n=function(t){return function(){var n;n=t,navigator.clipboard.writeText("<".concat(n,"/>")),e({text:"<".concat(n,"/> has been copied"),type:"success"})}};return Yr("div",{className:"vm-preview-icons",children:Object.entries(t).map((function(e){var t=Ft(e,2),r=t[0],i=t[1];return Yr("div",{className:"vm-preview-icons-item",onClick:n(r),children:[Yr("div",{className:"vm-preview-icons-item__svg",children:i()}),Yr("div",{className:"vm-preview-icons-item__name",children:"<".concat(r,"/>")})]},r)}))})},Jh=function(){var e=Ft(ee(!1),2),t=e[0],n=e[1];return Yr(g,{children:Yr(lr,{children:Yr(ua,{children:Yr(g,{children:[Yr(Mh,{onLoaded:n}),t&&Yr(nr,{children:Yr(er,{path:"/",element:Yr(cu,{}),children:[Yr(er,{path:wr.home,element:Yr(od,{})}),Yr(er,{path:wr.metrics,element:Yr(Qh,{})}),Yr(er,{path:wr.cardinality,element:Yr(kh,{})}),Yr(er,{path:wr.topQueries,element:Yr(Sh,{})}),Yr(er,{path:wr.trace,element:Yr(Bh,{})}),Yr(er,{path:wr.dashboards,element:Yr(qd,{})}),Yr(er,{path:wr.icons,element:Yr(Gh,{})})]})})]})})})})},Zh=function(e){e&&n.e(27).then(n.bind(n,27)).then((function(t){var n=t.getCLS,r=t.getFID,i=t.getFCP,o=t.getLCP,a=t.getTTFB;n(e),r(e),i(e),o(e),a(e)}))},Kh=document.getElementById("root");Kh&&Ve(Yr(Jh,{}),Kh),Zh()}()}(); \ No newline at end of file diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 9bbb361cf..bc5a6ee64 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -33,6 +33,7 @@ The following tip changes can be tested by building VictoriaMetrics components f * FEATURE: [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html): add `range_trim_outliers(k, q)` function for dropping outliers located farther than `k*range_mad(q)` from the `range_median(q)`. This should help removing outliers during query time at [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3759). * FEATURE: [MetricsQL](https://docs.victoriametrics.com/MetricsQL.html): add `range_trim_zscore(z, q)` function for dropping outliers located farther than `z*range_stddev(q)` from `range_avg(q)`. This should help removing outliers during query time at [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3759). * FEATURE: [vmui](https://docs.victoriametrics.com/#vmui): show `median` instead of `avg` in graph tooltip and line legend, since `median` is more tolerant against spikes. See [this issue](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3706). +* FEATURE: [vmui](https://docs.victoriametrics.com/#vmui): small UX improvements for mobile view. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3707) and [this pull request](https://github.com/VictoriaMetrics/VictoriaMetrics/pull/3848). * FEATURE: add `-search.logQueryMemoryUsage` command-line flag for logging queries, which need more memory than specified by this command-line flag. See [this feature request](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/3553). Thanks to @michal-kralik for the idea and the intial implementation. * FEATURE: allow setting zero value for `-search.latencyOffset` command-line flag. This may be needed in [some cases](https://github.com/VictoriaMetrics/VictoriaMetrics/issues/2061#issuecomment-1299109836). Previously the minimum supported value for `-search.latencyOffset` command-line flag was `1s`.