Compare commits
4
Commits
v
..
2cbd981902
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2cbd981902
|
||
|
|
e531fd9493
|
||
|
|
1d5572d8d2
|
||
|
|
b15878e997
|
No files matched your search
@@ -16,10 +16,10 @@ jobs:
|
||||
- name: Set up Go
|
||||
uses: actions/setup-go@v3
|
||||
with:
|
||||
go-version: 1.21.1
|
||||
go-version: 1.21.3
|
||||
|
||||
- name: Install
|
||||
run: go install -ldflags "-s -w" go.sour.is/paste/cmd/paste@latest
|
||||
run: go install -ldflags "-s -w" go.sour.is/paste/cmd/paste/v2@master
|
||||
|
||||
- run: mv $(go env GOPATH)/bin/paste sour.is-paste
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
Copyright 2023 Sour.is
|
||||
|
||||
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
||||
|
||||
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
||||
|
||||
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
||||
|
||||
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS “AS IS” AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
-63
@@ -1,63 +0,0 @@
|
||||
# Archived Makefile for v1
|
||||
|
||||
ROUTE_ASSET=src/routes/bindata.go
|
||||
DOCS_ASSET=src/docs/bindata.go
|
||||
|
||||
SOURCE=$(wildcard cmd/paste/*.go) $(filter-out src/routes/bindata.go, $(wildcard src/routes/*.go))
|
||||
BINARY=paste
|
||||
PKG=./cmd/paste
|
||||
|
||||
VERSION=$(shell git describe --tags `git rev-list --tags --max-count=1`|cut -b2-)
|
||||
VERSION_PAT=$(shell debian/inc_version.sh -p $(VERSION))
|
||||
VERSION_MIN=$(shell debian/inc_version.sh -m $(VERSION))
|
||||
VERSION_MAJ=$(shell debian/inc_version.sh -M $(VERSION))
|
||||
DATE:=$(shell date -u +%FT%TZ)
|
||||
|
||||
define DUMMY_BINDATA
|
||||
package docs
|
||||
import "net/http"
|
||||
func assetFS() (fs http.FileSystem) { return }
|
||||
endef
|
||||
export DUMMY_BINDATA
|
||||
|
||||
all: $(BINARY)
|
||||
clean:
|
||||
rm -rf $(BINARY)
|
||||
|
||||
setup:
|
||||
go mod download
|
||||
fmt:
|
||||
go fmt ./...
|
||||
test: $(ROUTE_ASSET) $(DOCS_ASSET)
|
||||
go test ./...
|
||||
go vet ./...
|
||||
run:
|
||||
go run \
|
||||
-ldflags "-X main.AppVersion=$(VERSION_PAT) -X main.AppBuild=$(DATE)" \
|
||||
$(PKG) -vv serve
|
||||
|
||||
$(BINARY): $(SOURCE) $(ROUTE_ASSET) $(DOCS_ASSET)
|
||||
go build -v \
|
||||
-ldflags "-X main.AppVersion=$(VERSION) -X main.AppBuild=$(DATE)" \
|
||||
"go.sour.is/paste/cmd/paste"
|
||||
|
||||
clean-ui:
|
||||
rm -rf $(ROUTE_ASSET) $(DOCS_ASSET)
|
||||
build-ui: clean-ui $(ROUTE_ASSET) $(DOCS_ASSET)
|
||||
$(ROUTE_ASSET):
|
||||
cd assets; \
|
||||
rm -rf build ../public; \
|
||||
npm i; npm run build; \
|
||||
cp -r build ../public
|
||||
go generate "go.sour.is/paste/src/routes"
|
||||
|
||||
$(DOCS_ASSET):
|
||||
echo "$$DUMMY_BINDATA" > src/docs/bindata.go
|
||||
go generate "go.sour.is/paste/cmd/paste"
|
||||
go generate "go.sour.is/paste/src/docs"
|
||||
|
||||
deploy: $(SOURCE) $(ROUTE_ASSET)
|
||||
cd debian && make
|
||||
|
||||
.PHONEY: all clean build deploy run setup
|
||||
# DO NOT DELETE
|
||||
File renamed without changes.
@@ -0,0 +1,26 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"context"
|
||||
|
||||
"go.sour.is/paste/v2/image"
|
||||
"go.sour.is/pkg/env"
|
||||
"go.sour.is/pkg/lg"
|
||||
"go.sour.is/pkg/service"
|
||||
)
|
||||
|
||||
var _ = apps.Register(40, func(ctx context.Context, svc *service.Harness) error {
|
||||
_, span := lg.Span(ctx)
|
||||
defer span.End()
|
||||
|
||||
store := env.Default("IMAGE_STORE", "data/")
|
||||
|
||||
a, err := image.New(store, -1)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
svc.Add(a)
|
||||
span.AddEvent("register image")
|
||||
|
||||
return nil
|
||||
})
|
||||
File renamed without changes.
@@ -14,7 +14,7 @@ import (
|
||||
"go.sour.is/pkg/lg"
|
||||
"go.sour.is/pkg/service"
|
||||
|
||||
"go.sour.is/paste/assets"
|
||||
"go.sour.is/paste/v2/assets"
|
||||
"go.sour.is/paste/v2/paste"
|
||||
)
|
||||
|
||||
@@ -23,18 +23,6 @@ import (
|
||||
"github.com/gomarkdown/markdown/parser"
|
||||
)
|
||||
|
||||
// func init() {
|
||||
// a := &Artifact{}
|
||||
// httpsrv.RegisterModule("artifact", a.config)
|
||||
|
||||
// httpsrv.HttpRegister("artifact", httpsrv.HttpRoutes{
|
||||
// {Name: "get-path", Method: "GET", Pattern: "/a/{name}/{path:.*}", HandlerFunc: a.get},
|
||||
// {Name: "get", Method: "GET", Pattern: "/a/{name}", HandlerFunc: a.get},
|
||||
// {Name: "put", Method: "PUT", Pattern: "/a", HandlerFunc: a.put},
|
||||
// {Name: "get", Method: "GET", Pattern: "/a", HandlerFunc: a.list},
|
||||
// })
|
||||
// }
|
||||
|
||||
// artifact stores items to disk
|
||||
type artifact struct {
|
||||
store string
|
||||
@@ -1,125 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
|
||||
"github.com/docopt/docopt.go"
|
||||
"github.com/spf13/viper"
|
||||
"sour.is/x/toolbox/log"
|
||||
"sour.is/x/toolbox/log/event"
|
||||
_ "sour.is/x/toolbox/stats"
|
||||
)
|
||||
|
||||
var (
|
||||
// AppVersion Application Version Number
|
||||
AppVersion string
|
||||
|
||||
// AppBuild Application Build Number
|
||||
AppBuild string
|
||||
)
|
||||
|
||||
// AppName name of the application
|
||||
var AppName = "Paste API"
|
||||
|
||||
// AppUsage displays runtime options
|
||||
var AppUsage = `Paste API
|
||||
|
||||
Usage:
|
||||
paste version
|
||||
paste [ -v | -vv ] serve
|
||||
|
||||
Options:
|
||||
-v Log info to console.
|
||||
-vv Log debug to console.
|
||||
-l <ListenAddress>, --listen=<ListenAddress> Address to listen on.
|
||||
-c <ConfigDir>, --config=<ConfigDir> Set Config Directory.
|
||||
|
||||
Config:
|
||||
The config file is read from the following locations:
|
||||
- <ConfigDir>
|
||||
- /etc/opt/sour.is/paste/
|
||||
- Working Directory
|
||||
`
|
||||
var defaultConfig = `
|
||||
[http]
|
||||
listen = ":9010"
|
||||
base_url = "https//paste.dn42.us"
|
||||
cors = [
|
||||
"http://localhost",
|
||||
"https://sour.is",
|
||||
]
|
||||
|
||||
[module.paste]
|
||||
random = "4096"
|
||||
store = "data/paste"
|
||||
|
||||
[module.artifact]
|
||||
store = "data/artifact"
|
||||
|
||||
[module.image]
|
||||
store = "data/image"
|
||||
|
||||
[module.short]
|
||||
index = "data/meta"
|
||||
value = "data/meta"
|
||||
|
||||
`
|
||||
|
||||
var args map[string]interface{}
|
||||
|
||||
func init() {
|
||||
var err error
|
||||
|
||||
viper.Set("app.name", AppName)
|
||||
viper.SetDefault("app.version", "VERSION")
|
||||
if AppVersion != "" {
|
||||
viper.Set("app.version", AppVersion)
|
||||
}
|
||||
viper.SetDefault("app.build", "SNAPSHOT")
|
||||
if AppBuild != "" {
|
||||
viper.Set("app.build", AppBuild)
|
||||
}
|
||||
|
||||
if args, err = docopt.ParseDoc(AppUsage); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
if args["-v"].(int) == 1 {
|
||||
log.SetVerbose(event.VerbInfo)
|
||||
log.Info("Verbose Logging.")
|
||||
}
|
||||
if args["-v"].(int) == 2 {
|
||||
log.SetVerbose(event.VerbDebug)
|
||||
log.Debug("Very Verbose Logging.")
|
||||
}
|
||||
|
||||
log.Printf("%s (%s %s)\n",
|
||||
viper.GetString("app.name"),
|
||||
viper.GetString("app.version"),
|
||||
viper.GetString("app.build"))
|
||||
|
||||
if args["serve"] == true {
|
||||
|
||||
viper.SetConfigName("config")
|
||||
if args["--config"] != nil {
|
||||
viper.AddConfigPath(args["--config"].(string))
|
||||
}
|
||||
|
||||
viper.AddConfigPath("/etc/opt/sour.is/paste/")
|
||||
viper.AddConfigPath(".")
|
||||
|
||||
viper.SetConfigType("toml")
|
||||
_ = viper.ReadConfig(bytes.NewBuffer([]byte(defaultConfig)))
|
||||
|
||||
err = viper.MergeInConfig()
|
||||
if err != nil { // Handle errors reading the config file
|
||||
log.Warningf("config file not found: %s \n", err)
|
||||
} else {
|
||||
log.Notice("Read config from: ", viper.ConfigFileUsed())
|
||||
}
|
||||
|
||||
if args["--listen"] != nil {
|
||||
viper.Set("http.listen", args["--listen"].(string))
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
"sour.is/x/toolbox/ident"
|
||||
)
|
||||
|
||||
func init() {
|
||||
httpsrv.NewMiddleware("cors", doCORS).
|
||||
Register(httpsrv.EventPreAuth)
|
||||
}
|
||||
|
||||
func doCORS(_ string, w httpsrv.ResponseWriter, r *http.Request, _ ident.Ident) bool {
|
||||
origin := r.Header.Get("origin")
|
||||
headers := r.Header.Get("access-control-request-headers")
|
||||
|
||||
if origin != "" {
|
||||
w.Header().Add("access-control-allow-origin", origin)
|
||||
}
|
||||
|
||||
w.Header().Add("access-control-allow-methods", "GET, POST, PUT, DELETE, OPTIONS")
|
||||
w.Header().Add("access-control-allow-credentials", "true")
|
||||
w.Header().Add("access-control-max-age", "3600")
|
||||
if headers != "" {
|
||||
w.Header().Add("access-control-allow-headers", headers)
|
||||
}
|
||||
|
||||
if r.Method == "OPTIONS" {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
@@ -1,55 +0,0 @@
|
||||
// Package Paste API.
|
||||
//
|
||||
// the purpose of this application is to provide an application
|
||||
// that is using plain go code to define a paste API
|
||||
//
|
||||
// Terms Of Service:
|
||||
//
|
||||
// there are no TOS at this moment, use at your own risk we take no responsibility
|
||||
//
|
||||
// Schemes: http, https
|
||||
// Host: paste.sour.is
|
||||
// BasePath: /
|
||||
// Version: 0.0.1
|
||||
// License: MIT http://opensource.org/licenses/MIT
|
||||
// Contact: Xuu <me@sour.is> https://sour.is
|
||||
//
|
||||
// Consumes:
|
||||
// - application/json
|
||||
// - text/plain
|
||||
//
|
||||
// Produces:
|
||||
// - application/json
|
||||
// - text/plain
|
||||
//
|
||||
//
|
||||
// swagger:meta
|
||||
package main // import "go.sour.is/paste/cmd/paste"
|
||||
|
||||
import (
|
||||
"os"
|
||||
"os/signal"
|
||||
"syscall"
|
||||
|
||||
_ "go.sour.is/paste/src/docs"
|
||||
_ "go.sour.is/paste/src/routes"
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
"sour.is/x/toolbox/log"
|
||||
)
|
||||
|
||||
func main() {
|
||||
if args["serve"] == true {
|
||||
httpsrv.Run()
|
||||
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
|
||||
|
||||
s := <-c
|
||||
log.Debugf("Got Signal %d", s)
|
||||
|
||||
httpsrv.Shutdown()
|
||||
log.Debug("DONE")
|
||||
}
|
||||
}
|
||||
|
||||
//go:generate go run github.com/go-swagger/go-swagger/cmd/swagger generate spec -o ../../src/docs/public/swagger.json
|
||||
@@ -1,83 +1,57 @@
|
||||
module go.sour.is/paste
|
||||
module go.sour.is/paste/v2
|
||||
|
||||
go 1.21
|
||||
|
||||
require (
|
||||
github.com/andybalholm/brotli v1.0.4
|
||||
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815
|
||||
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167
|
||||
github.com/gorilla/mux v1.8.0
|
||||
github.com/h2non/filetype v1.1.0
|
||||
github.com/hashicorp/golang-lru v0.5.1
|
||||
github.com/lucasb-eyer/go-colorful v1.0.3
|
||||
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96
|
||||
github.com/rs/cors v1.6.0
|
||||
github.com/sour-is/crypto v0.0.0-20201016232853-f42a24ba5a81
|
||||
github.com/sour-is/go-assetfs v1.0.0
|
||||
github.com/spf13/viper v1.7.1
|
||||
github.com/timshannon/badgerhold v1.0.0
|
||||
github.com/tv42/zbase32 v0.0.0-20190604154422-aacc64a8f915
|
||||
github.com/yeqown/go-qrcode/v2 v2.2.2
|
||||
github.com/yeqown/go-qrcode/writer/standard v1.2.2
|
||||
go.opentelemetry.io/otel v1.18.0
|
||||
go.opentelemetry.io/otel/trace v1.18.0
|
||||
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441
|
||||
go.sour.is/pkg v0.0.6
|
||||
go.uber.org/ratelimit v0.1.0
|
||||
golang.org/x/crypto v0.14.0
|
||||
golang.org/x/sys v0.13.0
|
||||
sour.is/x/toolbox v0.12.17
|
||||
)
|
||||
|
||||
require (
|
||||
github.com/99designs/gqlgen v0.17.34 // indirect
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 // indirect
|
||||
github.com/BurntSushi/toml v1.2.1 // indirect
|
||||
github.com/andybalholm/brotli v1.0.4 // indirect
|
||||
github.com/beorn7/perks v1.0.1 // indirect
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 // indirect
|
||||
github.com/cespare/xxhash v1.1.0 // indirect
|
||||
github.com/cespare/xxhash/v2 v2.2.0 // indirect
|
||||
github.com/dgraph-io/badger v1.6.2 // indirect
|
||||
github.com/dgraph-io/ristretto v0.0.3 // indirect
|
||||
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 // indirect
|
||||
github.com/dustin/go-humanize v1.0.0 // indirect
|
||||
github.com/felixge/httpsnoop v1.0.3 // indirect
|
||||
github.com/fogleman/gg v1.3.0 // indirect
|
||||
github.com/fsnotify/fsnotify v1.4.9 // indirect
|
||||
github.com/go-logr/logr v1.2.4 // indirect
|
||||
github.com/go-logr/stdr v1.2.2 // indirect
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 // indirect
|
||||
github.com/golang/gddo v0.0.0-20200831202555-721e228c7686 // indirect
|
||||
github.com/golang/protobuf v1.5.3 // indirect
|
||||
github.com/gorilla/mux v1.8.0 // indirect
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 // indirect
|
||||
github.com/hashicorp/hcl v1.0.0 // indirect
|
||||
github.com/magiconair/properties v1.8.1 // indirect
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.4 // indirect
|
||||
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
||||
github.com/pelletier/go-toml v1.8.0 // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/prometheus/client_golang v1.17.0 // indirect
|
||||
github.com/prometheus/client_model v0.4.1-0.20230718164431-9a2bf3000d16 // indirect
|
||||
github.com/prometheus/common v0.44.0 // indirect
|
||||
github.com/prometheus/procfs v0.12.0 // indirect
|
||||
github.com/remyoudompheng/go-liblzma v0.0.0-20190506200333-81bf2d431b96 // indirect
|
||||
github.com/spf13/afero v1.3.2 // indirect
|
||||
github.com/spf13/cast v1.3.1 // indirect
|
||||
github.com/spf13/jwalterweatherman v1.1.0 // indirect
|
||||
github.com/spf13/pflag v1.0.5 // indirect
|
||||
github.com/spf13/viper v1.7.1 // indirect
|
||||
github.com/subosito/gotenv v1.2.0 // indirect
|
||||
github.com/vektah/gqlparser/v2 v2.5.6 // indirect
|
||||
github.com/yeqown/reedsolomon v1.0.0 // indirect
|
||||
github.com/yosssi/gmq v0.0.1 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0 // indirect
|
||||
go.opentelemetry.io/contrib/instrumentation/runtime v0.42.0 // indirect
|
||||
go.opentelemetry.io/otel v1.18.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.18.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.18.0 // indirect
|
||||
go.opentelemetry.io/otel/exporters/prometheus v0.41.0 // indirect
|
||||
go.opentelemetry.io/otel/metric v1.18.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk v1.18.0 // indirect
|
||||
go.opentelemetry.io/otel/sdk/metric v0.41.0 // indirect
|
||||
go.opentelemetry.io/otel/trace v1.18.0 // indirect
|
||||
go.opentelemetry.io/proto/otlp v1.0.0 // indirect
|
||||
go.uber.org/multierr v1.11.0 // indirect
|
||||
golang.org/x/image v0.5.0 // indirect
|
||||
golang.org/x/net v0.17.0 // indirect
|
||||
golang.org/x/sync v0.3.0 // indirect
|
||||
golang.org/x/text v0.13.0 // indirect
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
cloud.google.com/go v0.16.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
|
||||
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
|
||||
@@ -13,28 +12,19 @@ cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2k
|
||||
cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
|
||||
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
|
||||
github.com/99designs/gqlgen v0.10.1/go.mod h1:IviubpnyI4gbBcj8IcxSSc/Q/+af5riwCmJmwF0uaPE=
|
||||
github.com/99designs/gqlgen v0.17.34 h1:5cS5/OKFguQt+Ws56uj9FlG2xm1IlcJWNF2jrMIKYFQ=
|
||||
github.com/99designs/gqlgen v0.17.34/go.mod h1:Axcd3jIFHBVcqzixujJQr1wGqE+lGTpz6u4iZBZg1G8=
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190306092124-e2d15f34fcf9/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96 h1:cTp8I5+VIoKjsnZuH8vjyaysT/ses3EvZeaV/1UkF2M=
|
||||
github.com/AndreasBriese/bbloom v0.0.0-20190825152654-46b345b51c96/go.mod h1:bOvUY6CB00SOBii9/FifXqc0awNKxLFCL/+pkDPuyl8=
|
||||
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
|
||||
github.com/BurntSushi/toml v1.2.1 h1:9F2/+DoOYIOksmaJFPw1tGFy1eDnIJXg+UHjuD8lTak=
|
||||
github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
|
||||
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
|
||||
github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM=
|
||||
github.com/Masterminds/squirrel v0.0.0-20190511014652-b4b75d10d7bf/go.mod h1:yaPeOnPG5ZRwL9oKdTsO/prlkPbXWZlRVMQ/gGlzIuA=
|
||||
github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
|
||||
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
|
||||
github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
|
||||
github.com/agnivade/levenshtein v1.1.1/go.mod h1:veldBMzWxcCG2ZvUTKD2kJNRdCk5hVbJomOvKkmgYbo=
|
||||
github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
|
||||
github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
|
||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883 h1:bvNMNQO63//z+xNgfBlViaCIJKLlCJ6/fmUseuG0wVQ=
|
||||
github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
|
||||
github.com/andybalholm/brotli v1.0.4 h1:V7DdXeJtZscaqfNuAdSRuRFzuiKlHSC/Zh3zl9qY3JY=
|
||||
github.com/andybalholm/brotli v1.0.4/go.mod h1:fO7iG3H7G2nSZ7m0zPUDn85XEX2GTukHGRSepvi9Eig=
|
||||
github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE=
|
||||
github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o=
|
||||
github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8=
|
||||
github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY=
|
||||
@@ -47,10 +37,8 @@ github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kB
|
||||
github.com/bketelsen/crypt v0.0.3-0.20200106085610-5cbc8cc4026c/go.mod h1:MKsuJmJgSg28kpZDP6UIiPt0e0Oz0kqKNGyRaWEPv84=
|
||||
github.com/bouk/monkey v1.0.0 h1:k6z8fLlPhETfn5l9rlWVE7Q6B23DoaqosTdArvNQRdc=
|
||||
github.com/bouk/monkey v1.0.0/go.mod h1:PG/63f4XEUlVyW1ttIeOJmJhhe1+t9EC/je3eTjvFhE=
|
||||
github.com/bradfitz/gomemcache v0.0.0-20170208213004-1952afaa557d/go.mod h1:PmM6Mmwb0LSuEubjR8N7PtNe1KxZLtOUHtbeikc5h60=
|
||||
github.com/cenkalti/backoff/v4 v4.2.1 h1:y4OZtCnogmCPw98Zjyt5a6+QwPLGkiQsYW5oUqylYbM=
|
||||
github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
||||
github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
|
||||
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
|
||||
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
|
||||
github.com/cespare/xxhash/v2 v2.2.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
@@ -59,41 +47,21 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
|
||||
github.com/coreos/bbolt v1.3.2/go.mod h1:iRUV2dpdMOn7Bo10OQBFzIJO9kkE559Wcmn+qkEiiKk=
|
||||
github.com/coreos/etcd v3.3.10+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||
github.com/coreos/etcd v3.3.13+incompatible/go.mod h1:uF7uidLiAD3TWHmW31ZFd/JWoc32PjwdhPthX9715RE=
|
||||
github.com/coreos/go-etcd v2.0.0+incompatible/go.mod h1:Jez6KQU2B/sWsbdaef3ED8NzMklzPG4d5KIOhIy30Tk=
|
||||
github.com/coreos/go-semver v0.2.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||
github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk=
|
||||
github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4=
|
||||
github.com/coreos/pkg v0.0.0-20180928190104-399ea9e2e55f/go.mod h1:E3G3o1h8I7cfcXa63jLwjI0eiQQMgzzUDFVpN/nH/eA=
|
||||
github.com/cpuguy83/go-md2man v1.0.10/go.mod h1:SmD6nW6nTyfqj6ABTjUi3V3JVMnlJmwcJI5acqYI6dE=
|
||||
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
github.com/dgraph-io/badger v1.6.0/go.mod h1:zwt7syl517jmP8s94KqSxTlM6IMsdhYy6psNgSztDR4=
|
||||
github.com/dgraph-io/badger v1.6.2 h1:mNw0qs90GVgGGWylh0umH5iag1j6n/PeJtNvL6KY/x8=
|
||||
github.com/dgraph-io/badger v1.6.2/go.mod h1:JW2yswe3V058sS0kZ2h/AXeDSqFjxnZcRrVH//y2UQE=
|
||||
github.com/dgraph-io/ristretto v0.0.2/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
|
||||
github.com/dgraph-io/ristretto v0.0.3 h1:jh22xisGBjrEVnRZ1DVTpBVQm0Xndu8sMl0CWDzSIBI=
|
||||
github.com/dgraph-io/ristretto v0.0.3/go.mod h1:KPxhHT9ZxKefz+PCeOGsrHpl1qZ7i70dGTu2u+Ahh6E=
|
||||
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
|
||||
github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
|
||||
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13 h1:fAjc9m62+UWV/WAFKLNi6ZS0675eEUC9y3AlwSbQu1Y=
|
||||
github.com/dgryski/go-farm v0.0.0-20200201041132-a6ae2369ad13/go.mod h1:SqUrOPUnsFjfmXRMNPybcSiG0BgUW2AuFH8PAnS2iTw=
|
||||
github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no=
|
||||
github.com/dgryski/trifles v0.0.0-20200323201526-dd97f9abfb48/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA=
|
||||
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815 h1:HMAfwOa33y82IaQEKQDfUCiwNlxtM1iw7HLM9ru0RNc=
|
||||
github.com/docopt/docopt.go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:l7JNRynTRuqe45tpIyItHNqZWTxywYjp87MWTOnU5cg=
|
||||
github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo=
|
||||
github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk=
|
||||
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
|
||||
github.com/felixge/httpsnoop v1.0.3 h1:s/nj+GCswXYzN5v2DpNMuMQYe+0DDwt5WVCU6CWBdXk=
|
||||
github.com/felixge/httpsnoop v1.0.3/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U=
|
||||
github.com/fogleman/gg v1.3.0 h1:/7zJX8F6AaYQc57WQCyN9cAIz+4bCJGO9B+dyW29am8=
|
||||
github.com/fogleman/gg v1.3.0/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k=
|
||||
github.com/fsnotify/fsnotify v1.4.3-0.20170329110642-4da3e2cfbabc/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo=
|
||||
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
|
||||
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
|
||||
github.com/garyburd/redigo v1.1.1-0.20170914051019-70e1b1943d4f/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
|
||||
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
|
||||
github.com/go-chi/chi v3.3.2+incompatible/go.mod h1:eB3wogJHnLi3x/kFX2A+IbTBlXxmMeXJVKy9tTv1XzQ=
|
||||
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
|
||||
@@ -106,21 +74,15 @@ github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV
|
||||
github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=
|
||||
github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE=
|
||||
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
|
||||
github.com/go-stack/stack v1.6.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
|
||||
github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ=
|
||||
github.com/gogo/protobuf v1.2.1/go.mod h1:hp+jE20tsWTFYpLwKvXlhS1hjn+gTNwPg2I6zVXpSg4=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0 h1:DACJavvAHhabrF08vX0COfcOBJRhZ8lUbR+ZWIs0Y5g=
|
||||
github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k=
|
||||
github.com/golang/gddo v0.0.0-20190815223733-287de01127ef/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4=
|
||||
github.com/golang/gddo v0.0.0-20200831202555-721e228c7686 h1:5vu7C+63KTbsSNnLhrgB98Sqy8MNVSW8FdhkcWA/3Rk=
|
||||
github.com/golang/gddo v0.0.0-20200831202555-721e228c7686/go.mod h1:sam69Hju0uq+5uvLJUMDlsKlQ21Vrs1Kd/1YFPNYdOU=
|
||||
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
|
||||
github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE=
|
||||
github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ=
|
||||
github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
|
||||
github.com/golang/lint v0.0.0-20170918230701-e5d664eb928e/go.mod h1:tluoj9z5200jBnyusfRPU2LqT6J+DAorxEvtC7LHB+E=
|
||||
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
|
||||
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
|
||||
@@ -130,12 +92,10 @@ github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5y
|
||||
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
|
||||
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
||||
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
|
||||
github.com/golang/snappy v0.0.0-20170215233205-553a64147049/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
|
||||
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167 h1:LP/6EfrZ/LyCc+SXvANDrIJ4sP9u2NAtqyv6QknetNQ=
|
||||
github.com/gomarkdown/markdown v0.0.0-20200824053859-8c8b3816f167/go.mod h1:aii0r/K0ZnHv7G0KF7xy1v0A7s2Ljrb5byB7MO5p6TU=
|
||||
github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
|
||||
github.com/google/go-cmp v0.1.1-0.20171103154506-982329095285/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
|
||||
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
|
||||
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||
@@ -145,7 +105,6 @@ github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXi
|
||||
github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
||||
github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
|
||||
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
|
||||
github.com/googleapis/gax-go v2.0.0+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY=
|
||||
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
|
||||
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
|
||||
github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY=
|
||||
@@ -159,7 +118,6 @@ github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB7
|
||||
github.com/gorilla/websocket v1.2.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.4.0/go.mod h1:E7qHFY5m1UJ88s3WnNqhKjPHQ0heANvMoAMk2YaljkQ=
|
||||
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
||||
github.com/gregjones/httpcache v0.0.0-20170920190843-316c5e0ff04e/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware v1.0.0/go.mod h1:FiyG127CGDf3tlThmgyCl78X/SZQqEOJBCDaAfeWzPs=
|
||||
github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.9.0/go.mod h1:vNeuVxBJEsws4ogUvrchl83t/GYV9WGTSLVdBhOQFDY=
|
||||
@@ -181,17 +139,13 @@ github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/b
|
||||
github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
|
||||
github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90=
|
||||
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/golang-lru v0.5.1 h1:0hERBMJE1eitiLkihrMvRVBYAkpHzc/J3QdDN+dAcgU=
|
||||
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
|
||||
github.com/hashicorp/hcl v0.0.0-20170914154624-68e816d1c783/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
|
||||
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
||||
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
||||
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
|
||||
github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ=
|
||||
github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I=
|
||||
github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc=
|
||||
github.com/inconshreveable/log15 v0.0.0-20170622235902-74a0988b5f80/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o=
|
||||
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
|
||||
github.com/jmoiron/sqlx v0.0.0-20150110152746-69738bd20981/go.mod h1:IiEW3SEiiErVyFdH8NTuWjSifiEQKUoyK3LNqr2kCHU=
|
||||
github.com/jonboulle/clockwork v0.1.0/go.mod h1:Ii8DK3G1RaLaWxj9trq07+26W01tbo22gdxWY5EU2bo=
|
||||
github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU=
|
||||
@@ -205,7 +159,6 @@ github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxv
|
||||
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
|
||||
github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc=
|
||||
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
|
||||
github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
|
||||
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
||||
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
|
||||
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
|
||||
@@ -215,17 +168,12 @@ github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
|
||||
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
|
||||
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
|
||||
github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
|
||||
github.com/lucasb-eyer/go-colorful v1.0.3 h1:QIbQXiugsb+q10B+MI+7DI1oQLdmnep86tWFlaaUAac=
|
||||
github.com/lucasb-eyer/go-colorful v1.0.3/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0=
|
||||
github.com/magiconair/properties v1.7.4-0.20170902060319-8d7837e64d3c/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/magiconair/properties v1.8.0/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/magiconair/properties v1.8.1 h1:ZC2Vc7/ZFkGmsVC9KvOjumD+G5lXy2RtTKyzRKO2BQ4=
|
||||
github.com/magiconair/properties v1.8.1/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ=
|
||||
github.com/matryer/is v1.4.1 h1:55ehd8zaGABKLXQUe2awZ99BD/PTc2ls+KV/dXphgEQ=
|
||||
github.com/matryer/is v1.4.1/go.mod h1:8I/i5uYgLzgsgEloJE1U6xx5HkBQpAZvepWuujKwMRU=
|
||||
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-colorable v0.0.10-0.20170816031813-ad5389df28cd/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
|
||||
github.com/mattn/go-isatty v0.0.2/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
|
||||
github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
|
||||
github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0=
|
||||
@@ -234,12 +182,10 @@ github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfr
|
||||
github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg=
|
||||
github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc=
|
||||
github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0=
|
||||
github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI=
|
||||
github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg=
|
||||
github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY=
|
||||
github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v0.0.0-20170523030023-d0303fe80992/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v0.0.0-20180203102830-a4e142e9c047/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
|
||||
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
|
||||
@@ -253,15 +199,12 @@ github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFSt
|
||||
github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o=
|
||||
github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc=
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
|
||||
github.com/pelletier/go-toml v1.0.1-0.20170904195809-1d6b12b7cb29/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic=
|
||||
github.com/pelletier/go-toml v1.5.0/go.mod h1:5N711Q9dKgbdkxHL+MEfF31hpT7l0S0s/t2kKREewys=
|
||||
github.com/pelletier/go-toml v1.8.0 h1:Keo9qb7iRJs2voHvunFtuuYFsbWeOBh8/P9v/kVMFtw=
|
||||
github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bAOTRnLElKs=
|
||||
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
||||
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
|
||||
github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
|
||||
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
|
||||
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
||||
@@ -291,12 +234,9 @@ github.com/rogpeppe/go-internal v1.10.0 h1:TMyTOH3F/DB16zRVcYyreMH6GnZZrwQVAoYjR
|
||||
github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog=
|
||||
github.com/rs/cors v1.6.0 h1:G9tHG9lebljV9mfp9SNPDL36nCDxmo3zTlAf1YgvzmI=
|
||||
github.com/rs/cors v1.6.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU=
|
||||
github.com/russross/blackfriday v1.5.2/go.mod h1:JO/DiYxRf+HjHt06OyowR9PTA263kcR/rfWxYHBV53g=
|
||||
github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts=
|
||||
github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc=
|
||||
github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
|
||||
github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8=
|
||||
github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I=
|
||||
github.com/shurcooL/httpfs v0.0.0-20171119174359-809beceb2371/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg=
|
||||
github.com/shurcooL/vfsgen v0.0.0-20180121065927-ffb13db8def0/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw=
|
||||
github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
|
||||
@@ -307,33 +247,20 @@ github.com/smartystreets/goconvey v0.0.0-20170602164621-9e8dc3f972df/go.mod h1:X
|
||||
github.com/smartystreets/goconvey v1.6.4 h1:fv0U8FUIMPNf1L9lnHLvLhgicrIVChEkdzIKYqbNC9s=
|
||||
github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA=
|
||||
github.com/soheilhy/cmux v0.1.4/go.mod h1:IM3LyeVVIOuxMH7sFAkER9+bJ4dT7Ms6E4xg4kGIyLM=
|
||||
github.com/sour-is/crypto v0.0.0-20201016232853-f42a24ba5a81 h1:7LadZJfye3tq1Dr5c46uy1ign6mQr2bAOlCJeAXpB1A=
|
||||
github.com/sour-is/crypto v0.0.0-20201016232853-f42a24ba5a81/go.mod h1:7/Of5cnNodFyJ6PH2C3STkdCRvqbhj9yA3BhQ/E62wA=
|
||||
github.com/sour-is/go-assetfs v1.0.0 h1:84Fd12qIAdZUOKjYIgsA1J27fcQF/JiSgiflz+2hqEA=
|
||||
github.com/sour-is/go-assetfs v1.0.0/go.mod h1:y4ShXMTRymi5OMvwbtfT3sxcRE72sx1ycYymT46JbRE=
|
||||
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||
github.com/spaolacci/murmur3 v1.1.0 h1:7c1g84S4BPRrfL5Xrdp6fOJ206sU9y293DDHaoy0bLI=
|
||||
github.com/spaolacci/murmur3 v1.1.0/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
|
||||
github.com/spf13/afero v0.0.0-20170901052352-ee1bd8ee15a1/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
|
||||
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
|
||||
github.com/spf13/afero v1.3.2 h1:GDarE4TJQI52kYSbSAmLiId1Elfj+xgSDqrUZxFhxlU=
|
||||
github.com/spf13/afero v1.3.2/go.mod h1:5KUK8ByomD5Ti5Artl0RtHeI5pTF7MIDuXL3yY520V4=
|
||||
github.com/spf13/cast v1.1.0/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg=
|
||||
github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng=
|
||||
github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE=
|
||||
github.com/spf13/cobra v0.0.5/go.mod h1:3K3wKZymM7VvHMDS9+Akkh4K60UwM26emMESw8tLCHU=
|
||||
github.com/spf13/jwalterweatherman v0.0.0-20170901151539-12bd96e66386/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||
github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo=
|
||||
github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk=
|
||||
github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo=
|
||||
github.com/spf13/pflag v1.0.1-0.20170901120850-7aff26db30c1/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
|
||||
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||
github.com/spf13/viper v1.0.0/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM=
|
||||
github.com/spf13/viper v1.3.2/go.mod h1:ZiWeW+zYFKm7srdB9IoDzzZXaJaI5eL9QjNiN/DMA2s=
|
||||
github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE=
|
||||
github.com/spf13/viper v1.7.1 h1:pM5oEahlgWv/WnHXpgbKz7iLIxRf65tye2Ci+XFK5sk=
|
||||
github.com/spf13/viper v1.7.1/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg=
|
||||
@@ -347,29 +274,14 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU
|
||||
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
||||
github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s=
|
||||
github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw=
|
||||
github.com/timshannon/badgerhold v1.0.0 h1:LtqnDRVP7294FWRiZCIfQa6Tt0bGmlzbO8c364QC2Y8=
|
||||
github.com/timshannon/badgerhold v1.0.0/go.mod h1:Vv2Jj0PAfzqViEpGvJzLP8PY07x1iXLgKRuLY7bqPOE=
|
||||
github.com/tmc/grpc-websocket-proxy v0.0.0-20190109142713-0ad062ec5ee5/go.mod h1:ncp9v5uamzpCO7NfCPTXjqaC+bZgJeR0sMTm6dMHP7U=
|
||||
github.com/tv42/zbase32 v0.0.0-20190604154422-aacc64a8f915 h1:vX9DBbEHmrebYnVthUTzMO6Zc1vvConJdD2s0uvXrfw=
|
||||
github.com/tv42/zbase32 v0.0.0-20190604154422-aacc64a8f915/go.mod h1:Y5DJgF9Eou+hSWetC39Mns8E0PU7DykCLNWiYeOINrE=
|
||||
github.com/ugorji/go v1.1.4/go.mod h1:uQMGLiO92mf5W77hV/PUCpI3pbzQx3CRekS0kk+RGrc=
|
||||
github.com/ugorji/go/codec v0.0.0-20181204163529-d75b2dcb6bc8/go.mod h1:VFNgLljTbGfSG7qAOspJ7OScBnGdDN/yBr0sguwnwf0=
|
||||
github.com/urfave/cli v1.20.0/go.mod h1:70zkFmudgCuE/ngEzBv17Jvp/497gISqfk5gWijbERA=
|
||||
github.com/vektah/dataloaden v0.2.1-0.20190515034641-a19b9a6e7c9e/go.mod h1:/HUdMve7rvxZma+2ZELQeNh88+003LL7Pf/CZ089j8U=
|
||||
github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
|
||||
github.com/vektah/gqlparser/v2 v2.5.6 h1:Ou14T0N1s191eRMZ1gARVqohcbe1e8FrcONScsq8cRU=
|
||||
github.com/vektah/gqlparser/v2 v2.5.6/go.mod h1:z8xXUff237NntSuH8mLFijZ+1tjV1swDbpDqjJmk6ME=
|
||||
github.com/xiang90/probing v0.0.0-20190116061207-43a291ad63a2/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU=
|
||||
github.com/xordataexchange/crypt v0.0.3-0.20170626215501-b2862e3d0a77/go.mod h1:aYKd//L2LvnjZzWKhF00oedf4jCCReLcmhLdhm1A27Q=
|
||||
github.com/yeqown/go-qrcode/v2 v2.2.2 h1:0comk6jEwi0oWNhKEmzx4JI+Q7XIneAApmFSMKWmSVc=
|
||||
github.com/yeqown/go-qrcode/v2 v2.2.2/go.mod h1:2Qsk2APUCPne0TsRo40DIkI5MYnbzYKCnKGEFWrxd24=
|
||||
github.com/yeqown/go-qrcode/writer/standard v1.2.2 h1:gyzunKXgC0ZUpKqQFUImbAEwewAiwNCkxFEKZV80Kt4=
|
||||
github.com/yeqown/go-qrcode/writer/standard v1.2.2/go.mod h1:bbVRiBJSRPj4UBZP/biLG7JSd9kHqXjErk1eakAMnRA=
|
||||
github.com/yeqown/reedsolomon v1.0.0 h1:x1h/Ej/uJnNu8jaX7GLHBWmZKCAWjEJTetkqaabr4B0=
|
||||
github.com/yeqown/reedsolomon v1.0.0/go.mod h1:P76zpcn2TCuL0ul1Fso373qHRc69LKwAw/Iy6g1WiiM=
|
||||
github.com/yosssi/gmq v0.0.1 h1:GhlDVaAQoi3Mvjul/qJXXGfL4JBeE0GQwbWp3eIsja8=
|
||||
github.com/yosssi/gmq v0.0.1/go.mod h1:mReykazh0U1JabvuWh1PEbzzJftqOQWsjr0Lwg5jL1Y=
|
||||
github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY=
|
||||
go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU=
|
||||
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
|
||||
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
|
||||
@@ -395,27 +307,22 @@ go.opentelemetry.io/otel/trace v1.18.0 h1:NY+czwbHbmndxojTEKiSMHkG2ClNH2PwmcHrdo
|
||||
go.opentelemetry.io/otel/trace v1.18.0/go.mod h1:T2+SGJGuYZY3bjj5rgh/hN7KIrlpWC5nS8Mjvzckz+0=
|
||||
go.opentelemetry.io/proto/otlp v1.0.0 h1:T0TX0tmXU8a3CbNXzEKGeU5mIVOdf0oykP+u2lIVU/I=
|
||||
go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM=
|
||||
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441 h1:9un6JVrufqnWGBKxYKSfgQlh1rV7HztT8Bns0YdyZDc=
|
||||
go.sour.is/paste v0.0.0-20231022150928-96338f2f4441/go.mod h1:ydiXZa7htkXTbifRHxUR+LppH3kXrN1XqPd19VSzPdI=
|
||||
go.sour.is/pkg v0.0.6 h1:tbE3zxl0WtCn7isPBWEEjZVzDhV8lWGU6qmfVR0t5gw=
|
||||
go.sour.is/pkg v0.0.6/go.mod h1:IKGL3C4IkY3HPA2txGjBi1JPOEU5PJOUzQwt+qYZBW0=
|
||||
go.uber.org/atomic v1.4.0 h1:cxzIVoETapQEqDhQu3QfnvXAV4AlzcvUCxkVUFw3+EU=
|
||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||
go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0=
|
||||
go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0=
|
||||
go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y=
|
||||
go.uber.org/ratelimit v0.1.0 h1:U2AruXqeTb4Eh9sYQSTrMhH8Cb7M0Ian2ibBOnBcnAw=
|
||||
go.uber.org/ratelimit v0.1.0/go.mod h1:2X8KaoNd1J0lZV+PxJk/5+DGbO/tpwLR1m++a7FnB/Y=
|
||||
go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q=
|
||||
golang.org/dl v0.0.0-20190829154251-82a15e2f2ead/go.mod h1:IUMfjQLJQd4UTqG1Z90tenwKoCX93Gn3MAQJMOSBsDQ=
|
||||
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20181203042331-505ab145d0a9/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
|
||||
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
|
||||
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
|
||||
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
|
||||
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc=
|
||||
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4=
|
||||
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
|
||||
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
|
||||
@@ -423,8 +330,6 @@ golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm0
|
||||
golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
|
||||
golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
|
||||
golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
|
||||
golang.org/x/image v0.5.0 h1:5JMiNunQeQw++mMOz48/ISeNu3Iweh/JaZU8ZLqHRrI=
|
||||
golang.org/x/image v0.5.0/go.mod h1:FVC7BI/5Ym8R25iw5OLsgshdUBbT1h5jZTpA+mvAdZ4=
|
||||
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
|
||||
golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
|
||||
@@ -436,7 +341,6 @@ golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU
|
||||
golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
|
||||
golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
|
||||
golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
|
||||
golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4=
|
||||
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
|
||||
@@ -452,21 +356,16 @@ golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn
|
||||
golang.org/x/net v0.0.0-20190522155817-f3200d17e092/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
|
||||
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
|
||||
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
|
||||
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
|
||||
golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM=
|
||||
golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE=
|
||||
golang.org/x/oauth2 v0.0.0-20170912212905-13449ad91cb2/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
|
||||
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
|
||||
golang.org/x/sync v0.0.0-20170517211232-f52d1811a629/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
|
||||
golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E=
|
||||
golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y=
|
||||
golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
@@ -475,7 +374,6 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h
|
||||
golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20181205085412-a5c9d58dba9a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
|
||||
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
@@ -483,26 +381,15 @@ golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7w
|
||||
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20190626221950-04f50cda93cb/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20191010194322-b09406accb47/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
||||
golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/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=
|
||||
golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE=
|
||||
golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
||||
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
|
||||
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
|
||||
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
|
||||
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
|
||||
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
|
||||
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
|
||||
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
|
||||
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k=
|
||||
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE=
|
||||
golang.org/x/time v0.0.0-20170424234030-8be79e1e0910/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
|
||||
golang.org/x/tools v0.0.0-20180221164845-07fd8470d635/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
|
||||
@@ -524,11 +411,8 @@ golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtn
|
||||
golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191112195655-aa38f8e97acc/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
|
||||
golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc=
|
||||
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
|
||||
google.golang.org/api v0.0.0-20170921000349-586095a6e407/go.mod h1:4mhQ8q/RsB7i+udVvVy5NUi08OU8ZlA0gRVgrF7VFY0=
|
||||
google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
|
||||
google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
|
||||
google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
|
||||
@@ -538,8 +422,6 @@ google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9Ywl
|
||||
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
|
||||
google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
|
||||
google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
|
||||
google.golang.org/genproto v0.0.0-20170918111702-1e559d0a00ee/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
|
||||
google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
|
||||
@@ -555,7 +437,6 @@ google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98 h1:
|
||||
google.golang.org/genproto/googleapis/api v0.0.0-20230711160842-782d3b101e98/go.mod h1:rsr7RhLuwsDKL7RmgDDCUc6yaGr1iqceVb5Wv6f6YvQ=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98 h1:bVf09lpb+OJbByTj913DRJioFFAjf/ZGxEz7MajTp2U=
|
||||
google.golang.org/genproto/googleapis/rpc v0.0.0-20230711160842-782d3b101e98/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM=
|
||||
google.golang.org/grpc v1.2.1-0.20170921194603-d4b75ebd4f9f/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
|
||||
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.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
|
||||
@@ -569,7 +450,6 @@ google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqw
|
||||
gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw=
|
||||
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
||||
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q=
|
||||
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
|
||||
|
||||
+256
@@ -0,0 +1,256 @@
|
||||
package image
|
||||
|
||||
import (
|
||||
"context"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/h2non/filetype"
|
||||
"go.opentelemetry.io/otel/attribute"
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
"golang.org/x/sys/unix"
|
||||
|
||||
"go.sour.is/paste/src/pkg/readutil"
|
||||
"go.sour.is/pkg/lg"
|
||||
)
|
||||
|
||||
type image struct {
|
||||
store string
|
||||
maxSize int64
|
||||
}
|
||||
|
||||
const DefaultMaxSize = 500 * 1024 * 1024
|
||||
|
||||
func New(store string, maxSize int64) (a *image, err error) {
|
||||
a = &image{
|
||||
store: store,
|
||||
maxSize: DefaultMaxSize,
|
||||
}
|
||||
|
||||
if maxSize > 0 {
|
||||
a.maxSize = maxSize
|
||||
}
|
||||
|
||||
if !chkStore(a.store) {
|
||||
return nil, fmt.Errorf("image Store location [%s] does not exist or is not writable", a.store)
|
||||
}
|
||||
|
||||
return a, nil
|
||||
}
|
||||
func (a *image) RegisterHTTP(mux *http.ServeMux) {
|
||||
mux.Handle("/i", http.StripPrefix("/i", a))
|
||||
mux.Handle("/i/", http.StripPrefix("/i/", a))
|
||||
mux.Handle("3/upload", http.StripPrefix("/3/upload", a))
|
||||
|
||||
}
|
||||
func (a *image) ServeHTTP(w http.ResponseWriter, r *http.Request) {
|
||||
ctx := r.Context()
|
||||
ctx, span := lg.Span(ctx)
|
||||
defer span.End()
|
||||
|
||||
switch r.Method {
|
||||
case http.MethodGet:
|
||||
name := strings.TrimPrefix(r.URL.Path, "/")
|
||||
|
||||
a.get(ctx, w, name)
|
||||
case http.MethodPost:
|
||||
length := 0
|
||||
if h := r.Header.Get("Content-Length"); h != "" {
|
||||
if i, err := strconv.Atoi(h); err != nil {
|
||||
length = i
|
||||
}
|
||||
}
|
||||
id, err := a.put(ctx, w, r.Body, length)
|
||||
switch {
|
||||
case errors.Is(err, ErrGone):
|
||||
w.WriteHeader(http.StatusGone)
|
||||
case errors.Is(err, ErrNotFound):
|
||||
w.WriteHeader(http.StatusNotFound)
|
||||
case errors.Is(err, ErrReadingContent):
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
case errors.Is(err, ErrUnsupportedType):
|
||||
w.WriteHeader(http.StatusUnsupportedMediaType)
|
||||
}
|
||||
|
||||
type data struct{
|
||||
Link string `json:"link"`
|
||||
DeleteHash string `json:"deletehash"`
|
||||
}
|
||||
var resp = struct{
|
||||
Data data `json:"data"`
|
||||
Success bool `json:"success"`
|
||||
Status int `json:"status"`
|
||||
}{
|
||||
Data: data{
|
||||
Link: fmt.Sprintf("https://%s/%s", r.Host, id),
|
||||
},
|
||||
Success: true,
|
||||
Status: 200,
|
||||
}
|
||||
|
||||
json.NewEncoder(w).Encode(resp)
|
||||
|
||||
default:
|
||||
http.Error(w, http.StatusText(http.StatusNotFound), http.StatusNotFound)
|
||||
}
|
||||
}
|
||||
|
||||
func (a *image) get(ctx context.Context, w http.ResponseWriter, name string) error {
|
||||
_, span := lg.Span(ctx)
|
||||
defer span.End()
|
||||
|
||||
ext := filepath.Ext(name)
|
||||
id := strings.TrimSuffix(name, ext)
|
||||
|
||||
fname := filepath.Join(a.store, id)
|
||||
|
||||
if !chkFile(fname) {
|
||||
return fmt.Errorf("%w: %s", ErrNotFound, fname)
|
||||
}
|
||||
|
||||
if chkGone(fname) {
|
||||
return fmt.Errorf("%w: %s", ErrGone, fname)
|
||||
}
|
||||
|
||||
f, err := os.Open(fname)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
pr := readutil.NewPreviewReader(f)
|
||||
|
||||
mime, err := readutil.ReadMIME(pr, name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
w.Header().Set("Content-Type", mime)
|
||||
w.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
|
||||
_, _ = io.Copy(w, pr.Drain())
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *image) put(ctx context.Context, w http.ResponseWriter, r io.ReadCloser, length int) (string, error) {
|
||||
_, span := lg.Span(ctx)
|
||||
defer span.End()
|
||||
|
||||
defer r.Close()
|
||||
|
||||
if length > 0 {
|
||||
if int64(length) > a.maxSize {
|
||||
return "", ErrSizeTooLarge
|
||||
}
|
||||
}
|
||||
|
||||
rdr := io.LimitReader(r, a.maxSize)
|
||||
pr := readutil.NewPreviewReader(rdr)
|
||||
if !isImageOrVideo(pr) {
|
||||
return "", ErrUnsupportedType
|
||||
}
|
||||
rdr = pr.Drain()
|
||||
|
||||
s256 := sha256.New()
|
||||
tmp, err := os.CreateTemp(a.store, "image-")
|
||||
if err != nil {
|
||||
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
|
||||
}
|
||||
|
||||
defer os.Remove(tmp.Name())
|
||||
|
||||
m := io.MultiWriter(s256, tmp)
|
||||
if _, err := io.Copy(m, rdr); err != nil {
|
||||
return "", fmt.Errorf("%w: %w", ErrBadInput, err)
|
||||
}
|
||||
tmp.Close()
|
||||
|
||||
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
|
||||
fname := filepath.Join(a.store, id)
|
||||
|
||||
span.AddEvent("image: moving file", trace.WithAttributes(attribute.String("src", tmp.Name()), attribute.String("dst", fname)))
|
||||
_ = os.Rename(tmp.Name(), fname)
|
||||
|
||||
return id, nil
|
||||
}
|
||||
|
||||
func isImageOrVideo(in io.Reader) bool {
|
||||
buf := make([]byte, 320)
|
||||
_, err := in.Read(buf)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return filetype.IsImage(buf) || filetype.IsVideo(buf)
|
||||
}
|
||||
|
||||
func chkStore(path string) bool {
|
||||
file, err := os.Stat(path)
|
||||
|
||||
if err != nil && os.IsNotExist(err) {
|
||||
err = os.MkdirAll(path, 0744)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
file, err = os.Stat(path)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
if !file.IsDir() {
|
||||
return false
|
||||
}
|
||||
|
||||
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
func chkFile(path string) bool {
|
||||
file, err := os.Stat(path)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
if file.IsDir() {
|
||||
return false
|
||||
}
|
||||
|
||||
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
func chkGone(path string) bool {
|
||||
file, err := os.Stat(path)
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
if file.Size() == 0 {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
var (
|
||||
ErrNotFound = errors.New("not found")
|
||||
ErrGone = errors.New("gone")
|
||||
ErrReadingContent = errors.New("reading content")
|
||||
ErrSizeTooLarge = errors.New("size too large")
|
||||
ErrBadInput = errors.New("bad input")
|
||||
ErrUnsupportedType = errors.New("unsupported type")
|
||||
)
|
||||
File renamed without changes.
File renamed without changes.
@@ -1 +0,0 @@
|
||||
public/swagger.json
|
||||
@@ -1,477 +0,0 @@
|
||||
// Code generated by github.com/sour-is/go-assetfs, DO NOT EDIT.
|
||||
|
||||
// sources:
|
||||
// public/favicon-16x16.png (445B)
|
||||
// public/favicon-32x32.png (1.141kB)
|
||||
// public/index.html (3.503kB)
|
||||
// public/oauth2-redirect.html (2.388kB)
|
||||
// public/swagger-ui-bundle.js (1.555MB)
|
||||
// public/swagger-ui-standalone-preset.js (440.915kB)
|
||||
// public/swagger-ui.css (153.54kB)
|
||||
// public/swagger-ui.js (361.688kB)
|
||||
// public/swagger.json (4.895kB)
|
||||
|
||||
package docs
|
||||
|
||||
import (
|
||||
"github.com/sour-is/go-assetfs/pkg/assetfs"
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"crypto/sha256"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func bindataRead(data []byte, name string) ([]byte, error) {
|
||||
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("read %q: %v", name, err)
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
_, err = io.Copy(&buf, gz)
|
||||
clErr := gz.Close()
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("read %q: %v", name, err)
|
||||
}
|
||||
if clErr != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
type asset struct {
|
||||
bytes []byte
|
||||
info os.FileInfo
|
||||
digest [sha256.Size]byte
|
||||
}
|
||||
|
||||
type bindataFileInfo struct {
|
||||
name string
|
||||
size int64
|
||||
mode os.FileMode
|
||||
modTime time.Time
|
||||
}
|
||||
|
||||
func (fi bindataFileInfo) Name() string {
|
||||
return fi.name
|
||||
}
|
||||
func (fi bindataFileInfo) Size() int64 {
|
||||
return fi.size
|
||||
}
|
||||
func (fi bindataFileInfo) Mode() os.FileMode {
|
||||
return fi.mode
|
||||
}
|
||||
func (fi bindataFileInfo) ModTime() time.Time {
|
||||
return fi.modTime
|
||||
}
|
||||
func (fi bindataFileInfo) IsDir() bool {
|
||||
return false
|
||||
}
|
||||
func (fi bindataFileInfo) Sys() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
var _publicFavicon16x16Png = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\xbd\x01\x42\xfe\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x10\x00\x00\x00\x10\x08\x06\x00\x00\x00\x1f\xf3\xff\x61\x00\x00\x01\x84\x49\x44\x41\x54\x78\x01\x95\x53\x03\x4c\x75\x71\x1c\xfd\x8c\xf1\xc3\xec\x30\xa7\x29\xcd\x61\xb6\x6b\x36\xb2\x9b\xf9\xb2\x6b\xc8\x35\x2f\xdb\x8d\x71\x78\xc6\x94\x6d\xcc\x7b\xef\x7f\x4f\xff\xf3\x6c\xdc\xed\xf2\xe0\xfe\xf8\xc9\xff\x50\x14\x11\x2f\x14\x5b\xa3\x50\xc4\xa1\xbc\x3f\xf1\x74\x3e\x37\x12\x73\x13\x03\x85\xca\x37\x49\x52\x09\x61\xb5\x6a\x8f\xa7\x31\xbe\x5d\x88\xf6\xb9\x4c\xf0\x1c\x93\xcf\xda\xe3\x29\x10\x93\x66\x8d\xe4\x06\x13\xcf\xde\x3c\x9b\xd1\x34\x95\x8a\x92\x81\x4f\x41\xcf\x46\x89\xdd\x3c\x9b\x20\x4d\xe6\x7d\x4c\xe4\x07\x15\xc5\xf5\xe3\xff\x49\x0c\x7b\xd6\x8d\xff\x73\x99\x34\xba\x73\x66\x68\xae\x3f\xaf\x6b\x1a\x70\x72\x77\x10\x20\x3c\xb9\xdb\xc7\x86\xa6\xd1\x19\x49\x0a\xa8\xb1\xd7\x84\x79\x33\x67\x17\x31\x54\x24\xb5\x63\x7f\x71\xfb\x62\x71\xbf\x6b\x8e\x27\x1d\x51\xb0\xc2\x2c\x92\x0b\x78\x7c\x3b\x46\xe5\xf0\xef\x00\x83\xf2\xa1\x1f\x78\x7c\x3f\x71\xbd\xcb\xc2\x16\x80\x5a\x46\xf0\xc4\x4a\xf3\xe3\xe4\x6e\x31\xcc\x17\x6b\x60\x3a\x7d\xcb\x79\xe8\x98\xcb\x42\xc7\x7c\x36\x7a\x97\x72\xd1\x34\x9d\x06\xd3\xf9\x8a\xe4\x94\x90\x8b\xb6\xd9\x0c\x50\xeb\x63\x40\xd0\x7c\xbe\x2a\xc9\x34\xc8\xa7\x98\x27\xcd\x68\x00\xe3\xd9\x32\xa6\x76\x4b\x7d\x0c\x42\xa4\xf0\x2b\x44\x0a\xc7\x81\x29\xb0\x10\x9a\xe3\xa9\xd8\x8b\x78\xe4\x28\xa2\xbb\x8d\x6c\x0d\x01\xb6\x8a\x2d\xf3\x37\x38\xbe\xdd\xc7\xa6\xb6\xc9\xd9\xc6\x64\xd8\x5c\x6d\xf4\x0c\x92\x09\x75\x51\x0e\xd2\xf5\xb3\xd1\xf1\x77\xdf\x51\x16\xb3\x34\x61\x24\xa1\xc4\xc4\x28\x56\xbc\x46\xd9\xdf\xa4\x91\xe9\xb0\x26\x2c\x12\x2b\xcd\x93\xcf\x1c\x1c\x62\xdc\xca\x00\x71\x74\xeb\xcc\x2d\x14\x89\xfe\xfc\x0f\x6d\x32\x6a\x88\xec\xcc\x73\x18\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\xd4\x60\x34\x74\xbd\x01\x00\x00")
|
||||
|
||||
func publicFavicon16x16PngBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicFavicon16x16Png,
|
||||
"public/favicon-16x16.png",
|
||||
)
|
||||
}
|
||||
|
||||
func publicFavicon16x16Png() (*asset, error) {
|
||||
bytes, err := publicFavicon16x16PngBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/favicon-16x16.png", size: 445, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc, 0x68, 0x7c, 0x67, 0x37, 0x47, 0x67, 0x80, 0x51, 0xf, 0x5f, 0x47, 0x4e, 0x83, 0x3b, 0xe4, 0x54, 0x78, 0xa6, 0xba, 0x9d, 0x9, 0x84, 0xd4, 0x2d, 0x9d, 0xf6, 0x13, 0x25, 0xd0, 0x83, 0x8d}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicFavicon32x32Png = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x00\x75\x04\x8a\xfb\x89\x50\x4e\x47\x0d\x0a\x1a\x0a\x00\x00\x00\x0d\x49\x48\x44\x52\x00\x00\x00\x20\x00\x00\x00\x20\x08\x06\x00\x00\x00\x73\x7a\x7a\xf4\x00\x00\x04\x3c\x49\x44\x41\x54\x78\x01\xbd\x57\x03\xcc\x65\x59\x0c\x7e\x6b\xdb\xb6\x6d\xc4\x5e\xc7\x5e\xdb\xb6\x3d\x46\xf0\xdb\xb6\x6d\xdb\xb6\x6d\xf3\xa2\xd3\x6f\xf2\xce\x33\x7f\x35\x69\xee\x61\xdb\x5b\x1f\x8d\xa3\xa0\xaa\xea\xa9\xb2\xb2\xf9\xa4\xac\x48\x3f\xf2\x37\x42\x92\xd7\xab\x78\x3c\x02\x94\xe4\x8d\x1a\xfe\x46\x61\x0f\x67\x70\x56\xb3\x53\xa0\xa8\xf2\x85\x4c\xf8\x7b\x45\x91\xfa\x88\x54\x72\x04\x70\x96\x05\xf9\x91\xef\x5e\x6c\x8f\xbe\x9d\x3f\x96\xde\x66\x22\x53\x82\x30\xaf\xd1\xf0\x74\x03\x95\xb4\x7a\x52\x62\xe5\xcf\x14\x5e\xf4\x21\x90\xc7\x3f\x51\x71\xab\x07\xef\xd5\x13\xce\x08\xc0\x5d\xa6\xf1\x2e\x68\x39\xc9\x5c\xb9\x98\xff\x20\x4e\x10\x5b\xdf\x5c\xa6\xbc\xa6\xe3\xf4\x6f\xc4\xdd\xf4\x99\xa7\xc6\x26\xfe\x13\x71\x17\xe5\x36\x1e\xe3\x3b\x4b\x3a\xa1\x59\x88\x04\xd0\x74\x94\xf9\xd5\x7c\xa1\x41\x5c\xae\xea\x0a\xa1\x5f\x82\xaf\x01\x71\xa7\xf0\x97\xa0\xab\xa9\xb2\x33\x08\x34\x84\x59\x9a\x98\xf6\xb5\x76\xff\x5c\x30\x67\xc7\xa2\x90\xfc\xb7\x41\x6c\x5b\x18\x9c\xff\x26\xb1\xc3\x1a\x08\xa1\x5e\x6c\xcb\xe6\x71\x82\xb9\x47\xc6\x2b\x20\xb0\x23\xe8\x9e\xf6\xa2\xa1\x10\x09\x16\x7d\x02\x0e\x07\x75\x01\x43\xf2\xdf\xc2\xc5\x1d\xc5\xa0\xbc\x37\x48\xd0\x87\x63\x9a\xaa\xfe\x42\xf6\xd8\x09\x62\xa8\xea\x0a\x36\xba\xf8\xb5\xcf\x39\x54\xd1\x11\x40\xab\xeb\x73\x34\x34\x55\x6b\x97\xd1\xe0\x54\x0d\xad\x6e\xcc\xc3\xfe\xf4\xb5\xef\xb9\x46\x7b\x15\x9d\x01\xba\xe8\x30\x0a\x51\xc4\xb9\xf0\x76\x53\x87\x8b\x2e\xfd\x82\x00\xe3\x73\x6d\x94\xdd\x70\xc8\xae\x00\xd9\xf5\x07\x69\x6c\xb6\x85\x00\xb1\x65\x5f\x1b\xed\xfd\x1c\x74\x95\x2e\x3a\x90\xb4\x74\xb6\x67\xbb\xf4\x60\x31\x8f\xc3\xc7\x94\x20\xa2\x00\xb0\x3f\xfa\x21\x87\xd5\xfd\x5f\xd4\x7d\x04\xa8\xed\x89\x30\xdb\xcb\x69\x38\xa2\xf5\x05\xb9\xef\xa4\x2f\x20\x75\x8a\x90\x43\x0c\x9b\x5e\x68\x19\x4c\x21\xc0\xef\xa1\x37\x39\x2c\x00\xb4\x08\x68\x1d\x4c\x33\xdb\xfb\x3b\xfc\x0e\x5d\x68\x32\xef\xa7\x35\x50\x05\x26\xc8\x62\x38\x60\x2e\x40\x1a\x01\x7e\x0b\xb9\xde\x61\x01\x7e\x0c\xbc\x1c\x4c\xa8\x75\x28\xdd\xd2\x3e\x7c\x49\x44\xc4\xcf\xd0\x40\x04\x26\x25\xad\x1e\x16\x0f\xf7\x8d\x97\x41\x52\xfa\xca\xe7\x6c\x87\x05\xf8\xd2\xfb\x0c\x84\x1d\x0d\x4c\x56\x59\xdc\x2f\x6a\x75\x13\x1a\x88\xd2\xa0\xaa\x61\x82\x7c\x6e\x7a\x70\x5f\xf4\x03\xc8\x09\xd4\x3b\x5e\x8a\x39\x7d\xee\x75\x9a\x91\x20\x60\x04\x14\x73\xec\xe1\x0c\xc6\x5d\xa3\x05\x60\x60\xd1\x77\x12\x2a\x7e\x20\x00\xf3\xae\xd3\xa0\x9c\x62\x82\xa2\x62\x78\x28\xb3\x6e\x1f\x71\x78\xd2\xf2\xda\x34\x1d\x8a\x7d\x1c\x6b\xd4\x3e\x9c\x49\x2b\xeb\xb3\xf4\x6b\xc8\x75\x60\x4c\x93\xf3\x5d\x34\xb5\xd0\xc3\xe3\x33\xd9\xee\xd7\xf2\xd9\x19\xea\x18\xc9\xc1\x59\x3a\x18\xfb\x28\x2d\xad\x4e\x82\x06\x65\xd5\x1f\x30\xa2\x1d\x56\xf8\xbe\x30\xc1\x98\x35\x01\xf8\xd2\x7e\x5c\xa6\xa5\xb5\x29\x26\xf6\x98\x56\x80\x6c\xe4\x03\xf8\x03\x04\x00\x73\x9a\x5e\xec\x85\x00\xf4\x2b\x0b\x00\xe1\x3a\x47\xf2\x70\x96\x0e\xc4\x3c\x42\x8b\xab\x13\xa0\x81\xd0\xb4\x2e\x00\xab\xd8\xaa\x09\xf6\xc7\x3c\xac\x35\x41\x09\xe6\xf4\x05\xab\xf7\x6b\x23\x13\x9c\x09\x34\x32\xc1\x17\x3a\x13\xe4\xc3\x04\x10\xde\xae\x09\x22\x30\x29\xb6\xe6\x84\x13\xc2\x09\xcf\x72\xda\x09\xfb\x27\x2b\x2d\x3b\x61\x8b\x70\x42\x29\x66\x77\xc2\x30\xc0\x66\x18\x22\x5d\x0b\x01\x10\x86\x92\x41\x22\xba\x73\x0f\x12\xd1\xed\x06\x89\x48\x7a\x5a\x9b\x8a\xe5\x3e\x2c\xe4\x36\x1e\x35\xbb\x50\xdd\x15\x4a\x80\x7d\xce\xa4\xe2\xc8\x7b\x6d\xa4\xe2\xc3\xc2\x01\x07\xc0\xdb\xa4\x18\x2d\xa1\x93\x31\xba\x10\x53\xfa\x25\xb6\x50\x60\x10\x19\x76\x99\x23\x7c\x47\x67\x9b\x09\x10\x57\xf6\x8d\x49\x31\xba\x92\xd6\x36\x17\x45\x12\xfa\xd9\xa8\xf3\x55\x54\x65\x0a\x1b\x95\x9d\x81\x66\xe5\x18\xa5\x75\x6d\x63\x81\x86\xa6\xeb\xec\x09\x80\x34\xcb\x67\x17\xa1\x39\xfa\xc6\xf7\x3c\xa3\xbd\xf2\x0e\x7f\x02\x80\x97\x59\xc7\xac\x18\x34\x24\x68\xa3\x76\xba\x21\x09\xcc\x7b\xcd\xb4\x21\xb1\xd8\x92\x25\x68\xe3\x93\xdc\xd3\x5f\xda\x31\xe6\xae\x69\xcf\x83\xa6\x70\xbc\x24\xf0\xb2\xda\x94\xa2\x71\x14\x42\x40\x13\xdb\xff\xf3\xd7\x0d\xfa\x41\xb9\xc5\x6e\x7b\x8e\xd6\x59\x08\x01\x75\xc1\x27\x7e\x16\x8e\xe9\x04\xa2\xfb\x41\x2b\xc7\x34\x0c\x98\xab\xd7\x3a\xfc\x30\xd1\x76\xaf\x24\xa2\x23\xb7\xf1\x08\xfd\x6d\x21\x4f\x58\x68\x38\x10\x6a\x7c\x67\xd1\xe0\x61\xb2\x99\x04\x9a\x5b\x79\x9a\xbd\x6b\xf2\x34\x43\x24\xa0\x9e\x23\x9f\xa3\xa8\x00\x31\xc6\x1a\x22\xc0\xe4\x69\xa6\xcc\x30\xf3\xf7\xb7\xf5\x58\x45\xb8\xe0\xa1\xc9\xc2\x0c\x90\x83\x80\x24\x83\x38\xdf\xd6\xe3\xd4\x82\x46\x4e\x47\x0f\x87\x36\x8a\xbf\x31\xa8\x64\x28\xa7\x40\x8c\x51\x58\x90\xdb\x19\x9f\xc5\x59\x47\xe9\x9e\x00\xa5\x79\x33\x5d\x9a\x4a\xe1\x22\x00\x00\x00\x00\x49\x45\x4e\x44\xae\x42\x60\x82\x01\x00\x00\xff\xff\x36\x42\xc8\xd7\x75\x04\x00\x00")
|
||||
|
||||
func publicFavicon32x32PngBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicFavicon32x32Png,
|
||||
"public/favicon-32x32.png",
|
||||
)
|
||||
}
|
||||
|
||||
func publicFavicon32x32Png() (*asset, error) {
|
||||
bytes, err := publicFavicon32x32PngBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/favicon-32x32.png", size: 1141, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x16, 0x5, 0x8a, 0x65, 0x62, 0x83, 0x24, 0xec, 0xdb, 0x3d, 0xb9, 0x9e, 0x94, 0x20, 0x89, 0x8b, 0x53, 0x6e, 0x25, 0xf, 0x15, 0x89, 0x4a, 0x4a, 0x7e, 0xd0, 0x5b, 0xaf, 0x16, 0xa9, 0x57, 0xba}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\x57\xdf\x6f\xe3\x36\x12\x7e\xf7\x5f\x31\x55\x1f\xda\xde\x2e\x47\x24\xf5\x8b\xd2\xda\x3e\x60\xd3\x3b\xa4\x40\x16\x5d\x60\x77\x73\x38\x1c\x0e\x07\x59\xa2\x6d\xee\xd2\xa2\x21\x52\x76\x92\x76\xff\xf7\x03\x29\x2b\x49\x73\xde\xe0\xba\xe8\x53\xe1\x44\x9c\x70\xbe\x19\x7e\xf3\x8d\x14\x8f\xe6\xdf\x10\x02\x97\xef\xdf\x5c\xc1\xda\xf4\x60\x5d\xed\x54\x03\xad\xb2\xae\x57\xab\xc1\x29\xd3\xc1\x6a\xe8\x5a\x2d\x61\x35\x28\xdd\x02\x21\xcb\xd9\xfc\x9b\x1f\x7f\xbe\x78\xff\xcf\xb7\x7f\x83\xad\xdb\xe9\xe5\x6c\xee\x17\xd0\x75\xb7\x59\x44\xb2\x8b\xfc\x86\xac\xdb\xe5\x0c\x60\xbe\x93\xae\x86\x66\x5b\xf7\x56\xba\x45\xf4\xe1\xfd\xdf\x89\x88\x82\xc3\x29\xa7\xe5\xf2\xdd\xb1\xde\x6c\x64\x0f\x1f\x7e\x9a\xc7\xe3\x8e\xf7\x69\xd5\x7d\x82\x6d\x2f\xd7\x8b\x68\xeb\xdc\xde\x56\x71\xbc\x36\x9d\xb3\xb8\x31\x66\xa3\x65\xbd\x57\x16\x1b\xb3\x8b\x1b\x6b\xff\xba\xae\x77\x4a\xdf\x2e\x7e\xde\xcb\xee\xc5\xbb\xba\xb3\x55\x4a\xe9\xcb\x82\xd2\x5f\xdf\x99\xa1\x6f\xe4\x8b\x0b\xd3\xca\x17\x6f\x7b\x53\x25\x94\xbe\xcc\x29\xfd\xf5\xbd\x72\x4a\x6b\x35\xec\x5e\xfc\x43\xae\x02\x3a\x1f\x23\x22\xe8\xa5\x5e\x44\xd6\xdd\x6a\x69\xb7\x52\xba\xe8\x81\xcc\x53\x0f\xb8\xdb\xbd\x5c\x44\x4e\xde\x38\xcf\x22\x3a\xb1\xc5\xd8\x8e\x05\x91\x41\x61\xd8\x7f\x92\x42\x35\xa6\x9b\x82\xd5\xae\xde\xc8\x78\xdf\x6d\x1e\xa2\xd7\xf5\xc1\x23\x48\xc2\x6f\x12\x8e\xc1\x65\xd5\x9d\xb4\x8b\x28\xec\x44\x10\x7f\x5d\x3e\x96\xdf\xb0\xfc\x37\xf9\xc2\xce\x94\x2f\x14\xe6\x2d\x08\x0d\x0d\xc6\x2f\xe1\x0a\xb0\x32\x37\xc4\xaa\x3b\xd5\x6d\x2a\x58\x99\xbe\x95\x3d\x59\x99\x9b\x57\x27\xaf\x39\xc8\x7e\xad\xcd\xb1\x02\xb2\x33\x77\xc4\x36\xbd\xd1\x7a\x55\xf7\x96\x1c\x64\xef\x54\x53\xeb\xa7\x48\x72\x5b\xc1\x08\x1b\x3d\x9f\xc3\xf5\x2f\x2f\xc7\xa5\x5a\xc9\xb5\xe9\xe5\xf4\x57\xbd\x76\xb2\xff\x22\x1d\xd5\x6d\x65\xaf\xdc\x94\x67\x36\xfa\xdb\xdb\x7b\xf0\xae\xee\x37\xaa\xab\xe8\xc4\x61\x55\x37\x9f\x36\xbd\x19\xba\xb6\x82\x6f\xd7\xb5\xff\x3c\x90\x98\xc7\x27\x19\xe6\xf1\x78\xf7\xce\xe6\x3e\x99\x5f\xed\x61\x03\x37\x3b\xdd\xd9\xf1\x7e\xac\xe2\xf8\x78\x3c\xe2\x31\x41\xd3\x6f\x62\x4e\x29\x8d\xed\x61\x13\x8d\x90\xea\xc6\x77\xe7\x1c\x90\x95\x65\x19\x07\x6f\x04\xe1\xa8\x45\xb4\x37\x56\xf9\x47\xac\xaa\x57\xd6\xe8\xc1\xc9\x57\x47\xd5\xba\x6d\x45\x5f\x6d\xa5\xda\x6c\x5d\x45\xc7\x7b\xb0\x95\x6b\x3b\xf6\x67\x6e\x6f\x77\x2b\xa3\xe1\xa0\xe4\xf1\xb5\xb9\x59\x44\x14\x28\x70\xff\x13\x81\x6a\x17\xd1\xd0\x69\xd3\x7c\x92\x6d\xb4\x3c\xd5\x1c\x82\xf6\xb5\xdb\x42\xbb\x88\xde\xb0\x0c\x05\x88\x4b\x96\x5e\x67\x98\x5f\xb0\x14\x38\x16\x34\x01\xc6\x31\xcf\x33\x60\xc0\x28\x30\x28\x30\x49\x52\x60\x90\x9f\xbc\x39\x64\x98\x5f\xe7\x5b\x7e\x20\x28\x28\xbb\x10\x90\x60\x91\xa5\x20\xb0\x28\x0b\x48\x7c\x50\xd2\x30\xe4\x34\xf1\x5c\x20\xf8\x38\x70\x64\x65\x79\x2d\x2e\xd3\x86\x60\x96\x25\x40\x09\x03\xcc\xd3\x9c\x30\x60\xc1\xc5\x8a\x86\x02\x66\x69\x89\x29\x17\x7e\x2f\x29\xb1\xcc\xbc\x37\xa1\x85\xf6\x98\x02\x13\x51\x5c\x64\x98\x17\x1c\x98\x40\x91\x33\xc8\x31\xcb\x80\x95\x50\x20\x03\x56\x6e\x33\x14\x8d\x4f\x01\x14\x98\x4f\x43\x7c\x16\x60\x3e\x0f\xb9\x4f\x93\x13\x9f\xa7\xc1\x8c\xa7\x04\x59\x5e\x60\x99\x25\x04\x8b\x6c\x34\xfc\x71\xf9\x75\xe9\x29\x5d\xb0\x02\x84\xe7\x08\x2c\xc7\x24\xe3\x20\x60\x14\xec\x2e\x5a\xce\x63\x2f\xe2\xa9\x09\xf1\xd8\x85\xe5\xec\xff\xea\xc9\x93\x8e\xfc\x21\xdd\xf8\x93\xe8\xfa\x86\x71\x10\x97\xe2\x3a\x0b\xb0\xdf\x75\x63\xdd\x45\xf1\x57\x75\xa3\xd1\xc6\xca\x73\xcd\x48\x31\x49\x05\xb0\x14\x45\x5a\x36\x04\xd3\xbc\xf4\xbf\x84\x21\xe7\x93\x95\x97\x05\xd0\x2b\xdf\x16\x86\x82\x95\x9a\x70\xcc\x33\x06\x09\x52\xfe\x6c\x48\x70\x3d\xba\x04\x80\xef\x9c\x77\x6b\x8e\x45\x26\x48\x82\x2c\x23\xde\x2c\x83\xc9\x9b\x73\x41\x62\x0a\xba\xdf\x86\xb0\x3d\x99\xf7\x04\x05\x32\x91\xe8\x40\x8f\x24\x48\x13\xd6\x3c\x17\x01\x13\xf5\x7b\xff\xd8\x79\xcf\x2e\x70\xf2\x9d\x61\x99\xd7\x7e\xb2\x9b\x2f\x86\x7c\x75\x67\x74\xdd\x6f\x24\xa9\xfb\xde\x1c\xcf\xf5\x27\x41\x9e\x01\xa3\x57\x39\x32\x5a\x02\xc7\x4c\x34\x04\x79\x2e\x08\xf2\xe2\x64\x14\x34\x88\x5d\x16\xe5\xe4\xc0\x82\xb2\xb0\x96\x79\x09\x54\x17\x28\x12\x28\xb0\xa4\xa2\xf1\x08\xe4\x05\x0b\x6b\x41\x3d\x7b\x1f\xa8\xc9\x23\x0c\x99\x40\x3e\x35\x0b\xe7\x84\x3c\xd3\xb9\x5e\xd1\x27\x07\x5f\x4d\x3c\xff\x00\x15\x48\x6b\x8e\xdd\x39\x29\x0a\x4c\x99\x80\x20\x44\x83\xbc\xe0\x64\x2a\x62\x34\xca\xa2\x04\x6a\x43\x71\x05\x65\xa1\xb0\x3c\x14\x56\x52\x01\xbe\xbc\x26\x48\x32\x31\x1f\x8d\x10\x74\x02\x91\x7b\xd0\x23\x85\x43\xaa\x20\xc0\xa8\xc8\xff\x1e\x19\x9e\x0c\x5f\xbe\x0e\x04\x49\x81\x2c\x65\xe7\x74\x78\x46\x88\x14\x78\x3a\x0a\xf1\x71\xd8\xed\x89\x33\xe7\xea\x2f\xa1\x38\xa4\x97\x19\x8a\x44\x27\x18\x9e\x9d\xac\xbc\x12\x90\x6b\x92\xc3\xf8\x61\x98\x32\xe2\x2f\x57\x1e\x05\x2c\xb9\xe4\xec\xba\xf8\x7d\x3d\x79\xa0\x22\x6f\xf6\x75\x77\xf6\x3f\x38\x05\x26\xb6\xe9\x81\xf0\x2d\x49\x0f\xfc\xee\x4d\x02\xf9\x81\x6f\x99\xb8\xce\x2f\x93\xbb\x5d\x02\xc5\x96\xf1\x03\xe1\x97\xf9\x81\x9f\x3f\x7c\x1e\x8f\x5f\xee\x73\x3f\x43\xf8\x61\xa3\x55\x87\x70\xe6\xc3\x24\xe9\xbf\x7c\x5a\x75\x08\x93\x48\xd3\xab\xbd\x03\xdb\x37\xbf\x1d\x36\xc9\x38\xa3\xe3\x47\x1b\x2d\x7d\xfe\x00\x5b\x3e\x83\xb7\xae\xee\xda\x5a\x9b\x4eLine truncated
|
||||
|
||||
func publicIndexHtmlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicIndexHtml,
|
||||
"public/index.html",
|
||||
)
|
||||
}
|
||||
|
||||
func publicIndexHtml() (*asset, error) {
|
||||
bytes, err := publicIndexHtmlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/index.html", size: 3503, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2a, 0x7, 0x6d, 0x5, 0x69, 0x46, 0x56, 0x1e, 0xc4, 0x45, 0x1a, 0xb5, 0x1f, 0xb9, 0xc6, 0x1, 0xfc, 0x42, 0x26, 0x9a, 0xf4, 0xac, 0xae, 0xa9, 0xe9, 0x26, 0x91, 0x76, 0x3e, 0xfb, 0xee, 0xf0}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicOauth2RedirectHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x56\x4d\x6f\xe3\x36\x10\xbd\xfb\x57\xbc\xf0\x10\x49\xb0\xab\xa0\x3d\x2a\x51\x82\x22\xd8\x43\x0a\x6c\xb7\xd8\x20\xbd\x04\xc1\x82\xa6\xc6\x36\x1b\x99\x94\x49\xca\x86\x6b\xfb\xbf\x17\x94\x64\x4b\xf2\x07\xea\x9e\xca\x43\x64\x0d\x67\x9e\x66\xe6\xbd\x21\xf3\x70\x93\x69\xe1\xd6\x05\x61\xe6\xe6\xf9\xe3\xe0\xc1\x3f\x90\x73\x35\x4d\x19\xa9\x9f\xde\x5e\xd9\xe3\xe0\x61\xac\xb3\x35\xb4\xca\x35\xcf\x52\x66\x4a\x15\x46\xde\x7a\xe7\xcd\xfe\xd9\x44\x5a\x61\x64\xe1\x1e\x07\x00\x10\x94\x96\x60\x9d\x91\xc2\x05\xf7\x95\x65\x52\x2a\xe1\xa4\x56\x30\xa5\x42\x18\x61\x53\x59\xfd\x5a\x72\x03\xcd\x4b\x37\xfb\x05\x29\x56\x52\x65\x7a\x15\xeb\x82\x14\x99\xd8\xae\xf8\x74\x4a\xe6\xed\xe5\x3b\x65\xd2\x90\x70\xdf\x2a\xbf\xfb\x5e\xac\x25\xe5\x5e\x1d\x77\x84\xb4\xc1\x89\xad\x7f\xed\x7b\x99\x06\xe1\xcd\xe4\xad\x5f\xc7\xd8\xf7\x96\xf6\x4f\x9e\xcb\x6c\x84\x45\x31\x02\x37\xe6\x7e\x70\xd8\x96\x13\x84\x77\x42\x67\xb4\x75\xfa\x93\xd4\x96\x8c\xd1\xe6\x2e\x76\x64\x5d\xd8\x64\x9f\x6b\xc1\x7d\xad\xf1\x8c\xdb\x59\xd4\xad\xd5\xaf\x45\xd1\xd6\xd9\xf3\x8c\x6d\x39\xf6\x3d\x53\xd3\xf0\xe7\xa8\xcd\x67\x07\xca\x2d\x9d\x03\x39\x44\x5b\xe2\x46\x5c\x8c\x6f\x73\xe7\xc6\x20\xc5\xa2\x88\x6d\x91\x4b\x17\xb2\x5b\x16\x75\xf7\xe2\x89\x36\x5f\xb8\x98\x85\x07\xb2\xc2\xe5\x48\x8e\x7e\x70\x63\x22\x6c\xe0\x9f\xef\xf2\x03\x29\x02\x16\x60\x88\x65\x6c\xa8\xc8\xb9\xa0\x30\x48\x83\x11\x02\x96\xb0\x20\xc2\xd0\xef\xde\xef\x5a\xe0\x2a\xd5\x45\x81\x27\xfc\xf6\xfa\xed\xf7\xb8\xe0\xc6\x52\x18\x6c\x3c\x82\xff\xe6\x5f\x5a\xaa\xb0\x0a\xdb\x05\xa3\x5e\x8d\x3d\xd9\x84\x9f\xb4\x1e\x61\xc9\xf3\x92\x8e\x1b\xba\x5f\x86\x5c\x69\x14\x3e\x69\x8d\x34\x4d\xc1\x18\x9e\xea\x00\x24\xc8\xc8\x53\xf6\xf6\xfd\xe5\x59\xcf\x0b\xad\x48\xb9\xb0\xc6\x3a\x41\xda\x1d\x2c\x11\x12\x6c\x3a\xdd\x6b\x44\xd1\x74\xb0\x56\x5c\x9a\xb6\xfa\xeb\x6b\x24\xec\x20\x37\x72\xf3\x7f\x63\x2b\x66\x34\xe7\xf1\x94\x5c\xc8\x26\xb9\x5e\xb1\xa8\xce\x96\x0b\x41\xd6\x3e\xeb\x8c\xd8\x76\xfb\x5f\x63\x4b\x37\xd3\x46\xfe\x5d\xa9\xa1\x82\xe8\x14\x71\x7b\x8b\x9b\x2e\x88\x6f\xc4\x71\x0b\x7d\xc2\x37\x4d\x7d\xe7\xda\xdb\xc4\x93\x31\xcf\xe3\xf0\x7c\xf7\xbd\xc7\x4b\x96\xf4\xf2\x55\x7c\x4e\xa7\x9c\xfa\x65\x75\x69\x04\x25\x75\xea\xec\xbc\x4f\x4e\x4b\xca\x13\xb0\x15\x37\x4a\xaa\xe9\x05\xaf\x39\x59\xcb\xa7\x1e\xea\xd7\x6e\x17\x30\xe7\x6b\x8c\x09\xa5\xb2\x7c\x42\x23\x14\xdc\x5a\xca\x50\xd3\xb6\xe2\x16\x62\xc6\xd5\x94\x32\x48\x05\x4b\x66\x49\x06\x7f\x1c\xb9\xa8\xc0\x35\x9a\xa2\x0c\x13\xa3\xe7\x55\x8d\x8d\x37\x3b\x15\x4e\x67\xe6\xd0\x9f\xbb\x7d\x8b\x17\xc5\xd9\xee\xfb\x95\x51\x4e\x8e\x2e\x1c\x60\x47\x34\x1c\x68\xac\xa5\xe8\x7f\x5d\xf4\x15\x3c\xcf\xc7\x5c\x7c\x86\x1b\xff\xde\xa3\x67\xd4\x3d\x14\x93\xee\xcb\x49\x29\xe7\x8e\xa0\x9a\x22\x57\x23\x7e\xf1\xa7\xe0\x57\x3b\x3d\xf1\x68\xca\xae\x4e\xc9\x4b\x83\xdb\x43\x40\x0a\xf6\xce\x86\xfb\x98\x21\xfb\x48\xc0\x30\x3c\x1b\xe8\xd7\x01\xfd\x47\x46\xf5\x15\xe4\xd9\x7f\xc2\x39\xf3\x10\x2c\x06\x43\x02\xa6\x34\xda\x81\x83\x21\x41\x72\xb9\x67\xd9\xcd\xa8\x21\x39\x06\x8b\xae\xfa\x74\x69\x24\x9e\xc0\xbe\x6a\x43\x90\x6a\xa2\x13\xb4\x15\x54\x9b\x09\x18\x8b\x4e\x49\x3a\xd2\x08\xfe\xef\x51\xab\x12\xfe\xb7\x41\xeb\xd3\xb5\xdd\x82\xbd\xf7\x47\x6f\xc2\x65\x4e\xd9\x47\x82\xeb\xba\x7c\xcd\x28\x1d\x7e\x9d\x53\xe2\x35\x52\xaf\x2e\xeb\xa4\xba\xcf\x9b\x73\x2e\x69\x6f\xf9\x6b\xe6\xa0\xcd\xa1\xb9\xbb\x45\xae\x2d\x85\x8d\xc7\x6e\xf0\x70\xb7\xff\x07\xe8\x9f\x00\x00\x00\xff\xff\x5d\x12\x72\x09\x54\x09\x00\x00")
|
||||
|
||||
func publicOauth2RedirectHtmlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicOauth2RedirectHtml,
|
||||
"public/oauth2-redirect.html",
|
||||
)
|
||||
}
|
||||
|
||||
func publicOauth2RedirectHtml() (*asset, error) {
|
||||
bytes, err := publicOauth2RedirectHtmlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/oauth2-redirect.html", size: 2388, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9a, 0x53, 0xfa, 0x6e, 0xf1, 0xfe, 0x72, 0x19, 0xa6, 0x82, 0xc8, 0x77, 0x99, 0xb3, 0x9d, 0x52, 0x2e, 0x51, 0xa2, 0x78, 0xd2, 0xa, 0xd4, 0xa8, 0xe9, 0xa8, 0x83, 0x64, 0xbe, 0xe9, 0xc, 0xee}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicSwaggerUiBundleJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\xfd\x09\x77\xdb\x36\xb7\x28\x80\xfe\x15\x89\x37\x87\x1f\x50\x41\x8a\xe4\x0c\x6d\x29\xc3\x3c\x69\x9a\xb4\x69\xe2\xcc\xe9\x10\x55\xf5\xa1\x25\xc8\x42\x4d\x81\x2a\x08\x3a\x76\x4c\xbd\xdf\xfe\x16\x26\x12\xa0\x28\xd9\xc9\xf7\x9d\x7b\xdf\x5b\x2b\x2b\x16\x49\x0c\x1b\x1b\x1b\x1b\x7b\xc2\x46\x77\x51\xb0\x99\xa0\x19\x03\x04\x09\x78\x1d\x64\xa7\x7f\x93\x99\x08\x30\x16\x57\x6b\x92\x2d\x3a\xe4\x72\x9d\x71\x91\x87\xe1\xd6\x97\x55\x36\x2f\x52\x12\xeb\x3f\x03\x53\x0e\x0b\x00\xa3\xc0\xb6\x59\x17\x9e\x93\x05\x65\x24\x0c\xf5\xdf\x41\xb2\x9a\xc7\xfa\x27\x98\x4c\x91\x80\xd1\xae\x7e\x63\xf3\x77\xf0\xee\x53\x72\x76\x46\xf8\x87\x67\x3f\x14\x6c\x9e\x12\xd5\x0f\x69\x7b\xbb\x01\x62\x49\x73\x54\x0d\x0b\x5e\x73\x22\x0a\xce\x3a\xf5\x40\xe1\xb5\xfd\xdd\x11\x80\xc3\x6b\xba\x00\x6c\xc2\xa7\xd0\x14\x94\xbf\xed\x78\xc6\x17\x09\xef\x50\x2c\x5f\xe1\x6b\x1a\x71\x94\x46\xdd\x11\x32\x1f\xa3\xeb\xcd\x66\x6c\x2a\x11\x59\x69\x96\xa4\x29\xa0\xb6\x2e\xa2\xa8\xfe\x2d\x20\xa2\x83\x14\x77\x87\xf5\xbb\x8d\x6c\x9b\xe1\xeb\xaa\x0d\x31\x58\x61\x82\xc4\x60\x86\x19\x12\x03\x8a\x5d\x88\x6d\x37\x1b\x24\x06\x73\xe7\x0b\x62\x88\xc3\x6b\x31\xc8\xe4\x4f\x58\x96\xaf\x14\x1e\x07\x1a\xb9\xaf\x79\xb6\x26\x5c\x5c\xa9\x62\xd7\xb3\x8c\x2d\xe8\x59\xc1\x93\xd3\x94\xa8\x51\xb0\x62\x45\xcc\xd3\x10\x9d\x11\x11\xf1\x0d\x94\xed\x33\xaf\x67\x0d\x25\x09\x43\x32\x38\x39\x21\xf9\xb1\x9e\xf6\x6d\xfc\x12\xd9\x69\x52\xa4\x62\x13\xb5\x7c\x74\x06\x39\x07\x0c\x05\x49\x80\x18\x44\x4c\x76\x97\x61\x9f\x06\x4d\x41\x33\x92\x35\xcf\x44\x26\x89\x62\xb0\x4c\xf2\x57\x9f\x98\x1d\x93\x46\xb6\xac\x20\xdb\x58\xe3\xe0\xee\x9c\xe6\x22\x40\x02\x88\x41\x8e\x47\x07\x07\xdf\xc2\x0d\x98\xb8\x2d\x23\x06\xaf\x83\x22\x27\x9d\x5c\x70\x3a\x13\xc1\xb8\xa6\x5a\x06\xbe\xbf\x07\x37\xa8\x59\xda\x2d\x30\x1a\x0e\xbf\x85\xa0\xa5\x90\xd7\xa4\x70\x70\x24\x27\x5b\x58\xa4\x34\xc6\x48\x17\xa0\x0b\x48\x87\xb2\x5c\x24\x6c\x26\x09\x5e\x40\x28\x96\x3c\xfb\xd4\x61\xe4\x53\xe7\xfd\xd5\x9a\x3c\xe1\x3c\xe3\x20\x78\x9c\x30\x96\x89\x8e\x1c\x6d\x27\xe9\xcc\xd2\x24\xcf\x3b\x49\xde\x49\x2a\x7a\x0e\xe0\xe6\xcb\x80\x52\x34\xcd\x31\x03\xf7\xee\x3d\x84\xa8\x9d\xcc\x1a\xb3\x4d\xa2\x6b\x33\x8e\x88\x6c\x36\x80\xc3\x71\xcb\xc0\x9c\x65\x45\xf4\x28\x17\x19\x07\x9a\x7c\x86\x63\x76\x28\x06\x29\x61\x67\x62\x39\x66\xbd\x9e\x26\x2b\x8e\xc5\x84\x4d\xc7\x7c\x50\x93\x22\x76\x1f\xca\xb2\x3b\x42\x7c\xe0\x12\xae\x44\x6a\x70\x91\xa4\x05\x09\x28\xeb\xf0\x30\x04\x7c\xf0\x89\x53\x61\xbe\x41\x04\xe4\x0a\x33\xb0\x41\x40\x10\x1f\x9c\x93\x2b\xc4\xe1\x66\xd3\xe4\x03\x42\xaf\x1d\xbb\xea\xc3\x90\x00\x87\xdc\x24\x79\x72\xf5\x0e\x71\x88\xc4\x66\xd3\x36\xf7\x35\x81\x54\xf8\x61\xe0\xe1\xf0\x1e\x44\x35\xf2\xa2\xee\xf0\xa6\x09\xaa\xf0\xc6\x6f\x3d\x07\x6d\x73\x4a\x31\x03\x0f\xbe\xfd\x16\xa2\x0c\x73\x40\x21\x4a\xd4\x1c\x3f\x80\x28\xc7\x1c\x24\x10\x15\x98\x81\xfb\xdf\x41\x94\x62\x0e\x8a\xd6\x29\xb4\xb4\x59\x73\xf0\xae\x65\xc8\x22\x0c\x59\x91\xa6\x5d\x8c\x45\x3b\xa1\xbe\x2b\xd6\x84\x4b\xbe\xcd\x49\x9e\xcb\xc1\xac\x8a\x5c\x74\x08\x15\x4b\xc2\x3b\xa7\xa4\x23\x6b\x77\x32\xee\x50\x2e\xea\x48\xca\x0e\x7a\xe0\x22\xa3\xf3\xce\x10\x63\x2c\xe2\xa0\x60\x9a\x77\xcd\x83\x08\x0c\x51\x5a\x4f\xa5\x80\x10\x8e\x49\x3d\x41\x18\x0c\x51\xee\x7c\x0e\x43\x77\xf6\x24\xb7\xcb\x05\x2f\x66\x22\xe3\xd1\xb5\x22\x98\x88\x78\x2c\x6f\x84\x2c\xdd\x48\xf6\xe7\x33\xc7\xe1\x66\x03\x91\x08\x43\x90\xd9\x0e\x62\x30\x44\x99\x4b\x57\x42\xee\x3f\x27\x27\xaa\xc7\x93\x13\x2c\xbe\x7a\x15\xca\x19\xf9\xcf\x2d\xc2\x8a\xbb\x10\x67\x96\xde\x92\x05\xe1\x84\xcd\xec\x54\xc9\x1d\xb2\xb3\x4c\x72\xf6\x2f\xd1\x39\x25\x84\x75\x28\xa3\x82\x26\x29\xcd\xc9\xbc\xd3\xef\xe4\x72\x26\x01\xf4\x4a\x48\xfe\x43\xe6\x01\x34\x6c\xbc\x2b\xca\xd2\xee\xd9\x5d\x8c\xf7\xcc\x20\xf5\x66\x30\x0c\xdb\x48\x2b\x26\x91\x68\x41\x5f\xd7\x5d\xaa\x3e\x37\x86\x1b\x30\x74\xf7\xf8\xf6\xe5\x64\xd8\x90\x9c\x48\x97\x70\xcc\xce\x32\xe3\x24\x11\xde\x9a\x87\x10\x39\xe5\x06\x0e\x09\x61\xb2\x71\x64\x86\x7a\x8e\x32\x40\x60\x4c\xa2\x57\x80\xc0\xba\x80\x3b\x89\x89\x2e\x70\xec\x15\x70\x97\x79\xae\x0b\xbc\xf7\x0a\xd0\x46\x17\x61\xd8\x2d\x74\xb9\xd7\x5e\xb9\xac\x2e\xd7\x05\x5d\xc9\x2f\xc9\x24\x65\x53\xa7\x44\xd2\x52\x62\xe6\x95\xc8\x5b\x4a\xac\xbd\x12\x45\x63\x3c\x65\x99\x7b\x50\xa4\x2d\x2d\x2c\xbc\x16\x66\x2e\x59\x0f\xd4\x6a\xc4\x52\x02\xa9\x4b\xac\x65\x09\xa2\x26\xca\x7c\x1e\x3a\xf5\x17\x00\x5e\xd7\x4f\x4b\x33\xad\x58\x94\xe5\x70\x5c\x6f\x32\xc7\x89\x58\x0e\x56\xc9\x25\x18\x22\x62\xf6\x9a\xbe\x80\x88\x63\xb9\x06\x1e\x71\x9e\x5c\x01\x26\xd7\xda\x70\x4c\x0f\xd9\x98\xf6\x7a\x90\x4f\xe8\x14\x93\x09\xed\x89\xa9\x95\x4f\x78\xdd\xcf\xdc\x81\xba\x22\x70\x32\xc8\xe9\x67\x0d\xa8\xfc\x81\xe5\x12\xa5\x82\x70\x49\x4a\x17\x8a\x80\xe4\xeb\xba\x91\x55\xcd\x54\x59\xb1\x3a\x25\xdc\xa1\x7b\x2b\x5c\x89\xa3\xa3\xa3\xe1\x58\x16\x09\x7a\x4c\x72\xd8\xb2\xbc\x7f\xf0\xfd\xfd\xef\x1f\x7e\x7b\xf0\xfd\x03\x8c\x31\xb3\xa2\xe9\xcb\xe4\xe5\x58\x60\x66\xb7\x32\x71\x38\x8c\x25\x90\x3d\x11\x89\xba\xc7\x8b\x4a\xec\xea\x0e\xeb\xb7\x67\x76\x55\xe9\x4f\x40\x8d\xa5\x2c\xf5\xb8\xba\x18\xcb\xfd\xef\x10\xf7\x19\x0c\x43\x67\x35\xfb\x05\xc4Line truncated
|
||||
|
||||
func publicSwaggerUiBundleJsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicSwaggerUiBundleJs,
|
||||
"public/swagger-ui-bundle.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicSwaggerUiBundleJs() (*asset, error) {
|
||||
bytes, err := publicSwaggerUiBundleJsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/swagger-ui-bundle.js", size: 1555141, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc7, 0x3b, 0xa0, 0x63, 0x96, 0x6a, 0x32, 0x2e, 0x38, 0x7b, 0x1a, 0x83, 0x36, 0x51, 0xae, 0x7a, 0x6e, 0xa7, 0xe8, 0xa4, 0x7b, 0x8b, 0x1b, 0x75, 0xa1, 0x2a, 0xd3, 0xa1, 0x4b, 0x57, 0x13, 0x35}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicSwaggerUiStandalonePresetJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xdc\xbd\xfb\x77\xdb\xb8\x95\x38\xfe\x7b\xff\x0a\x89\xdb\x32\x40\x04\xd1\xa2\xe4\xa7\x64\x58\x9b\xc9\x24\xb3\x69\x27\x8f\xcf\x38\xd3\x6e\x57\x51\x7d\x68\x0a\xb2\xd0\x50\xa0\x06\x04\x9d\x78\x4c\xed\xdf\xfe\x3d\x78\x91\x20\x45\xd9\xce\xb4\xdd\x9e\xf3\x3d\xc7\xc7\x22\x41\x3c\x2e\x80\x8b\x8b\xfb\xc2\x45\x77\x99\xb3\x58\xd0\x94\x01\x81\x08\xbc\xf7\xd2\xeb\xbf\x93\x58\x78\x18\x8b\xbb\x0d\x49\x97\x1d\xf2\x75\x93\x72\x91\xf9\xfe\xce\x97\x75\xba\xc8\x13\x32\xd5\x3f\x81\xc9\x87\x09\x80\x63\xcf\xd6\x59\x65\x5e\x90\x25\x65\xc4\xf7\xf5\x6f\x10\xad\x17\x53\xfd\x08\x66\x73\x44\xe0\x78\x5f\xbb\x53\xf3\x1b\x5c\x7e\x89\x6e\x6e\x08\xff\xf9\xcd\xa5\x88\xd8\x22\x4a\x52\x46\x3e\x70\x92\x11\xa1\x5a\x14\x0f\x7f\xdf\x02\xb1\xa2\x19\x2a\xbb\x0a\xef\x39\x11\x39\x67\x9d\xaa\xf3\xf0\xde\x3e\x77\x08\xe0\xf0\x9e\x2e\x01\x9b\xf1\x39\x34\x19\xe5\xb3\xed\xe3\xe4\x36\xe2\x1d\x8a\x65\x12\xbe\xa7\x63\x8e\x92\x71\x37\x44\xe6\xe3\xf8\x7e\xbb\x9d\x98\x42\x42\x16\x8a\xa3\x24\x01\xd4\x96\x45\x14\x55\xcf\x04\x22\x1a\x24\xb8\x3b\xa8\xd2\xb6\xb2\x6e\x86\xef\xcb\x3a\x48\xb0\xc6\x02\x91\x20\xc6\x0c\x91\x80\x62\x17\x62\xdb\xcc\x16\x91\x60\xe1\x7c\x41\x0c\x71\x78\x4f\x82\x54\x3e\xc2\xa2\x78\xaf\xc6\x36\xd0\x03\xfe\x81\xa7\x1b\xc2\xc5\x9d\xca\x76\x1f\xa7\x6c\x49\x6f\x72\x1e\x5d\x27\x44\xf5\x82\xe5\x6b\x62\xde\x06\xe8\x86\x88\x31\xdf\x42\x59\x3f\xab\xb5\xac\xa1\x14\xbe\x2f\x82\xab\x2b\x92\xbd\xd5\xa8\xb0\x3b\xbe\xaa\xd1\x28\x4f\xc4\x76\xdc\xf2\xd1\xe9\xe4\x02\x30\xe4\x45\x1e\x62\x10\x31\xd9\x5c\x8a\xeb\x78\x69\x32\x9a\x9e\x6c\x78\x2a\x52\x89\x28\xc1\x2a\xca\xde\x7f\x61\xb6\x4f\x7a\xb0\x65\x01\x59\xc7\x06\x7b\x07\x0b\x9a\x09\x0f\x11\x40\x82\x0c\x1f\x8d\x8e\xe1\x16\xcc\xdc\x8a\x11\x83\xf7\x5e\x9e\x91\x4e\x26\x38\x8d\x85\x37\x29\x91\x80\xdb\x6e\x12\x67\x32\x58\x9e\x24\x5d\x2c\xfb\x6d\x00\xf9\x4c\xee\x32\x20\x60\xb0\x4c\xf9\xab\x28\x5e\x81\xb2\x6e\x06\xef\xc5\x8c\xcd\x77\x3f\x08\x78\x4f\x66\x97\x82\x53\x76\x03\x04\x9c\x63\xb6\x85\x5b\x88\xc8\xb6\x6c\x98\xea\x0e\xd3\x25\x20\x98\x14\xc5\xfd\x16\xb9\x6d\x91\x96\xb6\x74\xee\x7e\x88\x31\xce\x02\xca\x16\xe4\xeb\xfb\x25\x20\x10\x8a\x15\x4f\xbf\x74\x18\xf9\xd2\x49\xc1\xb3\x9f\xd9\x67\x96\x7e\x61\x9d\x74\xa3\x5a\xf1\x9e\xf5\x48\xef\x99\xd7\xa1\x59\x67\x4d\x44\x87\x32\xbd\x42\xa9\xfa\x98\x2e\xe5\x77\x21\xbf\xff\xf5\xc5\xdb\x1f\x3b\x6a\xa4\x9f\x49\x38\xe5\x32\x0a\x44\x74\x83\x85\x7e\xfc\x4c\xd9\x02\x13\xf5\x53\x14\x72\x74\x74\x32\x27\x59\x9a\xdc\x12\x4c\xec\x53\x51\xec\x4c\x7f\x77\xb0\xd5\x99\xe3\x94\x65\x82\xe7\xb1\xc0\xa4\x7a\x76\x0a\xd4\x10\x5d\x95\xa0\x2c\x13\x11\x8b\xc9\xfb\x25\x26\xce\x8b\x0b\xc1\x86\x93\x05\x8d\x23\x21\x61\x28\x9f\xeb\x20\x6e\x24\x79\x60\x42\x01\x69\x9e\xdd\x0c\x06\x71\x2f\xc5\x5d\x22\x2b\x71\x5f\xdd\x6c\x99\x4c\x78\x91\xd0\x28\x23\x19\xe6\x12\xcf\x9c\x04\x9d\x11\x22\x35\x37\x51\x39\x37\xe5\xd0\xed\x99\x23\xf9\x49\xcd\x80\xcd\x67\x66\x2a\xdb\x90\x98\x2e\x29\x59\x74\x96\x29\x6f\x9f\x22\x89\xb1\x29\x66\xe0\xf0\x14\xa2\x0c\xcf\x3c\x59\xda\x43\x9e\x99\x06\x0f\x79\xe5\x08\x7b\xc8\xab\x86\xce\x43\x5e\x39\x4a\x2a\xbb\x19\x10\x0f\x79\x6e\xc7\x3d\xe4\xb9\xdd\xf3\xe6\x28\xc2\x33\x2f\x8b\xa3\x24\xe2\xf2\x1b\xf9\x25\x27\x2c\x96\xd9\xd6\xd1\x66\x43\xd9\x8d\x37\x9f\x88\x72\x6b\xa0\x5b\xd4\x5c\x7b\x12\x5c\x8e\x19\x08\x8f\x46\x10\x78\x5f\x3e\x67\x1e\x44\x54\xbe\x0f\x4e\x21\x92\xfd\x38\x82\xc1\xe5\xdd\xfa\x3a\x4d\x50\x86\x5b\xb6\x95\x74\x02\xaa\xfa\x5b\x30\x86\xcf\xc4\xbc\x28\x80\xfc\xc1\x99\xef\xa7\xfa\x35\x9b\xa6\x63\x0a\x81\xa7\x6b\x0e\xbc\x9e\x80\x70\x0b\x83\x4c\xa4\x9c\x60\x5e\x87\xb2\xa4\x75\x65\x33\xf7\xb7\x84\x67\x34\x65\x63\x6f\x18\x1c\x05\x23\x6f\x3b\xf1\x58\xbe\xbe\x26\xbc\x02\xeb\xea\x8a\xf8\x3e\xb8\xba\x22\x98\xc1\xfd\x9d\x3e\x32\x7d\x3d\xd1\x5d\x0d\xd5\x94\x31\x30\x1a\x40\x14\x61\x06\x8e\x43\x88\x72\xdc\x56\x38\x46\x09\x5a\xa1\x25\xda\x60\xe1\xe7\xc1\x6b\xb4\x50\xbf\x3f\xa0\xb5\xfa\xbd\x44\xb7\xea\xf7\x03\xba\x53\xbf\xdf\xa1\x1b\xbc\x98\xf2\xf1\x7a\xca\x67\x44\x8f\x06\x99\xe3\xfb\x2d\x1c\x03\x9d\x70\xbf\x85\x15\x45\x45\x5f\xf1\x62\x4a\xc7\x54\x67\xa5\x26\x2b\xba\xc6\x5f\xab\x3c\x45\x01\x9c\x37\xf9\x7d\xb2\xf0\x7d\xc0\x30\x81\x93\x65\xca\x41\x2c\xe9\x09\x83\x09\xee\x6e\x7c\xff\xc6\xf7\x6f\x53\xba\xe8\x0c\xba\x18\xdf\xcc\xe2\x39\x5a\x61\x90\x4c\x6f\xc6\x0c\xca\x97\x25\xbe\xf3\xfd\x64\x1a\x81\x15\xe2\x70\x7c\xeb\xfb\x2d\x93\xbc\x9a\x46\xe0\xb5\x49\x55\x14\x1e\xad\xe0\x78\x85\x6e\x7c\x3f\x03\x37\x28\x46\x2b\x24\xbb\xf9\x33\x44\x5f\x67\xf1\xbc\x8b\x57\xbe\x9f\x82\xaf\x28\x46\x4b\x88\x6e\x7d\xff\xda\x26\x02\xf9\x84\x57\x70\x3b\xe1\x41\x2c\x67\x9a\xa2\x3c\x78\x8d\x43\x94\x07\x3f\xe0\x21\xca\x83\x4b\x7c\x88\xf2\xe0\x03\x3e\x45\x79\xf0\x1d\x0e\x8f\x51\x1e\xfc\x05\x8f\xe4\x97\x9f\xf1\xb1\xfc\xf4\x13\x0e\x87\xa7\xa8\xc2\x84\x7c\xff\xdc\x8e\xf4\xdc\x1e\x0e\xcd\xdc\x0e\xe4\xdc\x1e\x78\x07\x37\x28\x6a\x4c\xa9\xdc\xaa\x35\x43\x61\x76\x85\x14\x08\x28\x31\xc0\x3b\xf7\x7a\xc4\xec\x3c\x9e\xd7\xc5\x98\xf9\x3e\x88\x7a\xd8\xeb\x78\x3d\xd6\x7b\x86\xbd\x67\x3d\x53\x82\x43\x49\xc2\x92\x28\x26\x20\x43\x9e\xff\x4b\x9e\x8a\x89\x07\x7b\xcf\xLine truncated
|
||||
|
||||
func publicSwaggerUiStandalonePresetJsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicSwaggerUiStandalonePresetJs,
|
||||
"public/swagger-ui-standalone-preset.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicSwaggerUiStandalonePresetJs() (*asset, error) {
|
||||
bytes, err := publicSwaggerUiStandalonePresetJsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/swagger-ui-standalone-preset.js", size: 440915, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa9, 0xd0, 0xb, 0x24, 0x4, 0x3b, 0xa, 0x54, 0x83, 0x5c, 0x3, 0x32, 0x6f, 0x41, 0x76, 0x93, 0xe, 0x2c, 0xb0, 0xd1, 0x89, 0xb7, 0xff, 0xc4, 0x71, 0xfc, 0x33, 0x2b, 0x90, 0xe4, 0xd3, 0x79}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicSwaggerUiCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x7b\x73\xdb\x38\xd2\x2f\xfc\xff\xf9\x14\x3a\xbb\x95\x9a\x99\x1d\x53\x21\x75\x97\x55\xf3\xd4\x91\x63\x27\xe3\x6c\xe4\xc4\x76\x2e\x93\x6c\x4d\x4d\x51\x24\x24\xd1\x06\x48\x3e\x24\x75\xb1\x7d\xf6\xbb\xbf\xc5\xab\x70\x69\x80\xa0\xac\xcc\xce\x79\xeb\xd9\x6c\x32\x36\xf1\xeb\x46\xa3\xbb\x01\x34\x1a\x20\xd8\x8e\xb7\xf6\x72\x89\x22\x63\xed\x3d\xfd\xaf\x56\xeb\xe5\x3f\xfe\x77\xcb\x0f\x22\x62\x63\xef\x11\xb5\x9d\x38\x6e\x6d\x86\x6d\xb3\x6d\xb6\xfe\x6f\x6b\x76\xf9\xb1\xf5\xce\x73\x90\x1f\xa3\xd6\xff\x6d\x2d\xbd\x64\xb5\x9e\xb7\x9d\x80\xbc\xf4\x91\x13\x60\x3b\x7e\xc9\xd2\xfd\xe3\xe5\x22\xf0\x13\x63\x61\x13\x0f\x3f\x9c\xbe\x0f\x91\xdf\xba\xb5\xfd\xf8\x24\xb6\xfd\xd8\x88\x51\xe4\x2d\x26\x4e\x80\x83\xe8\xf4\xef\xdd\x79\xcf\xea\x5b\xff\xa6\x24\x69\xad\x12\x82\x9f\xb0\xe7\x23\x63\x85\xbc\xe5\x2a\x39\xb5\xda\x56\x7f\x62\x90\xd8\x48\xd0\x2e\x31\x62\xef\x11\x19\xb6\x7b\xb7\x8e\x93\x53\xcb\x34\x5f\x4c\x8c\x2d\x9a\xdf\x7b\x09\x5c\xca\x70\x9e\x07\xee\xc3\x13\xb1\xa3\xa5\xe7\x9f\x9a\x4c\x89\x1d\x25\x9e\x83\xd1\x09\xf3\x2c\xf6\x5c\xf6\xc9\x22\x08\x12\x14\x31\x8f\x56\xc8\x76\xb9\x47\xbe\xbd\x61\x7e\x8f\x91\x93\x78\x81\xff\xe4\x7a\x71\x88\xed\x87\xd3\x39\x0e\x9c\x7b\xb6\xc5\xd6\x53\xa6\xaf\x54\xf8\xd3\x0e\x22\x93\x42\xc6\xf6\x60\x88\x48\x8b\x95\x74\xe1\x2d\x1d\x3b\x4c\x19\x9e\x70\x8f\xd7\x11\x2b\x2d\xb1\x3d\x55\xa5\x39\x45\xa9\x0e\x0b\x91\x56\xcf\x0c\x77\xac\x5c\xd1\x53\xa9\xdc\x79\xb0\x4b\xc5\xf3\xfc\xe5\xa9\x13\xf8\x09\xf2\xb3\x47\x13\xc9\xe3\xc2\x70\xe6\x24\xd8\xa0\x68\x81\x83\xed\xe9\xc6\x8b\xbd\x39\x46\x0c\xfb\x30\x42\x4f\xb4\x9f\x90\xc0\x0f\xe2\xd0\x76\xd0\x49\xf5\xd3\x64\xaf\x17\x0b\x11\xd6\x64\x4f\x73\xdb\xb9\x5f\x46\xc1\xda\x77\x8d\xdc\x9b\x92\xc8\xf6\xe3\xd0\x8e\x90\x9f\xb0\x5e\xe1\x22\x27\x88\xec\x54\x69\x46\x7c\xef\x85\xa7\xc1\xfc\x0e\x39\x49\xcc\xf2\x9b\xcf\xa3\x7f\x25\x5e\x82\xd1\xef\x4f\xf3\x20\x72\x51\x64\xcc\x83\x24\x09\xc8\xa9\x1f\xf8\x68\xc2\xf1\x39\x5d\xfb\x2e\x8a\x52\x2f\x95\x97\xb4\xdc\x20\x49\x90\xcb\xba\x20\xeb\x1a\x49\x14\xf8\xcb\x5c\x09\xdb\x5c\x67\x9e\xbf\x42\x91\x97\x4c\xe8\x67\xf3\x00\xbb\x28\x62\xf8\x38\x01\xe7\x9b\xf7\x73\x97\x65\x6d\x93\xf0\x19\xda\x75\x17\x7e\xe1\x93\xc9\x03\x46\xa7\x5e\x62\x63\xcf\xf9\x37\xeb\x5e\xd1\xbd\x68\x82\xbf\x2f\x16\x66\xd9\xb7\x4d\x93\x75\xdd\x98\xd8\x18\x53\x9e\x3e\xe2\xba\x67\xbc\xe6\xb4\xb3\x0e\x29\xf4\xb0\xff\x62\x42\x8f\x0a\xe6\x24\x0c\x62\x2f\xd3\x78\x84\xb0\x9d\x78\x1b\x34\xd9\xa0\xb4\x1f\xdb\xd8\xb0\xb1\xb7\xf4\x4f\xe7\x76\x8c\x52\x12\xbe\x96\xa7\xc2\xb0\x46\xbb\xd3\xe7\xda\x9d\xd6\x99\x04\xe1\xa9\xd1\xe6\x4b\xec\xb5\xeb\x05\x8c\x7c\x1b\xcf\x45\x41\xd5\xc3\x3c\x3f\x93\x4e\xec\x68\x19\xe1\xa9\x1f\x24\x3f\xfe\x2b\xed\x23\x51\x80\xe3\xdf\x7f\xaa\xc8\x32\xe7\x2a\x9b\xc4\xd0\x79\x64\x59\x3a\x62\x6e\x84\x14\xca\x0a\xbb\x59\x66\x7c\x4f\xa3\x20\x48\x7e\x7a\xaa\x3a\xdb\xca\x73\x5d\xe4\xb3\x7e\xb7\x4e\x12\x6e\xc8\xf0\xfc\x70\x9d\x30\x4f\x82\x30\x49\x8d\x19\x72\xc3\x17\x46\x0e\x8b\x4b\x3d\xde\x8e\x90\xcd\xf8\x17\x35\xb6\x53\x6e\x95\x0e\xd0\xc2\x58\x0e\x0e\xc1\x32\x09\x9f\x94\x63\x08\x40\x95\x0b\xfc\x94\x75\xcb\x6c\x44\x58\x04\x11\x11\x95\xf7\xaf\xe4\x21\x44\xbf\x44\x28\x46\xc9\xef\x27\x62\x41\xbc\x9e\x13\x8f\x2b\x01\x2a\x4b\x27\xab\x82\x22\x2f\xfd\xbd\x1a\x32\xed\x30\x44\x76\x64\xfb\x0e\x3a\xcd\x8b\x80\xea\x0b\x9a\xd3\x53\x83\x04\x8f\xc6\x22\x70\xd6\xb1\xe1\xf9\x3e\x37\xa3\xd0\xa2\x6a\x41\x0b\xe1\x6b\xb0\x79\xe5\x22\x48\xf4\xba\x49\x68\xbb\x6e\x3a\xc8\x9b\x8a\x36\xec\xd9\x44\x9e\xbf\x94\x37\xa0\x16\x57\x4a\xaf\x00\x16\xa2\xb3\x88\xa7\x60\x9d\xa4\xbe\x76\x6a\x85\xbb\x62\xec\x6d\x9d\x65\xc0\x8f\x68\x97\x70\x93\x1f\xc2\x6e\x8c\x92\xa7\xb2\x61\xed\x6e\x1f\x91\x56\x7b\x98\xfd\x3b\x10\x86\x05\x8c\x96\xc8\x77\xa1\xd9\xb0\x9a\x2a\x98\xc9\x90\x7a\x9a\x0f\x86\xe5\xb0\x5e\x76\xfb\xc4\x9e\x63\x34\x21\xf6\xce\xd8\x7a\x6e\xb2\xca\x3b\x4a\xa5\xe5\xc9\x76\xe5\x25\xc8\xc8\x06\xe9\xd3\x3c\xb4\xe2\x66\xce\x60\x19\xa1\x38\x06\x07\x1f\xad\x51\xb0\xea\xc2\x55\xef\xb2\xd7\x49\x00\x58\xd7\x59\x21\xe7\x7e\x1e\xec\xa0\x3e\x12\xd9\xae\x17\xfc\x7e\x90\x56\x54\x0e\xe5\xaf\xc9\x1c\x45\xa9\xf7\x16\x8c\x33\xaf\x34\xe2\xd0\xf3\x0d\xa0\x0b\x4a\x88\x82\x75\xc2\x12\x3d\x15\x43\x90\xa4\xa1\x31\xb2\x23\x67\x05\x76\xdf\x54\x59\x99\xc7\x4c\x0a\x0f\x33\x82\xc5\x22\x46\xc9\xa9\xd1\xe1\x22\x26\x86\xd5\x5e\x96\xfc\x81\xe1\xa4\xdc\xb0\xbc\x0d\x32\xba\x7d\x70\x01\x49\x27\x8c\x6c\x7b\xfa\x85\x87\x91\xb1\x0e\x71\x60\xbb\xa5\x12\xa4\xa3\x53\x36\x6a\x97\x7e\xca\xc6\x02\x28\xb1\x3d\x1c\xb3\xc1\x25\xf2\xd7\x8a\xe0\x32\x5e\x13\x62\x47\x0f\x15\x02\x7b\x71\x62\x78\x09\xd7\xab\x1c\xdb\xdf\xd8\xb0\x13\xb3\x5a\xcd\x27\xb4\xdf\xb9\x49\x88\x84\xd8\x4e\x10\x33\x93\x32\x64\x6d\x17\xcd\xd7\xcb\xd6\x3f\x98\x71\x21\x0e\xb0\xe7\xb6\x96\x01\x76\x01\xac\x91\xf5\x3b\x90\xe2\xef\x8b\xc5\x02\xa2\x98\x63\xdb\xb9\x87\x29\xf8\xf8\xa7\xa0\x58\x46\x9e\x4b\x05\x4e\x74\xd4\xda\x5a\x47\xf8\x47\xd7\x4e\xec\x53\x8f\xd8\x4b\xf4\x32\xf4\x97\x93\xb4\xfb\x0e\x7a\x27\xde\xe7\xb3\xf7\x37\x5b\xf3\x9f\x6f\x96\xc1\x74\x3a\x9d\x5e\xdd\x7e\x5a\x5d\x7c\x5a\xa6\x3f\x66\xff\x5c\xbe\x9a\x7e\Line truncated
|
||||
|
||||
func publicSwaggerUiCssBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicSwaggerUiCss,
|
||||
"public/swagger-ui.css",
|
||||
)
|
||||
}
|
||||
|
||||
func publicSwaggerUiCss() (*asset, error) {
|
||||
bytes, err := publicSwaggerUiCssBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/swagger-ui.css", size: 153540, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x0, 0x44, 0x96, 0x15, 0x88, 0xba, 0xa, 0x54, 0xb7, 0x45, 0x18, 0x63, 0x69, 0x98, 0x6a, 0x19, 0xca, 0x51, 0x11, 0xc8, 0x22, 0x3d, 0x11, 0x31, 0x1b, 0x2c, 0x55, 0xa5, 0xa, 0xb6, 0xab, 0x2a}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicSwaggerUiJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xbd\x8b\x77\xdb\xb6\x92\x30\xfe\xaf\xc8\xd8\x2e\x0b\xd4\x30\x2d\xd9\x71\x1e\x54\x50\x6d\x1e\x4e\x9b\x6e\x12\xe7\xc6\x4e\x7b\xef\x2a\xba\xfa\x60\x12\x92\xd8\x50\xa0\x0a\x82\x7e\xd4\xd4\xef\x6f\xff\x1d\x3c\x48\x82\x14\x65\x3b\x69\xef\xbd\xfb\xed\xb7\xe7\xf8\x58\x24\x88\xe7\x60\x30\x98\x19\x0c\x66\x76\x66\x39\x0f\x65\x9c\x72\xc8\xb0\x44\x37\x20\x3d\xff\x95\x85\x12\x10\x22\xaf\x57\x2c\x9d\xf5\xd8\xd5\x2a\x15\x32\xf3\xbc\x8d\x2f\xcb\x34\xca\x13\x36\x32\x3f\xbe\xcd\x47\x24\x14\xec\xb7\x3c\x16\x0c\x02\xc1\x68\x28\x01\xc2\x55\xc2\x4a\xa4\xab\x3d\x55\x3a\x73\x53\xe3\xe5\x32\x97\xf4\x3c\x61\x6e\xa2\x2e\xbb\x57\x7d\xda\x53\x45\x37\x4a\x0a\x96\xb1\x84\x35\xdb\xc8\x98\x88\x69\x12\xff\xce\xf6\x98\x10\xa9\x70\x3f\x45\x8c\xad\xf6\xd8\x95\x64\x3c\x72\x93\x7f\xcd\xf6\xae\xe9\x32\xd9\x6c\x3d\x4c\x93\x84\xae\xb2\x46\xbf\xb2\x4b\x3a\x9f\x33\xb1\x17\x26\x31\xe3\x8d\x86\xcf\x69\xc6\x1e\x3e\xd8\xfb\xb5\xd1\xc3\x30\xa1\x59\xc6\xe9\xb2\xd9\xef\x30\x5d\x2e\x53\xbe\xa4\xe2\x73\x23\x35\xcb\x7c\x96\x85\x74\xd5\x68\x30\x66\x8c\x3d\x3a\x7a\xd0\x48\xca\xa8\x10\xf4\xda\x4d\x5a\xb2\x65\x1a\xff\xce\x3a\x40\x18\xb1\xf3\x34\xe7\x21\xdb\x8b\xf9\x2a\x97\x1d\xdf\xd3\xe5\xad\x70\xcf\x05\xdb\x0b\xd3\xe5\x2a\xe5\xad\xf1\x9a\x9c\x6a\x10\x51\x7a\xc9\x37\xbf\x08\x16\xe5\x57\x9b\xc9\xd9\x2a\x89\xe5\xde\x8a\xf2\x56\x5f\x37\x32\x47\xf9\xd5\xde\x16\xd4\x98\x33\xce\x04\x95\xa9\xd8\x13\x39\x97\xf1\xb2\xf5\x59\xf5\xa9\x5d\x28\xa3\x3c\x96\x0a\x2b\x16\xb2\x39\xd5\xb9\x48\xf6\x56\x54\x34\x67\xf9\xaa\x99\xe7\x6a\x99\xec\x9d\xe7\x72\x6f\x25\x98\x94\x31\x6b\x20\x95\x42\x9d\xd6\xa4\xff\xce\x78\x16\x8a\x34\x49\x00\x42\x01\x28\xd7\x57\xbd\x70\x22\x36\x8b\x39\xf3\x3c\xf3\xeb\xd3\x65\x34\x32\x8f\x70\x6c\xd7\x0c\x76\x97\x0a\x76\x56\x08\xbe\x65\x61\xe0\x7a\x3d\xe0\x8d\x65\x80\x1b\xd8\x8f\x2b\xa4\xc7\x6d\x5c\xc7\x6d\x14\xc7\x0e\x66\x63\x17\xa1\xb1\x8b\xc7\xd8\x45\x5f\x5c\x61\x2d\xae\x90\x15\xd7\x38\x8a\xbb\x51\x13\x3b\x18\xd9\x31\xce\x26\x22\xe2\x36\xfe\xe1\x06\xda\xe1\x4d\x6c\xc3\xa0\xfe\xd4\xc4\x2d\xdc\x89\x52\xd8\xc5\x24\xdc\x42\x20\xec\xe0\x0d\xd6\xe8\x82\x37\xb1\x04\x57\xc8\x81\x1d\x9c\x98\x60\x89\x82\x6d\x64\x76\x64\x7f\xfd\x53\x33\x09\x1f\x5f\xbf\x48\x05\xfb\x5f\xa2\xfa\xbf\x44\xf5\x7f\x89\xaa\x43\x54\xd9\xc6\xfa\x60\xbe\x86\x04\x66\x63\x77\x41\x4c\x30\xf3\xab\xe1\xaa\x6f\xdb\x57\x80\xca\x5a\xa2\xbe\xca\xd9\x46\xf9\x89\x4a\x74\x91\x5d\x27\x94\x68\x3e\xa9\x2b\xaf\x10\x5c\xa7\xb5\x50\x5b\xa7\xd5\x48\xad\x1a\xad\xb1\x59\xbd\x54\x48\xac\x32\x3a\xc8\xab\x47\x62\xb0\x56\x3d\x19\x64\xc5\xcc\x2f\x71\xb4\x6e\xbf\x85\x9b\x4e\xcf\x14\x56\x4e\x3a\xa1\xd0\xc4\x47\x27\x4f\x85\x89\x4e\x9a\x41\x2b\x27\xc1\xc1\x3e\x03\xc5\x28\xbf\x32\x5f\x9b\xe8\x66\x8b\x6c\x22\x9a\x29\x55\x62\x98\x06\x5b\x03\xb3\x74\xc1\x1a\xa7\x54\xf6\xab\x65\xa2\x12\x37\x90\x48\x67\x2d\xd1\x47\x65\xac\xf0\x06\xad\xa1\x5c\xc4\x19\x76\xf9\x5d\xcc\xb1\xc0\x14\xa7\x38\xc7\x31\x4e\x70\x86\x43\x3c\xc3\x11\x5e\xe1\x05\x5e\xe2\x0b\x3c\xc7\xd7\x78\x8a\xcf\xf1\x31\x3e\xc5\x57\xf8\x05\xbe\xc4\xbf\xe2\x67\xf8\x03\x3e\xc1\xef\xf1\x19\x7e\x8b\x6e\x04\x93\xb9\xe0\xbd\xba\x4a\x74\x53\x3e\xf7\x24\x14\xe8\x26\x9e\x41\x3e\x16\x13\x64\x33\xaa\xe7\x92\x53\x1e\x5e\x50\xd1\xa3\x44\x25\x91\x9b\x38\x10\x38\x09\x76\x06\xd8\x7e\x0c\x6e\xd6\xeb\xa1\x2d\xc4\x54\xa1\x90\x26\x09\xa4\x65\x59\x4c\x71\xfd\x2c\x11\xa6\x7e\x42\x76\xfa\x75\xda\x5a\xd5\xcd\xc9\x4d\x55\x87\xf4\x97\x84\x61\xe9\x87\x84\x63\xe9\xc7\xc4\xed\x71\xd9\xcc\x1a\x4b\x3f\x72\xbe\x28\xe0\xa0\x1b\xe9\xa7\xea\x11\x15\xc5\x89\xde\xb2\x7c\xc3\xaa\xbc\x17\xe9\x8a\x09\x79\xad\xb3\xdd\x84\x29\x9f\xc5\xf3\x5c\xa8\xe9\xd3\xa3\xe0\xf9\x92\xd9\xb7\x3e\x9e\x33\x19\x88\x35\x52\xf5\xf3\x46\xcb\xa6\x97\xcc\xf3\x98\x3f\x9d\xb2\xec\xad\x11\x28\xaa\x1c\x75\xd7\x54\xa3\x34\x4f\xe4\x3a\xe8\xf8\xe8\x0c\x32\x82\x1c\x03\x0a\x30\x47\x98\xab\xe6\x52\xd2\x94\x6e\x6c\x46\x3b\x92\x95\x48\x65\xaa\x56\xbf\xbf\xa0\xd9\xc9\x25\x2f\xc7\x64\x80\xad\x0a\xa8\x3a\x56\x04\xec\x47\x71\x26\x01\x96\x50\xfa\x19\x79\xd8\x7f\x82\xd6\x70\xdc\xac\xb8\x96\x7f\xda\x1b\xf5\x1a\xdf\x99\xd3\xdd\xc1\xd7\x2d\xfc\x44\x37\x20\xcf\x58\x2f\x93\x22\x0e\x25\x18\x4a\x07\x50\x6a\xc6\x65\x09\x99\xd6\x40\xe3\x19\xdc\x81\xac\x17\xf3\x4c\x52\x1e\x2a\x06\x43\x22\x24\x17\x22\xbd\xec\x71\x76\xd9\x3b\xbb\x5e\xb1\x63\x45\xd6\x20\x78\x41\x39\x4f\x65\x4f\x0d\xb9\x47\x7b\x9a\x18\xf5\x68\xd6\xa3\x15\x52\x03\xb4\xfe\xb2\x4e\x69\xc4\x16\x84\xc3\x83\xfe\x11\xc2\xb4\x13\xd7\x5a\x53\xce\x82\x1b\x3b\x8e\x80\xad\xd7\x50\xa0\x61\xc7\xc0\x9c\xb5\xc5\xcc\x28\x67\xa9\x80\x06\x87\xfa\x43\xfe\x54\xfa\x09\xe3\x73\xb9\x18\xf2\xdd\x5d\x83\x5b\x82\xc8\x31\x9f\x0c\x85\x5f\xe3\x23\x71\x5f\x8a\x62\x67\x80\x85\xef\x62\xaf\x02\x2a\xb8\xa0\x49\xce\x40\xcc\x7b\xc2\xf3\xa0\xf0\x2f\x45\x2c\xed\x37\x84\xa1\x5a\x66\xb6\x6f\x08\x32\x2c\xfc\xcf\xec\x1a\x0b\xb4\x5e\xb7\x89\x81\x34\x0b\xa8\x5c\xfa\x9e\xc7\xa0\x83\x73\x0a\x47\x85\x4e\xc3\x02\x61\xb9\x5e\xc3\x8e\xb9\xaf\x91\xa5\x82\x0f\x87\x87\x47\x87\x08\xd7\xc0\x0b\x76\xfa\x77\x4d\x50\x05\x37\x71\xef\x39\xe8\x9a\x53\x4a\x38\x3c\x3c\x7c\x8c\x70\x4a\x04\xa4\xLine truncated
|
||||
|
||||
func publicSwaggerUiJsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicSwaggerUiJs,
|
||||
"public/swagger-ui.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicSwaggerUiJs() (*asset, error) {
|
||||
bytes, err := publicSwaggerUiJsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/swagger-ui.js", size: 361688, mode: os.FileMode(0644), modTime: time.Unix(1603755438, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xce, 0xf9, 0x34, 0xcb, 0xf8, 0xd7, 0xb6, 0xb0, 0xed, 0xf3, 0xb, 0xfc, 0x8d, 0xec, 0x66, 0xa2, 0xe8, 0x8f, 0xcd, 0xcd, 0x8, 0x5b, 0xda, 0xcf, 0x96, 0x7e, 0x21, 0xd2, 0xdf, 0x58, 0x66, 0x29}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicSwaggerJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x56\x4b\x4f\xe3\x48\x10\xbe\xe7\x57\x94\x7a\xf7\x98\xc4\x81\x63\x4e\x1b\xed\x61\x15\x69\x11\x91\xe0\xb0\xd2\x6e\x0e\x4d\xbb\x62\x37\xd8\xdd\x4d\x3f\xc2\x46\x28\xff\x7d\xd4\x6d\x27\x69\xbf\x98\x80\x06\xc1\x8c\xe0\x80\x9c\xfa\xea\xf9\x55\xb9\xca\xcf\x23\x00\xc2\xa4\x30\xae\x44\x43\xe6\xf0\xef\x08\x00\x80\x50\xa5\x0a\xce\xa8\xe5\x52\x24\xf7\x46\x0a\x32\xae\xe4\x16\xff\xb7\x89\x2a\x28\x17\x64\x04\xb0\xf6\x52\xa2\xb4\x4c\x1d\x7b\xab\xb5\x61\x39\x36\x42\xe7\xd6\xaa\x83\x81\x7f\x36\x91\xee\x13\xcd\x32\xd4\x64\x0e\xe4\x72\x3a\x0b\x4a\x84\x8b\x8d\x24\x73\x78\xae\x0c\x52\x34\x4c\x73\xe5\x23\x7b\x2d\x9b\x23\x28\xa7\x95\x34\x08\x72\x03\x36\xe7\x06\xa2\xe4\x80\x1b\xb0\x12\x94\x96\x5b\x9e\x22\x50\x11\x83\xff\x09\x9b\x53\xeb\x55\x9c\xe1\x22\x83\x90\x37\x64\x12\x98\x4c\xd1\x9b\xa5\xb8\xe1\x02\x81\x82\xa2\xc6\x22\x2c\x56\xcb\x63\x9d\xdc\x16\xe8\xe3\x2f\x56\xcb\xe9\xa9\x78\x5d\x9a\xeb\xcd\x0d\xea\x2d\x67\x58\x67\xa7\x11\xa8\x46\x10\x12\x6e\xaf\x6f\x80\xda\x2a\xc5\x52\x96\x28\xec\x18\x9c\x41\x2f\xdb\x49\xa7\x41\x3e\x09\xd0\xdc\x3c\xc0\x13\x82\xa5\x0f\xc1\x46\xa3\x51\x52\x18\x7e\xc7\x0b\x6e\x77\x87\x40\x4c\x0a\x4b\x99\x3d\x92\x02\x40\x04\x2d\x43\xc4\x7f\x9c\xab\xb5\x00\x88\xd3\x85\x97\x05\x8e\xe7\x49\x62\xa4\xd3\x53\x6e\x4e\x38\x96\x94\x07\x8d\x12\xff\x38\x80\x01\xdb\xd7\x81\x0a\xce\x50\x18\xec\x0b\x74\xb5\xbc\xed\x0d\x34\x4f\x12\xa9\x50\x78\x77\x0c\xa7\x52\x67\x49\xed\xc4\x24\xde\xa4\xe1\x7e\x8b\xda\xd4\x7d\x9c\x4d\x67\xd3\x0b\x8f\x06\x8c\xe4\xd2\xf8\xf2\x48\x20\x7e\x1a\x27\x4e\xee\xa8\xc1\x15\xb5\xb9\x87\x93\x4a\xa4\xa8\xcd\xcd\x69\x44\x12\xaa\xd4\xa4\x31\x35\x00\x24\xc3\x98\xaf\xee\x20\xfd\x85\x16\x16\x4a\xc1\xd2\xdb\x8d\x4f\x6a\x9d\xd9\xaf\xe5\x9d\x37\xe0\x08\xae\x23\x6b\x4b\xb3\x3e\xcb\x10\xa4\xd7\x40\x2a\xd4\xc1\xe9\x32\xf5\x59\x65\x68\x27\xc7\x6a\x22\xb5\x7a\x2e\xd0\x34\x6a\x02\x20\x97\xb3\x59\x4b\xd4\x2d\xf5\xc6\x31\x86\xc6\x44\xfe\x82\x56\x78\x4f\x69\xc7\xda\x57\xb1\x53\xa1\xe7\xf2\xee\x1e\x99\x6d\xd9\x55\x1c\x29\xd4\x96\x77\xd2\xa9\x71\x6e\xb1\x0c\xd0\xbe\x85\x35\x7f\xc7\xbf\x4e\xcf\x87\xa7\x7d\x63\x74\x92\xed\xc5\x2f\xd4\xe6\xed\xc5\xe4\xab\xd3\x2f\x74\xba\x44\xcd\x9c\xde\x4d\x98\x14\x1b\x9e\xbd\xb6\xdf\x57\x95\x35\xfc\x59\x59\x47\xe4\x76\xce\x62\x2d\x3f\xaf\xeb\x43\x33\x13\x1d\xc1\xf1\x90\x57\x14\x5b\xae\xe5\x0b\x0a\x5c\xf0\x61\x30\x3a\xb9\x3d\xa8\x95\x65\x71\xfe\x9c\xd6\xdc\x9e\xbd\x8e\x5a\xbd\x88\xf9\xa0\x9a\x96\x68\x51\xb7\x63\xb4\x86\xf4\x30\x64\xc6\x6a\x2e\xb2\xf6\x70\x6e\xa4\x2e\xa9\x1d\xc6\xdb\x23\xae\x28\xc3\xb6\xce\xe1\x48\x99\x3e\x90\x07\xbb\x47\x87\x71\xd1\xf1\x1c\xae\x3f\xed\xeb\x47\x8b\xe2\x7a\xd3\x22\xb7\x8f\xe2\x5a\xfd\x77\x8d\x5e\x9b\xfc\x96\x84\x2f\x19\xee\xf3\x32\x49\xc5\x58\x47\x7f\xdf\x8e\x36\xe0\xf4\x3b\x39\xc2\x19\x6b\x02\x1a\xab\xa2\x17\x8e\x02\x51\xad\xe9\xae\x37\xce\x59\x7e\x06\x79\x58\xb8\x94\xa3\xe8\xa3\xa2\xfa\x6b\xaf\xb0\x61\x69\x57\xd6\x96\xac\x5f\xb3\xfe\x8e\x9f\x55\xaa\xfa\x0a\x3a\x6b\xbb\xbd\xff\x5a\x7b\xfb\x29\x7c\xcd\x8a\xf1\x35\x7f\xb6\x1d\xb3\xa2\xbb\x42\xd2\x74\x68\xcb\xa8\x7e\xb8\xda\x33\xa1\x87\x2d\x44\xe3\xa3\xe3\x1a\x7d\xbd\x56\x3b\xfc\xa4\x4b\xa8\xa6\xe6\x87\x1c\xee\xb0\x88\xcd\x5b\x0f\x77\xd8\x58\xf0\x37\x6f\x30\xf9\x81\xc7\xfb\xfd\xa6\x3f\x3e\xb0\x35\x67\x1f\x3d\xfc\x5f\x07\xb6\x87\xe2\x5a\xfd\xeb\xc0\x56\x2a\x3f\xd9\x81\x1d\x1d\xfe\xef\x47\xfb\x6f\x01\x00\x00\xff\xff\x08\xc3\x1d\x9d\x1f\x13\x00\x00")
|
||||
|
||||
func publicSwaggerJsonBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicSwaggerJson,
|
||||
"public/swagger.json",
|
||||
)
|
||||
}
|
||||
|
||||
func publicSwaggerJson() (*asset, error) {
|
||||
bytes, err := publicSwaggerJsonBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/swagger.json", size: 4895, mode: os.FileMode(0644), modTime: time.Unix(1603758903, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x71, 0xcc, 0xe, 0x5f, 0xc1, 0xe9, 0xd6, 0xa9, 0x46, 0x93, 0xde, 0x3d, 0x71, 0x10, 0x7f, 0xa9, 0x1e, 0x98, 0x11, 0x70, 0xc6, 0xcf, 0x1c, 0xa, 0x57, 0x84, 0xfc, 0x3c, 0xf7, 0x28, 0x3, 0x67}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
// Asset loads and returns the asset for the given name.
|
||||
// It returns an error if the asset could not be found or
|
||||
// could not be loaded.
|
||||
func Asset(name string) ([]byte, error) {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
if f, ok := _bindata[canonicalName]; ok {
|
||||
a, err := f()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
||||
}
|
||||
return a.bytes, nil
|
||||
}
|
||||
return nil, fmt.Errorf("Asset %s not found", name)
|
||||
}
|
||||
|
||||
// AssetString returns the asset contents as a string (instead of a []byte).
|
||||
func AssetString(name string) (string, error) {
|
||||
data, err := Asset(name)
|
||||
return string(data), err
|
||||
}
|
||||
|
||||
// MustAsset is like Asset but panics when Asset would return an error.
|
||||
// It simplifies safe initialization of global variables.
|
||||
func MustAsset(name string) []byte {
|
||||
a, err := Asset(name)
|
||||
if err != nil {
|
||||
panic("asset: Asset(" + name + "): " + err.Error())
|
||||
}
|
||||
|
||||
return a
|
||||
}
|
||||
|
||||
// MustAssetString is like AssetString but panics when Asset would return an
|
||||
// error. It simplifies safe initialization of global variables.
|
||||
func MustAssetString(name string) string {
|
||||
return string(MustAsset(name))
|
||||
}
|
||||
|
||||
// AssetInfo loads and returns the asset info for the given name.
|
||||
// It returns an error if the asset could not be found or
|
||||
// could not be loaded.
|
||||
func AssetInfo(name string) (os.FileInfo, error) {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
if f, ok := _bindata[canonicalName]; ok {
|
||||
a, err := f()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
|
||||
}
|
||||
return a.info, nil
|
||||
}
|
||||
return nil, fmt.Errorf("AssetInfo %s not found", name)
|
||||
}
|
||||
|
||||
// AssetDigest returns the digest of the file with the given name. It returns an
|
||||
// error if the asset could not be found or the digest could not be loaded.
|
||||
func AssetDigest(name string) ([sha256.Size]byte, error) {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
if f, ok := _bindata[canonicalName]; ok {
|
||||
a, err := f()
|
||||
if err != nil {
|
||||
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
|
||||
}
|
||||
return a.digest, nil
|
||||
}
|
||||
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
|
||||
}
|
||||
|
||||
// Digests returns a map of all known files and their checksums.
|
||||
func Digests() (map[string][sha256.Size]byte, error) {
|
||||
mp := make(map[string][sha256.Size]byte, len(_bindata))
|
||||
for name := range _bindata {
|
||||
a, err := _bindata[name]()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mp[name] = a.digest
|
||||
}
|
||||
return mp, nil
|
||||
}
|
||||
|
||||
// AssetNames returns the names of the assets.
|
||||
func AssetNames() []string {
|
||||
names := make([]string, 0, len(_bindata))
|
||||
for name := range _bindata {
|
||||
names = append(names, name)
|
||||
}
|
||||
return names
|
||||
}
|
||||
|
||||
// _bindata is a table, holding each asset generator, mapped to its name.
|
||||
var _bindata = map[string]func() (*asset, error){
|
||||
"public/favicon-16x16.png": publicFavicon16x16Png,
|
||||
|
||||
"public/favicon-32x32.png": publicFavicon32x32Png,
|
||||
|
||||
"public/index.html": publicIndexHtml,
|
||||
|
||||
"public/oauth2-redirect.html": publicOauth2RedirectHtml,
|
||||
|
||||
"public/swagger-ui-bundle.js": publicSwaggerUiBundleJs,
|
||||
|
||||
"public/swagger-ui-standalone-preset.js": publicSwaggerUiStandalonePresetJs,
|
||||
|
||||
"public/swagger-ui.css": publicSwaggerUiCss,
|
||||
|
||||
"public/swagger-ui.js": publicSwaggerUiJs,
|
||||
|
||||
"public/swagger.json": publicSwaggerJson,
|
||||
}
|
||||
|
||||
// AssetDir returns the file names below a certain
|
||||
// directory embedded in the file by go-bindata.
|
||||
// For example if you run go-bindata on data/... and data contains the
|
||||
// following hierarchy:
|
||||
// data/
|
||||
// foo.txt
|
||||
// img/
|
||||
// a.png
|
||||
// b.png
|
||||
// then AssetDir("data") would return []string{"foo.txt", "img"},
|
||||
// AssetDir("data/img") would return []string{"a.png", "b.png"},
|
||||
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
|
||||
// AssetDir("") will return []string{"data"}.
|
||||
func AssetDir(name string) ([]string, error) {
|
||||
node := _bintree
|
||||
if len(name) != 0 {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
pathList := strings.Split(canonicalName, "/")
|
||||
for _, p := range pathList {
|
||||
node = node.Children[p]
|
||||
if node == nil {
|
||||
return nil, fmt.Errorf("Asset %s not found", name)
|
||||
}
|
||||
}
|
||||
}
|
||||
if node.Func != nil {
|
||||
return nil, fmt.Errorf("Asset %s not found", name)
|
||||
}
|
||||
rv := make([]string, 0, len(node.Children))
|
||||
for childName := range node.Children {
|
||||
rv = append(rv, childName)
|
||||
}
|
||||
return rv, nil
|
||||
}
|
||||
|
||||
type bintree struct {
|
||||
Func func() (*asset, error)
|
||||
Children map[string]*bintree
|
||||
}
|
||||
|
||||
var _bintree = &bintree{nil, map[string]*bintree{
|
||||
"public": &bintree{nil, map[string]*bintree{
|
||||
"favicon-16x16.png": &bintree{publicFavicon16x16Png, map[string]*bintree{}},
|
||||
"favicon-32x32.png": &bintree{publicFavicon32x32Png, map[string]*bintree{}},
|
||||
"index.html": &bintree{publicIndexHtml, map[string]*bintree{}},
|
||||
"oauth2-redirect.html": &bintree{publicOauth2RedirectHtml, map[string]*bintree{}},
|
||||
"swagger-ui-bundle.js": &bintree{publicSwaggerUiBundleJs, map[string]*bintree{}},
|
||||
"swagger-ui-standalone-preset.js": &bintree{publicSwaggerUiStandalonePresetJs, map[string]*bintree{}},
|
||||
"swagger-ui.css": &bintree{publicSwaggerUiCss, map[string]*bintree{}},
|
||||
"swagger-ui.js": &bintree{publicSwaggerUiJs, map[string]*bintree{}},
|
||||
"swagger.json": &bintree{publicSwaggerJson, map[string]*bintree{}},
|
||||
}},
|
||||
}}
|
||||
|
||||
// RestoreAsset restores an asset under the given directory.
|
||||
func RestoreAsset(dir, name string) error {
|
||||
data, err := Asset(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
info, err := AssetInfo(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
||||
}
|
||||
|
||||
// RestoreAssets restores an asset under the given directory recursively.
|
||||
func RestoreAssets(dir, name string) error {
|
||||
children, err := AssetDir(name)
|
||||
// File
|
||||
if err != nil {
|
||||
return RestoreAsset(dir, name)
|
||||
}
|
||||
// Dir
|
||||
for _, child := range children {
|
||||
err = RestoreAssets(dir, filepath.Join(name, child))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func _filePath(dir, name string) string {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
|
||||
}
|
||||
|
||||
func assetFS() *assetfs.AssetFS {
|
||||
assetInfo := func(path string) (os.FileInfo, error) {
|
||||
return os.Stat(path)
|
||||
}
|
||||
for k := range _bintree.Children {
|
||||
return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
@@ -1,11 +0,0 @@
|
||||
package docs
|
||||
|
||||
import "sour.is/x/toolbox/httpsrv"
|
||||
|
||||
func init() {
|
||||
httpsrv.AssetRegister("docs", httpsrv.AssetRoutes{
|
||||
{Name: "Assets", Path: "/docs/", HandlerFunc: httpsrv.FsHtml5(assetFS())},
|
||||
})
|
||||
}
|
||||
|
||||
//go:generate go run github.com/sour-is/go-assetfs/cmd/assetfs -pkg docs public/
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 445 B |
Binary file not shown.
|
Before Width: | Height: | Size: 1.1 KiB |
@@ -1,95 +0,0 @@
|
||||
<!-- HTML for static distribution bundle build -->
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<title>Swagger UI</title>
|
||||
<link href="https://fonts.googleapis.com/css?family=Open+Sans:400,700|Source+Code+Pro:300,600|Titillium+Web:400,600,700" rel="stylesheet">
|
||||
<link rel="stylesheet" type="text/css" href="./swagger-ui.css" >
|
||||
<link rel="icon" type="image/png" href="./favicon-32x32.png" sizes="32x32" />
|
||||
<link rel="icon" type="image/png" href="./favicon-16x16.png" sizes="16x16" />
|
||||
<style>
|
||||
html
|
||||
{
|
||||
box-sizing: border-box;
|
||||
overflow: -moz-scrollbars-vertical;
|
||||
overflow-y: scroll;
|
||||
}
|
||||
*,
|
||||
*:before,
|
||||
*:after
|
||||
{
|
||||
box-sizing: inherit;
|
||||
}
|
||||
|
||||
body {
|
||||
margin:0;
|
||||
background: #fafafa;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="position:absolute;width:0;height:0">
|
||||
<defs>
|
||||
<symbol viewBox="0 0 20 20" id="unlocked">
|
||||
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V6h2v-.801C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8z"></path>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="locked">
|
||||
<path d="M15.8 8H14V5.6C14 2.703 12.665 1 10 1 7.334 1 6 2.703 6 5.6V8H4c-.553 0-1 .646-1 1.199V17c0 .549.428 1.139.951 1.307l1.197.387C5.672 18.861 6.55 19 7.1 19h5.8c.549 0 1.428-.139 1.951-.307l1.196-.387c.524-.167.953-.757.953-1.306V9.199C17 8.646 16.352 8 15.8 8zM12 8H8V5.199C8 3.754 8.797 3 10 3c1.203 0 2 .754 2 2.199V8z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="close">
|
||||
<path d="M14.348 14.849c-.469.469-1.229.469-1.697 0L10 11.819l-2.651 3.029c-.469.469-1.229.469-1.697 0-.469-.469-.469-1.229 0-1.697l2.758-3.15-2.759-3.152c-.469-.469-.469-1.228 0-1.697.469-.469 1.228-.469 1.697 0L10 8.183l2.651-3.031c.469-.469 1.228-.469 1.697 0 .469.469.469 1.229 0 1.697l-2.758 3.152 2.758 3.15c.469.469.469 1.229 0 1.698z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="large-arrow">
|
||||
<path d="M13.25 10L6.109 2.58c-.268-.27-.268-.707 0-.979.268-.27.701-.27.969 0l7.83 7.908c.268.271.268.709 0 .979l-7.83 7.908c-.268.271-.701.27-.969 0-.268-.269-.268-.707 0-.979L13.25 10z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 20 20" id="large-arrow-down">
|
||||
<path d="M17.418 6.109c.272-.268.709-.268.979 0s.271.701 0 .969l-7.908 7.83c-.27.268-.707.268-.979 0l-7.908-7.83c-.27-.268-.27-.701 0-.969.271-.268.709-.268.979 0L10 13.25l7.418-7.141z"/>
|
||||
</symbol>
|
||||
|
||||
|
||||
<symbol viewBox="0 0 24 24" id="jump-to">
|
||||
<path d="M19 7v4H5.83l3.58-3.59L8 6l-6 6 6 6 1.41-1.41L5.83 13H21V7z"/>
|
||||
</symbol>
|
||||
|
||||
<symbol viewBox="0 0 24 24" id="expand">
|
||||
<path d="M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"/>
|
||||
</symbol>
|
||||
|
||||
</defs>
|
||||
</svg>
|
||||
|
||||
<div id="swagger-ui"></div>
|
||||
|
||||
<script src="./swagger-ui-bundle.js"> </script>
|
||||
<script src="./swagger-ui-standalone-preset.js"> </script>
|
||||
<script>
|
||||
window.onload = function() {
|
||||
|
||||
// Build a system
|
||||
const ui = SwaggerUIBundle({
|
||||
url: "/docs/swagger.json",
|
||||
dom_id: '#swagger-ui',
|
||||
deepLinking: true,
|
||||
presets: [
|
||||
SwaggerUIBundle.presets.apis,
|
||||
SwaggerUIStandalonePreset
|
||||
],
|
||||
plugins: [
|
||||
SwaggerUIBundle.plugins.DownloadUrl
|
||||
],
|
||||
layout: "StandaloneLayout"
|
||||
})
|
||||
|
||||
window.ui = ui
|
||||
}
|
||||
</script>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
@@ -1,67 +0,0 @@
|
||||
<!doctype html>
|
||||
<html lang="en-US">
|
||||
<body onload="run()">
|
||||
</body>
|
||||
</html>
|
||||
<script>
|
||||
'use strict';
|
||||
function run () {
|
||||
var oauth2 = window.opener.swaggerUIRedirectOauth2;
|
||||
var sentState = oauth2.state;
|
||||
var redirectUrl = oauth2.redirectUrl;
|
||||
var isValid, qp, arr;
|
||||
|
||||
if (/code|token|error/.test(window.location.hash)) {
|
||||
qp = window.location.hash.substring(1);
|
||||
} else {
|
||||
qp = location.search.substring(1);
|
||||
}
|
||||
|
||||
arr = qp.split("&")
|
||||
arr.forEach(function (v,i,_arr) { _arr[i] = '"' + v.replace('=', '":"') + '"';})
|
||||
qp = qp ? JSON.parse('{' + arr.join() + '}',
|
||||
function (key, value) {
|
||||
return key === "" ? value : decodeURIComponent(value)
|
||||
}
|
||||
) : {}
|
||||
|
||||
isValid = qp.state === sentState
|
||||
|
||||
if ((
|
||||
oauth2.auth.schema.get("flow") === "accessCode"||
|
||||
oauth2.auth.schema.get("flow") === "authorizationCode"
|
||||
) && !oauth2.auth.code) {
|
||||
if (!isValid) {
|
||||
oauth2.errCb({
|
||||
authId: oauth2.auth.name,
|
||||
source: "auth",
|
||||
level: "warning",
|
||||
message: "Authorization may be unsafe, passed state was changed in server Passed state wasn't returned from auth server"
|
||||
});
|
||||
}
|
||||
|
||||
if (qp.code) {
|
||||
delete oauth2.state;
|
||||
oauth2.auth.code = qp.code;
|
||||
oauth2.callback({auth: oauth2.auth, redirectUrl: redirectUrl});
|
||||
} else {
|
||||
let oauthErrorMsg
|
||||
if (qp.error) {
|
||||
oauthErrorMsg = "["+qp.error+"]: " +
|
||||
(qp.error_description ? qp.error_description+ ". " : "no accessCode received from the server. ") +
|
||||
(qp.error_uri ? "More info: "+qp.error_uri : "");
|
||||
}
|
||||
|
||||
oauth2.errCb({
|
||||
authId: oauth2.auth.name,
|
||||
source: "auth",
|
||||
level: "error",
|
||||
message: oauthErrorMsg || "[Authorization failed]: no accessCode received from the server"
|
||||
});
|
||||
}
|
||||
} else {
|
||||
oauth2.callback({auth: oauth2.auth, token: qp, isValid: isValid, redirectUrl: redirectUrl});
|
||||
}
|
||||
window.close();
|
||||
}
|
||||
</script>
|
||||
@@ -1,93 +0,0 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SwaggerUIBundle=t():e.SwaggerUIBundle=t()}(this,function(){return function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=1227)}([function(e,t,n){"use strict";e.exports=n(93)},function(e,t,n){e.exports=n(1007)()},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(336),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,i.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(603),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(577),o=r(i),a=n(335),s=r(a),u=n(48),l=r(u);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,l.default)(t)));e.prototype=(0,s.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(48),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,i.default)(t))&&"function"!=typeof t?e:t}},function(e,t,n){!function(t,n){e.exports=n()}(0,function(){"use strict";function e(e,t){t&&(e.prototype=Object.create(t.prototype)),e.prototype.constructor=e}function t(e){return o(e)?e:O(e)}function n(e){return a(e)?e:M(e)}function r(e){return s(e)?e:T(e)}function i(e){return o(e)&&!u(e)?e:P(e)}function o(e){return!(!e||!e[ln])}function a(e){return!(!e||!e[cn])}function s(e){return!(!e||!e[pn])}function u(e){return a(e)||s(e)}function l(e){return!(!e||!e[fn])}function c(e){return e.value=!1,e}function p(e){e&&(e.value=!0)}function f(){}function h(e,t){t=t||0;for(var n=Math.max(0,e.length-t),r=new Array(n),i=0;i<n;i++)r[i]=e[i+t];return r}function d(e){return void 0===e.size&&(e.size=e.__iterate(v)),e.size}function m(e,t){if("number"!=typeof t){var n=t>>>0;if(""+n!==t||4294967295===n)return NaN;t=n}return t<0?d(e)+t:t}function v(){return!0}function g(e,t,n){return(0===e||void 0!==n&&e<=-n)&&(void 0===t||void 0!==n&&t>=n)}function y(e,t){return b(e,t,0)}function _(e,t){return b(e,t,t)}function b(e,t,n){return void 0===e?n:e<0?Math.max(0,t+e):void 0===t?e:Math.min(t,e)}function x(e){this.next=e}function w(e,t,n,r){var i=0===e?t:1===e?n:[t,n];return r?r.value=i:r={value:i,done:!1},r}function k(){return{value:void 0,done:!0}}function E(e){return!!A(e)}function S(e){return e&&"function"==typeof e.next}function C(e){var t=A(e);return t&&t.call(e)}function A(e){var t=e&&(wn&&e[wn]||e[kn]);if("function"==typeof t)return t}function D(e){return e&&"number"==typeof e.length}function O(e){return null===e||void 0===e?B():o(e)?e.toSeq():z(e)}function M(e){return null===e||void 0===e?B().toKeyedSeq():o(e)?a(e)?e.toSeq():e.fromEntrySeq():L(e)}function T(e){return null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e.toIndexedSeq():q(e)}function P(e){return(null===e||void 0===e?B():o(e)?a(e)?e.entrySeq():e:q(e)).toSetSeq()}function I(e){this._array=e,this.size=e.length}function R(e){var t=Object.keys(e);this._object=e,this._keys=t,this.size=t.length}function j(e){this._iterable=e,this.size=e.length||e.size}function N(e){this._iterator=e,this._iteratorCache=[]}function F(e){return!(!e||!e[Sn])}function B(){return Cn||(Cn=new I([]))}function L(e){var t=Array.isArray(e)?new I(e).fromEntrySeq():S(e)?new N(e).fromEntrySeq():E(e)?new j(e).fromEntrySeq():"object"==typeof e?new R(e):void 0;if(!t)throw new TypeError("Expected Array or iterable object of [k, v] entries, or keyed object: "+e);return t}function q(e){var t=U(e);if(!t)throw new TypeError("Expected Array or iterable object of values: "+e);return t}function z(e){var t=U(e)||"object"==typeof e&&new R(e);if(!t)throw new TypeError("Expected Array or iterable object of values, or keyed object: "+e);return t}function U(e){return D(e)?new I(e):S(e)?new N(e):E(e)?new j(e):void 0}function W(e,t,n,r){var i=e._cache;if(i){for(var o=i.lengthLine truncated
|
||||
object-assign
|
||||
(c) Sindre Sorhus
|
||||
@license MIT
|
||||
*/
|
||||
var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,a=Object.prototype.propertyIsEnumerable;e.exports=function(){try{if(!Object.assign)return!1;var e=new String("abc");if(e[5]="de","5"===Object.getOwnPropertyNames(e)[0])return!1;for(var t={},n=0;n<10;n++)t["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(t).map(function(e){return t[e]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(e){r[e]=e}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(e){return!1}}()?Object.assign:function(e,t){for(var n,s,u=r(e),l=1;l<arguments.length;l++){n=Object(arguments[l]);for(var c in n)o.call(n,c)&&(u[c]=n[c]);if(i){s=i(n);for(var p=0;p<s.length;p++)a.call(n,s[p])&&(u[s[p]]=n[s[p]])}}return u}},function(e,t,n){"use strict";function r(e,t){return 1===e.nodeType&&e.getAttribute(d)===String(t)||8===e.nodeType&&e.nodeValue===" react-text: "+t+" "||8===e.nodeType&&e.nodeValue===" react-empty: "+t+" "}function i(e){for(var t;t=e._renderedComponent;)e=t;return e}function o(e,t){var n=i(e);n._hostNode=t,t[v]=n}function a(e){var t=e._hostNode;t&&(delete t[v],e._hostNode=null)}function s(e,t){if(!(e._flags&m.hasCachedChildNodes)){var n=e._renderedChildren,a=t.firstChild;e:for(var s in n)if(n.hasOwnProperty(s)){var u=n[s],l=i(u)._domID;if(0!==l){for(;null!==a;a=a.nextSibling)if(r(a,l)){o(u,a);continue e}p("32",l)}}e._flags|=m.hasCachedChildNodes}}function u(e){if(e[v])return e[v];for(var t=[];!e[v];){if(t.push(e),!e.parentNode)return null;e=e.parentNode}for(var n,r;e&&(r=e[v]);e=t.pop())n=r,t.length&&s(r,e);return n}function l(e){var t=u(e);return null!=t&&t._hostNode===e?t:null}function c(e){if(void 0===e._hostNode&&p("33"),e._hostNode)return e._hostNode;for(var t=[];!e._hostNode;)t.push(e),e._hostParent||p("34"),e=e._hostParent;for(;t.length;e=t.pop())s(e,e._hostNode);return e._hostNode}var p=n(11),f=n(90),h=n(463),d=(n(8),f.ID_ATTRIBUTE_NAME),m=h,v="__reactInternalInstance$"+Math.random().toString(36).slice(2),g={getClosestInstanceFromNode:u,getInstanceFromNode:l,getNodeFromInstance:c,precacheChildNodes:s,precacheNode:o,uncacheNode:a};e.exports=g},function(e,t){var n=e.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(e,t){var n;n=function(){return this}();try{n=n||Function("return this")()||(0,eval)("this")}catch(e){"object"==typeof window&&(n=window)}e.exports=n},function(e,t,n){"use strict";function r(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function i(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===a.indexOf(t))throw new o('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=r(t.styleAliases||null),-1===s.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var o=n(117),a=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],s=["scalar","sequence","mapping"];e.exports=i},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var i=n(576),o=r(i),a=n(96),s=r(a);t.default=function(){function e(e,t){var n=[],r=!0,i=!1,o=void 0;try{for(var a,u=(0,s.default)(e);!(r=(a=u.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,o=e}finally{try{!r&&u.return&&u.return()}finally{if(i)throw o}}return n}return function(t,n){if(Array.isArray(t))return t;if((0,o.default)(Object(t)))return e(t,n);throw new TypeError("Invalid attempt to destructure non-iterable instance")}}()},function(e,t,n){var r=n(367)("wks"),i=n(204),o=n(32).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t,n){"use strict";t.__esModule=!0;var r=n(30),i=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=i.default||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}},function(e,t,n){var r=n(190)("wks"),i=n(134),o=n(24).Symbol,a="function"==typeof o;(e.exports=function(e){return r[e]||(r[e]=a&&o[e]||(a?o:i)("Symbol."+e))}).store=r},function(e,t){var n=Array.isArray;e.exports=n},function(e,t,n){var r=n(24),i=n(15),o=n(54),a=n(57),s=function(e,t,n){var u,l,c,p=e&s.F,f=e&s.G,h=e&s.S,d=e&s.P,m=e&s.B,v=e&s.W,g=f?i:i[t]||(i[t]={}),y=g.prototype,_=f?r:h?r[t]:(r[t]||{}).prototype;f&&(n=t);for(u in n)(l=!p&&_&&void 0!==_[u])&&u in g||(c=l?_[u]:n[u],g[u]=f&&"function"!=typeof _[u]?n[u]:m&&l?o(c,r):v&&_[u]==c?function(e){var t=function(t,n,r){if(this instanceof e){switch(arguments.length){case 0:return new e;case 1:return new e(t);case 2:return new e(t,n)}return new e(tLine truncated
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
var Y=n(581),$=n(776),Z=n(394);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return a(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return u(null,e,t,n)},o.allocUnsafe=function(e){return l(null,e)},o.allocUnsafeSlow=function(e){return l(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,i=0,a=Math.min(n,r);i<a;++i)if(e[i]!==t[i]){n=e[i],r=t[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!Z(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),i=0;for(n=0;n<e.length;++n){var a=e[n];if(!o.isBuffer(a))throw new TypeError('"list" argument must be an Array of Buffers');a.copy(r,i),i+=a.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?D(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},o.prototype.compare=function(e,t,n,r,i){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),t<0||n>e.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&t>=n)return 0;if(r>=i)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,i>>>=0,this===e)return 0;for(var a=i-r,s=n-t,u=Math.min(a,s),l=this.slice(r,i),c=e.slice(t,n),p=0;p<u;++p)if(l[p]!==c[p]){a=l[p],s=c[p];break}return a<s?-1:s<a?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-t;if((void 0===n||n>i)&&(n=i),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return x(this,e,t,n);case"utf8":case"utf-8":return w(this,e,t,n);case"ascii":return k(this,e,t,n);case"latin1":case"binary":return E(this,e,t,n);case"base64":return S(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return C(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var i=t-e;r=new o(i,void 0);for(var a=0;a<i;++a)r[a]=this[a+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||R(e,t,this.length);for(var r=this[e],i=1,o=0;++o<t&&(i*=256);)r+=this[e+o]*i;return r},o.prototype.readUIntBE=function(e,t,n){Line truncated
|
||||
* @description Recursive object extending
|
||||
* @author Viacheslav Lotsmanov <lotsmanov89@gmail.com>
|
||||
* @license MIT
|
||||
*
|
||||
* The MIT License (MIT)
|
||||
*
|
||||
* Copyright (c) 2013-2015 Viacheslav Lotsmanov
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
function n(e){return e instanceof t||e instanceof Date||e instanceof RegExp}function r(e){if(e instanceof t){var n=new t(e.length);return e.copy(n),n}if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return new RegExp(e);throw new Error("Unexpected situation")}function i(e){var t=[];return e.forEach(function(e,a){"object"==typeof e&&null!==e?Array.isArray(e)?t[a]=i(e):n(e)?t[a]=r(e):t[a]=o({},e):t[a]=e}),t}var o=e.exports=function(){if(arguments.length<1||"object"!=typeof arguments[0])return!1;if(arguments.length<2)return arguments[0];var e,t,a=arguments[0],s=Array.prototype.slice.call(arguments,1);return s.forEach(function(s){"object"!=typeof s||Array.isArray(s)||Object.keys(s).forEach(function(u){return t=a[u],e=s[u],e===a?void 0:"object"!=typeof e||null===e?void(a[u]=e):Array.isArray(e)?void(a[u]=i(e)):n(e)?void(a[u]=r(e)):"object"!=typeof t||null===t||Array.isArray(t)?void(a[u]=o({},e)):void(a[u]=o(t,e))})}),a}}).call(t,n(42).Buffer)},function(e,t){e.exports={Aacute:"Á",aacute:"á",Abreve:"Ă",abreve:"ă",ac:"∾",acd:"∿",acE:"∾̳",Acirc:"Â",acirc:"â",acute:"´",Acy:"А",acy:"а",AElig:"Æ",aelig:"æ",af:"",Afr:"𝔄",afr:"𝔞",Agrave:"À",agrave:"à",alefsym:"ℵ",aleph:"ℵ",Alpha:"Α",alpha:"α",Amacr:"Ā",amacr:"ā",amalg:"⨿",amp:"&",AMP:"&",andand:"⩕",And:"⩓",and:"∧",andd:"⩜",andslope:"⩘",andv:"⩚",ang:"∠",ange:"⦤",angle:"∠",angmsdaa:"⦨",angmsdab:"⦩",angmsdac:"⦪",angmsdad:"⦫",angmsdae:"⦬",angmsdaf:"⦭",angmsdag:"⦮",angmsdah:"⦯",angmsd:"∡",angrt:"∟",angrtvb:"⊾",angrtvbd:"⦝",angsph:"∢",angst:"Å",angzarr:"⍼",Aogon:"Ą",aogon:"ą",Aopf:"𝔸",aopf:"𝕒",apacir:"⩯",ap:"≈",apE:"⩰",ape:"≊",apid:"≋",apos:"'",ApplyFunction:"",approx:"≈",approxeq:"≊",Aring:"Å",aring:"å",Ascr:"𝒜",ascr:"𝒶",Assign:"≔",ast:"*",asymp:"≈",asympeq:"≍",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",awconint:"∳",awint:"⨑",backcong:"≌",backepsilon:"϶",backprime:"‵",backsim:"∽",backsimeq:"⋍",Backslash:"∖",Barv:"⫧",barvee:"⊽",barwed:"⌅",Barwed:"⌆",barwedge:"⌅",bbrk:"⎵",bbrktbrk:"⎶",bcong:"≌",Bcy:"Б",bcy:"б",bdquo:"„",becaus:"∵",because:"∵",Because:"∵",bemptyv:"⦰",bepsi:"϶",bernou:"ℬ",Bernoullis:"ℬ",Beta:"Β",beta:"β",beth:"ℶ",between:"≬",Bfr:"𝔅",bfr:"𝔟",bigcap:"⋂",bigcirc:"◯",bigcup:"⋃",bigodot:"⨀",bigoplus:"⨁",bigotimes:"⨂",bigsqcup:"⨆",bigstar:"★",bigtriangledown:"▽",bigtriangleup:"△",biguplus:"⨄",bigvee:"⋁",bigwedge:"⋀",bkarow:"⤍",blacklozenge:"⧫",blacksquare:"▪",blacktriangle:"▴",blacktriangledown:"▾",blacktriangleleft:"◂",blacktriangleright:"▸",blank:"␣",blk12:"▒",blk14:"░",blk34:"▓",block:"█",bne:"=⃥",bnequiv:"≡⃥",bNot:"⫭",bnot:"⌐",Bopf:"𝔹",bopf:"𝕓",bot:"⊥",bottom:"⊥",bowtie:"⋈",boxbox:"⧉",boxdl:"┐",boxdL:"╕",boxDl:"╖",boxDL:"╗",boxdr:"┌",boxdR:"╒",boxDr:"╓",boxDR:"╔",boxh:"─",boxH:"═",boxhd:"┬",boxHd:"╤",boxhD:"╥",boxHD:"╦",boxhu:"┴",boxHu:"╧",boxhU:"╨",boxHU:"╩",boxminus:"⊟",boxplus:"⊞",boxtimes:"⊠",boxul:"┘",boxuL:"╛",boxUl:"╜",boxUL:"╝",boxur:"└",boxuR:"╘",boxUr:"╙",boxUR:"╚",boxv:"│",boxV:"║",boxvh:"┼",boxvH:"╪",boxVh:"╫",boxVH:"╬",boxvl:"┤",boxvL:"╡",boxVl:"╢",boxVL:"╣",boxvr:"├",boxvR:"╞",boxVr:"╟",boxVR:"╠",bprime:"‵",breve:"˘",Breve:"˘",brvbar:"¦",bscr:"𝒷",Bscr:"ℬ",bsemi:"⁏",bsim:"∽",bsime:"⋍",bsolb:"⧅",bsol:"\\",bsolhsub:"⟈",bull:"•",bullet:"•",bump:"≎",bumpE:"⪮",bumpe:"≏",Bumpeq:"≎",bumpeq:"≏",Cacute:"Ć",cacute:"ć",capand:"⩄",capbrcup:"⩉",capcap:"⩋",cap:"∩",Cap:"⋒",capcup:"⩇",capdot:"⩀",CapitalDifferentialD:"ⅅ",caps:"∩︀",caret:"⁁",caron:"ˇ",Cayleys:"ℭ",ccaps:"⩍",Ccaron:"Č",ccaron:"č",Ccedil:"Ç",ccedil:"ç",Ccirc:"Ĉ",ccirc:"ĉ",Cconint:"∰",ccups:"⩌",ccupssm:"⩐",Cdot:"Ċ",cdot:"ċ",cedil:"¸",Cedilla:"¸",cemptyv:"⦲",cent:"¢",centerdot:"·",CenterDot:"·",cfr:"𝔠",Cfr:"ℭ",CHcy:"Ч",chcy:"ч",check:"✓",checkmark:"✓",Chi:"Χ",chi:"χ",circ:"ˆ",circeq:"≗",circlearrowleft:"↺",circlearrowright:"↻",circledast:"⊛",circledcirc:"⊚",circleddash:"⊝",CircleDot:"⊙",circledR:"®",circledS:"Ⓢ",CircleMinus:"⊖",CirclePlus:"⊕",CircleTimes:"⊗",cir:"○",cirE:"⧃",cire:"≗",cirfnint:"⨐",cirmid:"⫯",cirscir:"⧂",ClockwiseContourIntegral:"∲",CloseCurlyDoubleQuote:"”",CloseCurlyQuote:"’",clubs:"♣",clubsuit:"♣",colon:":",Colon:"∷",Colone:"⩴",colone:"≔",coloneq:"≔",comma:",",commat:"@",comp:"∁",compfn:"∘",complement:"∁",complexes:"ℂ",cong:"≅",congdot:"⩭",Congruent:"≡",conint:"∮",Conint:"∯",ContourIntegral:"∮",copf:"𝕔",Copf:"ℂ",coprod:"∐",Coproduct:"∐",copy:"©",COPY:"©",copysr:"℗",CounterClockwiseContourIntegral:"∳",crarr:"↵",cross:"✗",Cross:"⨯",Cscr:"𝒞",cscr:"𝒸",csub:"⫏",csube:"⫑",csup:"⫐",csupe:"⫒",ctdot:"⋯",cudarrl:"⤸",cudarrr:"⤵",cLine truncated
|
||||
* Checks if an event is supported in the current execution environment.
|
||||
*
|
||||
* NOTE: This will not work correctly for non-generic events such as `change`,
|
||||
* `reset`, `load`, `error`, and `select`.
|
||||
*
|
||||
* Borrows from Modernizr.
|
||||
*
|
||||
* @param {string} eventNameSuffix Event name, e.g. "click".
|
||||
* @param {?boolean} capture Check if the capture phase is supported.
|
||||
* @return {boolean} True if the event is supported.
|
||||
* @internal
|
||||
* @license Modernizr 3.0.0pre (Custom Build) | MIT
|
||||
*/
|
||||
function r(e,t){if(!o.canUseDOM||t&&!("addEventListener"in document))return!1;var n="on"+e,r=n in document;if(!r){var a=document.createElement("div");a.setAttribute(n,"return;"),r="function"==typeof a[n]}return!r&&i&&"wheel"===e&&(r=document.implementation.hasFeature("Events.wheel","3.0")),r}var i,o=n(25);o.canUseDOM&&(i=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature("","")),e.exports=r},function(e,t,n){"use strict";function r(e,t){var n=null===e||!1===e,r=null===t||!1===t;if(n||r)return n===r;var i=typeof e,o=typeof t;return"string"===i||"number"===i?"string"===o||"number"===o:"object"===o&&e.type===t.type&&e.key===t.key}e.exports=r},function(e,t,n){"use strict";var r=(n(13),n(33)),i=(n(10),r);e.exports=i},function(e,t,n){"use strict";function r(e){switch(e._type){case"Document":case"BlockQuote":case"List":case"Item":case"Paragraph":case"Heading":case"Emph":case"Strong":case"Link":case"Image":case"CustomInline":case"CustomBlock":return!0;default:return!1}}var i=function(e,t){this.current=e,this.entering=!0===t},o=function(){var e=this.current,t=this.entering;if(null===e)return null;var n=r(e);return t&&n?e._firstChild?(this.current=e._firstChild,this.entering=!0):this.entering=!1:e===this.root?this.current=null:null===e._next?(this.current=e._parent,this.entering=!1):(this.current=e._next,this.entering=!0),{entering:t,node:e}},a=function(e){return{current:e,root:e,entering:!0,next:o,resumeAt:i}},s=function(e,t){this._type=e,this._parent=null,this._firstChild=null,this._lastChild=null,this._prev=null,this._next=null,this._sourcepos=t,this._lastLineBlank=!1,this._open=!0,this._string_content=null,this._literal=null,this._listData={},this._info=null,this._destination=null,this._title=null,this._isFenced=!1,this._fenceChar=null,this._fenceLength=0,this._fenceOffset=null,this._level=null,this._onEnter=null,this._onExit=null},u=s.prototype;Object.defineProperty(u,"isContainer",{get:function(){return r(this)}}),Object.defineProperty(u,"type",{get:function(){return this._type}}),Object.defineProperty(u,"firstChild",{get:function(){return this._firstChild}}),Object.defineProperty(u,"lastChild",{get:function(){return this._lastChild}}),Object.defineProperty(u,"next",{get:function(){return this._next}}),Object.defineProperty(u,"prev",{get:function(){return this._prev}}),Object.defineProperty(u,"parent",{get:function(){return this._parent}}),Object.defineProperty(u,"sourcepos",{get:function(){return this._sourcepos}}),Object.defineProperty(u,"literal",{get:function(){return this._literal},set:function(e){this._literal=e}}),Object.defineProperty(u,"destination",{get:function(){return this._destination},set:function(e){this._destination=e}}),Object.defineProperty(u,"title",{get:function(){return this._title},set:function(e){this._title=e}}),Object.defineProperty(u,"info",{get:function(){return this._info},set:function(e){this._info=e}}),Object.defineProperty(u,"level",{get:function(){return this._level},set:function(e){this._level=e}}),Object.defineProperty(u,"listType",{get:function(){return this._listData.type},set:function(e){this._listData.type=e}}),Object.defineProperty(u,"listTight",{get:function(){return this._listData.tight},set:function(e){this._listData.tight=e}}),Object.defineProperty(u,"listStart",{get:function(){return this._listData.start},set:function(e){this._listData.start=e}}),Object.defineProperty(u,"listDelimiter",{get:function(){return this._listData.delimiter},set:function(e){this._listData.delimiter=e}}),Object.defineProperty(u,"onEnter",{get:function(){return this._onEnter},set:function(e){this._onEnter=e}}),Object.defineProperty(u,"onExit",{get:function(){return this._onExit},set:function(e){this._onExit=e}}),s.prototype.appendChild=function(e){e.unlink(),e._parent=this,this._lastChild?(this._lastChild._next=e,e._prev=this._lastChild,this._lastChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.prependChild=function(e){e.unlink(),e._parent=this,this._firstChild?(this._firstChild._prev=e,e._next=this._firstChild,this._firstChild=e):(this._firstChild=e,this._lastChild=e)},s.prototype.unlink=function(){this._prev?this._prev._next=this._next:this._parent&&(this._parent._firstChild=this._next),this._next?this._next._prev=this._prev:this._parent&&(this._parent._lastChild=this._prev),this._parent=null,this._next=null,this._prev=null},s.prototype.insertAfter=function(e){e.unlink(),e._next=this._next,e._next&&(e._next._prev=e),e._prev=this,this._next=e,e._parent=this._parent,e._next||(e._parent._lastChild=e)},s.prototype.insertBefore=function(e){e.unlink(),e._prev=this._prev,e._prev&&(e._prev._next=e),e._next=this,this._prev=e,e._parent=this._parent,e._prev||(e._parent._firstChild=e)},s.prototype.walker=function(){return new a(this)},e.exports=s},function(e,t,n){"use strict";function r(e){var t={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=0);return t}t.__esModule=!0,t.default=r,e.exports=t.default},function(e,t,n){"use
Line truncated
|
||||
String.prototype.repeat||function(){"use strict";var e=function(){try{var e={},t=Object.defineProperty,n=t(e,e,e)&&t}catch(e){}return n}(),t=function(e){if(null==this)throw TypeError();var t=String(this),n=e?Number(e):0;if(n!=n&&(n=0),n<0||n==1/0)throw RangeError();for(var r="";n;)n%2==1&&(r+=t),n>1&&(t+=t),n>>=1;return r};e?e(String.prototype,"repeat",{value:t,configurable:!0,writable:!0}):String.prototype.repeat=t}()},function(e,t,n){e.exports=function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=61)}([function(e,t){e.exports=n(47)},function(e,t){e.exports=n(30)},function(e,t){e.exports=n(48)},function(e,t){e.exports=n(20)},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=e.openapi;return!!t&&(0,b.default)(t,"3")}function o(e){var t=e.swagger;return!!t&&(0,b.default)(t,"2")}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return e&&"object"===(void 0===e?"undefined":(0,v.default)(e))?(e.operationId||"").replace(/\s/g,"").length?w(e.operationId):s(t,n):null}function s(e,t){return""+x(t)+w(e)}function u(e,t){return x(t)+"-"+e}function l(e,t){return e&&e.paths?c(e,function(e){var n=e.pathName,r=e.method,i=e.operation;if(!i||"object"!==(void 0===i?"undefined":(0,v.default)(i)))return!1;var o=i.operationId;return[a(i,n,r),u(n,r),o].some(function(e){return e&&e===t})}):null}function c(e,t){return p(e,t,!0)||null}function p(e,t,n){if(!e||"object"!==(void 0===e?"undefined":(0,v.default)(e))||!e.paths||"object"!==(0,v.default)(e.paths))return null;var r=e.paths;for(var i in r)for(var o in r[i])if("PARAMETERS"!==o.toUpperCase()){var a=r[i][o];if(a&&"object"===(void 0===a?"undefined":(0,v.default)(a))){var s={spec:e,pathName:i,method:o.toUpperCase(),operation:a},u=t(s);if(n&&u)return s}}}function f(e){var t=e.spec,n=t.paths,r={};if(!n)return e;for(var i in n){var o=n[i];if((0,y.default)(o)){var s=o.parameters;for(var u in o)!function(e){var n=o[e];if(!(0,y.default)(n))return"continue";var u=a(n,i,e);if(u){r[u]?r[u].push(n):r[u]=[n];var l=r[u];if(l.length>1)l.forEach(function(e,t){e.__originalOperationId=e.__originalOperationId||e.operationId,e.operationId=""+u+(t+1)});else if(void 0!==n.operationId){var c=l[0];c.__originalOperationId=c.__originalOperationId||n.operationId,c.operationId=u}}if("parameters"!==e){var p=[],f={};for(var h in t)"produces"!==h&&"consumes"!==h&&"security"!==h||(f[h]=t[h],p.push(f));if(s&&(f.parameters=s,p.push(f)),p.length){var m=!0,v=!1,g=void 0;try{for(var _,b=(0,d.default)(p);!(m=(_=b.next()).done);m=!0){var x=_.value;for(var w in x)if(n[w]){if("parameters"===w){var k=!0,E=!1,S=void 0;try{for(var C,A=(0,d.default)(x[w]);!(k=(C=A.next()).done);k=!0)!function(){var e=C.value;n[w].some(function(t){return t.name===e.name})||n[w].push(e)}()}catch(e){E=!0,S=e}finally{try{!k&&A.return&&A.return()}finally{if(E)throw S}}}}else n[w]=x[w]}}catch(e){v=!0,g=e}finally{try{!m&&b.return&&b.return()}finally{if(v)throw g}}}}}(u)}}return e}Object.defineProperty(t,"__esModule",{value:!0});var h=n(16),d=r(h),m=n(2),v=r(m);t.isOAS3=i,t.isSwagger2=o,t.opId=a,t.idFromPathMethod=s,t.legacyIdFromPathMethod=u,t.getOperationRaw=l,t.findOperation=c,t.eachOperation=p,t.normalizeSwagger=f;var g=n(54),y=r(g),_=n(21),b=r(_),x=function(e){return String.prototype.toLowerCase.call(e)},w=function(e){return e.replace(/[^\w]/gi,"_")}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}function i(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return"object"===(void 0===e?"undefined":(0,b.default)(e))&&(t=e,e=t.url),t.headers=t.headers||{},A.mergeInQueryOrForm(t),t.requestInterceptor&&(t=t.requestInterceptor(t)||t),/multipart\/form-data/i.test(t.headers["content-type"]||t.headers["Content-Type"])&&(delete t.headers["content-type"],delete t.headers["Content-Type"]),(t.userFetch||fetch)(t.url,t).then(function(n){var r=A.serializeRes(n,e,t).then(function(e){return t.responseInterceptor&&(e=t.responseInterceptor(e)||e),e});if(!n.ok){var i=new Error(n.statusText);return i.statusCode=i.status=n.status,r.then(function(e){throw i.response=e,i},function(e){throw i.responseError=e,i})}return r})}function o(e,t){return"application/json"===t?JSON.parse(e):E.default.safeLoad(e)}function a(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=n.loadSpec,i=void 0!==r&&r,a={ok:e.ok,url:e.url||t,status:e.status,statusText:e.statusText,headers:s(e.headers)},u=a.headers["content-type"],l=i||D(u);return(l?e.text:e.blob||e.buffer).call(e).then(function(e){if(a.text=e,a.data=e,lLine truncated
|
||||
* Autolinker.js
|
||||
* 0.15.3
|
||||
*
|
||||
* Copyright(c) 2015 Gregory Jacobs <greg@greg-jacobs.com>
|
||||
* MIT Licensed. http://www.opensource.org/licenses/mit-license.php
|
||||
*
|
||||
* https://github.com/gregjacobs/Autolinker.js
|
||||
*/
|
||||
var e=function(t){e.Util.assign(this,t)};return e.prototype={constructor:e,urls:!0,email:!0,twitter:!0,newWindow:!0,stripPrefix:!0,truncate:void 0,className:"",htmlParser:void 0,matchParser:void 0,tagBuilder:void 0,link:function(e){for(var t=this.getHtmlParser(),n=t.parse(e),r=0,i=[],o=0,a=n.length;o<a;o++){var s=n[o],u=s.getType(),l=s.getText();if("element"===u)"a"===s.getTagName()&&(s.isClosing()?r=Math.max(r-1,0):r++),i.push(l);else if("entity"===u)i.push(l);else if(0===r){var c=this.linkifyStr(l);i.push(c)}else i.push(l)}return i.join("")},linkifyStr:function(e){return this.getMatchParser().replace(e,this.createMatchReturnVal,this)},createMatchReturnVal:function(t){var n;return this.replaceFn&&(n=this.replaceFn.call(this,this,t)),"string"==typeof n?n:!1===n?t.getMatchedText():n instanceof e.HtmlTag?n.toString():this.getTagBuilder().build(t).toString()},getHtmlParser:function(){var t=this.htmlParser;return t||(t=this.htmlParser=new e.htmlParser.HtmlParser),t},getMatchParser:function(){var t=this.matchParser;return t||(t=this.matchParser=new e.matchParser.MatchParser({urls:this.urls,email:this.email,twitter:this.twitter,stripPrefix:this.stripPrefix})),t},getTagBuilder:function(){var t=this.tagBuilder;return t||(t=this.tagBuilder=new e.AnchorTagBuilder({newWindow:this.newWindow,truncate:this.truncate,className:this.className})),t}},e.link=function(t,n){return new e(n).link(t)},e.match={},e.htmlParser={},e.matchParser={},e.Util={abstractMethod:function(){throw"abstract"},assign:function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},extend:function(t,n){var r=t.prototype,i=function(){};i.prototype=r;var o;o=n.hasOwnProperty("constructor")?n.constructor:function(){r.constructor.apply(this,arguments)};var a=o.prototype=new i;return a.constructor=o,a.superclass=r,delete n.constructor,e.Util.assign(a,n),o},ellipsis:function(e,t,n){return e.length>t&&(n=null==n?"..":n,e=e.substring(0,t-n.length)+n),e},indexOf:function(e,t){if(Array.prototype.indexOf)return e.indexOf(t);for(var n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},splitAndCapture:function(e,t){if(!t.global)throw new Error("`splitRegex` must have the 'g' flag set");for(var n,r=[],i=0;n=t.exec(e);)r.push(e.substring(i,n.index)),r.push(n[0]),i=n.index+n[0].length;return r.push(e.substring(i)),r}},e.HtmlTag=e.Util.extend(Object,{whitespaceRegex:/\s+/,constructor:function(t){e.Util.assign(this,t),this.innerHtml=this.innerHtml||this.innerHTML},setTagName:function(e){return this.tagName=e,this},getTagName:function(){return this.tagName||""},setAttr:function(e,t){return this.getAttrs()[e]=t,this},getAttr:function(e){return this.getAttrs()[e]},setAttrs:function(t){var n=this.getAttrs();return e.Util.assign(n,t),this},getAttrs:function(){return this.attrs||(this.attrs={})},setClass:function(e){return this.setAttr("class",e)},addClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);n=s.shift();)-1===o(a,n)&&a.push(n);return this.getAttrs().class=a.join(" "),this},removeClass:function(t){for(var n,r=this.getClass(),i=this.whitespaceRegex,o=e.Util.indexOf,a=r?r.split(i):[],s=t.split(i);a.length&&(n=s.shift());){var u=o(a,n);-1!==u&&a.splice(u,1)}return this.getAttrs().class=a.join(" "),this},getClass:function(){return this.getAttrs().class||""},hasClass:function(e){return-1!==(" "+this.getClass()+" ").indexOf(" "+e+" ")},setInnerHtml:function(e){return this.innerHtml=e,this},getInnerHtml:function(){return this.innerHtml||""},toString:function(){var e=this.getTagName(),t=this.buildAttrsStr();return t=t?" "+t:"",["<",e,t,">",this.getInnerHtml(),"</",e,">"].join("")},buildAttrsStr:function(){if(!this.attrs)return"";var e=this.getAttrs(),t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n+'="'+e[n]+'"');return t.join(" ")}}),e.AnchorTagBuilder=e.Util.extend(Object,{constructor:function(t){e.Util.assign(this,t)},build:function(t){return new e.HtmlTag({tagName:"a",attrs:this.createAttrs(t.getType(),t.getAnchorHref()),innerHtml:this.processAnchorText(t.getAnchorText())})},createAttrs:function(e,t){var n={href:t},r=this.createCssClass(e);return r&&(n.class=r),this.newWindow&&(n.target="_blank"),n},createCssClass:function(e){var t=this.className;return t?t+" "+t+"-"+e:""},processAnchorText:function(e){return e=this.doTruncate(e)},doTruncate:function(t){return e.Util.ellipsis(t,this.truncate||Number.POSITIVE_INFINITY)}}),e.htmlParser.HtmlParser=e.Util.extend(Object,{htmlRegex:function(){var e=/[0-9a-zA-Z][0-9a-zA-Z:]*/,t=/[^\s\0"'>\/=\x01-\x1F\x7F]+/,n=/(?:"[^"]*?"|'[^']*?'|[^'"=<>`\s]+)/,r=t.source+"(?:\\s*=\\s*"+n.source+")?";return new RegExp(["(?:","<(!DOCTYPE)","(?:","\\s+","(?:",r,"|",n.source+")",")*",">",")","|","(?:","<(/)?","("+e.source+")","(?:","\\s+",r,")*","\\s*/?",">",")"].join(""),"gi")}(),htmlCharacterEntitiesRegex:/( | |<|<|>|>|"|"|')/gi,parse:function(e){for(var t,n,r=this.htmlRegex,i=0,o=[];null!==(t=r.exec(e));){var a=t[0],s=t[1]||t[3]Line truncated
|
||||
* Bowser - a browser detector
|
||||
* https://github.com/ded/bowser
|
||||
* MIT License | (c) Dustin Diaz 2015
|
||||
*/
|
||||
!function(t,r,i){void 0!==e&&e.exports?e.exports=i():n(1209)("bowser",i)}(0,0,function(){function e(e){function t(t){var n=e.match(t);return n&&n.length>1&&n[1]||""}function n(t){var n=e.match(t);return n&&n.length>1&&n[2]||""}var r,i=t(/(ipod|iphone|ipad)/i).toLowerCase(),o=/like android/i.test(e),s=!o&&/android/i.test(e),u=/nexus\s*[0-6]\s*/i.test(e),l=!u&&/nexus\s*[0-9]+/i.test(e),c=/CrOS/.test(e),p=/silk/i.test(e),f=/sailfish/i.test(e),h=/tizen/i.test(e),d=/(web|hpw)os/i.test(e),m=/windows phone/i.test(e),v=(/SamsungBrowser/i.test(e),!m&&/windows/i.test(e)),g=!i&&!p&&/macintosh/i.test(e),y=!s&&!f&&!h&&!d&&/linux/i.test(e),_=n(/edg([ea]|ios)\/(\d+(\.\d+)?)/i),b=t(/version\/(\d+(\.\d+)?)/i),x=/tablet/i.test(e)&&!/tablet pc/i.test(e),w=!x&&/[^-]mobi/i.test(e),k=/xbox/i.test(e);/opera/i.test(e)?r={name:"Opera",opera:a,version:b||t(/(?:opera|opr|opios)[\s\/](\d+(\.\d+)?)/i)}:/opr\/|opios/i.test(e)?r={name:"Opera",opera:a,version:t(/(?:opr|opios)[\s\/](\d+(\.\d+)?)/i)||b}:/SamsungBrowser/i.test(e)?r={name:"Samsung Internet for Android",samsungBrowser:a,version:b||t(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)}:/coast/i.test(e)?r={name:"Opera Coast",coast:a,version:b||t(/(?:coast)[\s\/](\d+(\.\d+)?)/i)}:/yabrowser/i.test(e)?r={name:"Yandex Browser",yandexbrowser:a,version:b||t(/(?:yabrowser)[\s\/](\d+(\.\d+)?)/i)}:/ucbrowser/i.test(e)?r={name:"UC Browser",ucbrowser:a,version:t(/(?:ucbrowser)[\s\/](\d+(?:\.\d+)+)/i)}:/mxios/i.test(e)?r={name:"Maxthon",maxthon:a,version:t(/(?:mxios)[\s\/](\d+(?:\.\d+)+)/i)}:/epiphany/i.test(e)?r={name:"Epiphany",epiphany:a,version:t(/(?:epiphany)[\s\/](\d+(?:\.\d+)+)/i)}:/puffin/i.test(e)?r={name:"Puffin",puffin:a,version:t(/(?:puffin)[\s\/](\d+(?:\.\d+)?)/i)}:/sleipnir/i.test(e)?r={name:"Sleipnir",sleipnir:a,version:t(/(?:sleipnir)[\s\/](\d+(?:\.\d+)+)/i)}:/k-meleon/i.test(e)?r={name:"K-Meleon",kMeleon:a,version:t(/(?:k-meleon)[\s\/](\d+(?:\.\d+)+)/i)}:m?(r={name:"Windows Phone",osname:"Windows Phone",windowsphone:a},_?(r.msedge=a,r.version=_):(r.msie=a,r.version=t(/iemobile\/(\d+(\.\d+)?)/i))):/msie|trident/i.test(e)?r={name:"Internet Explorer",msie:a,version:t(/(?:msie |rv:)(\d+(\.\d+)?)/i)}:c?r={name:"Chrome",osname:"Chrome OS",chromeos:a,chromeBook:a,chrome:a,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:/edg([ea]|ios)/i.test(e)?r={name:"Microsoft Edge",msedge:a,version:_}:/vivaldi/i.test(e)?r={name:"Vivaldi",vivaldi:a,version:t(/vivaldi\/(\d+(\.\d+)?)/i)||b}:f?r={name:"Sailfish",osname:"Sailfish OS",sailfish:a,version:t(/sailfish\s?browser\/(\d+(\.\d+)?)/i)}:/seamonkey\//i.test(e)?r={name:"SeaMonkey",seamonkey:a,version:t(/seamonkey\/(\d+(\.\d+)?)/i)}:/firefox|iceweasel|fxios/i.test(e)?(r={name:"Firefox",firefox:a,version:t(/(?:firefox|iceweasel|fxios)[ \/](\d+(\.\d+)?)/i)},/\((mobile|tablet);[^\)]*rv:[\d\.]+\)/i.test(e)&&(r.firefoxos=a,r.osname="Firefox OS")):p?r={name:"Amazon Silk",silk:a,version:t(/silk\/(\d+(\.\d+)?)/i)}:/phantom/i.test(e)?r={name:"PhantomJS",phantom:a,version:t(/phantomjs\/(\d+(\.\d+)?)/i)}:/slimerjs/i.test(e)?r={name:"SlimerJS",slimer:a,version:t(/slimerjs\/(\d+(\.\d+)?)/i)}:/blackberry|\bbb\d+/i.test(e)||/rim\stablet/i.test(e)?r={name:"BlackBerry",osname:"BlackBerry OS",blackberry:a,version:b||t(/blackberry[\d]+\/(\d+(\.\d+)?)/i)}:d?(r={name:"WebOS",osname:"WebOS",webos:a,version:b||t(/w(?:eb)?osbrowser\/(\d+(\.\d+)?)/i)},/touchpad\//i.test(e)&&(r.touchpad=a)):/bada/i.test(e)?r={name:"Bada",osname:"Bada",bada:a,version:t(/dolfin\/(\d+(\.\d+)?)/i)}:h?r={name:"Tizen",osname:"Tizen",tizen:a,version:t(/(?:tizen\s?)?browser\/(\d+(\.\d+)?)/i)||b}:/qupzilla/i.test(e)?r={name:"QupZilla",qupzilla:a,version:t(/(?:qupzilla)[\s\/](\d+(?:\.\d+)+)/i)||b}:/chromium/i.test(e)?r={name:"Chromium",chromium:a,version:t(/(?:chromium)[\s\/](\d+(?:\.\d+)?)/i)||b}:/chrome|crios|crmo/i.test(e)?r={name:"Chrome",chrome:a,version:t(/(?:chrome|crios|crmo)\/(\d+(\.\d+)?)/i)}:s?r={name:"Android",version:b}:/safari|applewebkit/i.test(e)?(r={name:"Safari",safari:a},b&&(r.version=b)):i?(r={name:"iphone"==i?"iPhone":"ipad"==i?"iPad":"iPod"},b&&(r.version=b)):r=/googlebot/i.test(e)?{name:"Googlebot",googlebot:a,version:t(/googlebot\/(\d+(\.\d+))/i)||b}:{name:t(/^(.*)\/(.*) /),version:n(/^(.*)\/(.*) /)},!r.msedge&&/(apple)?webkit/i.test(e)?(/(apple)?webkit\/537\.36/i.test(e)?(r.name=r.name||"Blink",r.blink=a):(r.name=r.name||"Webkit",r.webkit=a),!r.version&&b&&(r.version=b)):!r.opera&&/gecko\//i.test(e)&&(r.name=r.name||"Gecko",r.gecko=a,r.version=r.version||t(/gecko\/(\d+(\.\d+)?)/i)),r.windowsphone||!s&&!r.silk?!r.windowsphone&&i?(r[i]=a,r.ios=a,r.osname="iOS"):g?(r.mac=a,r.osname="macOS"):k?(r.xbox=a,r.osname="Xbox"):v?(r.windows=a,r.osname="Windows"):y&&(r.linux=a,r.osname="Linux"):(r.android=a,r.osname="Android");var E="";r.windows?E=function(e){switch(e){case"NT":return"NT";case"XP":return"XP";case"NT 5.0":return"2000";case"NT 5.1":return"XP";case"NT 5.2":return"2003";case"NT 6.0":return"Vista";case"NT 6.1":return"7";case"NT 6.2":return"8";case"NT 6.3":return"8.1";case"NT 10.Line truncated
|
||||
Copyright (c) 2016 Jed Watson.
|
||||
Licensed under the MIT License (MIT), see
|
||||
http://jedwatson.github.io/classnames
|
||||
*/
|
||||
!function(){"use strict";function n(){for(var e=[],t=0;t<arguments.length;t++){var r=arguments[t];if(r){var i=typeof r;if("string"===i||"number"===i)e.push(r);else if(Array.isArray(r))e.push(n.apply(null,r));else if("object"===i)for(var a in r)o.call(r,a)&&r[a]&&e.push(a)}}return e.join(" ")}var o={}.hasOwnProperty;void 0!==e&&e.exports?e.exports=n:(r=[],void 0!==(i=function(){return n}.apply(t,r))&&(e.exports=i))}()},function(e,t,n){"use strict";function r(e){return{key:e.nodeKey,className:e.className,"data-sourcepos":e["data-sourcepos"]}}function i(e){var t=e.toLowerCase(),n=w[t]||t;return void 0!==k[n]?n:e}function o(e){return Object.keys(e||{}).reduce(function(t,n){return t[i(n)]=e[n],t},{})}function a(e){var t=r(e),n=e.escapeHtml?{}:{dangerouslySetInnerHTML:{__html:e.literal}},i=e.escapeHtml?[e.literal]:null;if(e.escapeHtml||!e.skipHtml){var o=y(t,n);return l(e.isBlock?"div":"span",o,i)}}function s(e){var t=e.parent.parent;return t&&"list"===t.type.toLowerCase()&&t.listTight}function u(e,t){var n=e;do{n=n.parent}while(!n.react);n.react.children.push(t)}function l(e,t,n){var r=Array.isArray(n)&&n.reduce(c,[]),i=[e,t].concat(r||n);return g.createElement.apply(g,i)}function c(e,t){var n=e.length-1;return"string"==typeof t&&"string"==typeof e[n]?e[n]+=t:e.push(t),e}function p(e){return[e[0][0],":",e[0][1],"-",e[1][0],":",e[1][1]].map(String).join("")}function f(e,t,n,r){var o={key:t};n.sourcePos&&e.sourcepos&&(o["data-sourcepos"]=p(e.sourcepos));var a=i(e.type);switch(a){case"html_inline":case"html_block":o.isBlock="html_block"===a,o.escapeHtml=n.escapeHtml,o.skipHtml=n.skipHtml;break;case"code_block":var s=e.info?e.info.split(/ +/):[];s.length>0&&s[0].length>0&&(o.language=s[0],o.codeinfo=s);break;case"code":o.children=e.literal,o.inline=!0;break;case"heading":o.level=e.level;break;case"softbreak":o.softBreak=n.softBreak;break;case"link":o.href=n.transformLinkUri?n.transformLinkUri(e.destination):e.destination,o.title=e.title||void 0,n.linkTarget&&(o.target=n.linkTarget);break;case"image":o.src=n.transformImageUri?n.transformImageUri(e.destination):e.destination,o.title=e.title||void 0,o.alt=e.react.children.join(""),e.react.children=void 0;break;case"list":o.start=e.listStart,o.type=e.listType,o.tight=e.listTight}"string"!=typeof r&&(o.literal=e.literal);var u=o.children||e.react&&e.react.children;return Array.isArray(u)&&(o.children=u.reduce(c,[])||null),o}function h(e){return e?e.sourcepos?p(e.sourcepos):h(e.parent):null}function d(e){for(var t,n,r,o,a,l,c,p,d,m=e.walker(),v={sourcePos:this.sourcePos,escapeHtml:this.escapeHtml,skipHtml:this.skipHtml,transformLinkUri:this.transformLinkUri,transformImageUri:this.transformImageUri,softBreak:this.softBreak,linkTarget:this.linkTarget},_=0;t=m.next();){var b=h(t.node.sourcepos?t.node:t.node.parent);if(d===b?(c=b+_,_++):(c=b,_=0),d=b,r=t.entering,o=!r,n=t.node,a=i(n.type),p=null,l){if(n!==l&&!("paragraph"===a&&s(n)||this.skipHtml&&("html_block"===a||"html_inline"===a))){var w=n===l,k=-1===this.allowedTypes.indexOf(a),E=!1,S=n.isContainer&&o,C=this.renderers[a];if(this.allowNode&&(S||!n.isContainer)){var A=S?n.react.children:[];p=f(n,c,v,C),E=!this.allowNode({type:x(a),renderer:this.renderers[a],props:p,children:A})}if(w||!E&&!k){var D="text"===a||"softbreak"===a;if("function"!=typeof C&&!D&&"string"!=typeof C)throw new Error("Renderer for type `"+x(n.type)+"` not defined or is not renderable");if(n.isContainer&&r)n.react={component:C,props:{},children:[]};else{var O=p||f(n,c,v,C);if(C)O="string"==typeof C?O:y(O,{nodeKey:O.key}),u(n,g.createElement(C,O));else if("text"===a)u(n,n.literal);else if("softbreak"===a){var M="br"===this.softBreak?g.createElement("br",{key:c}):this.softBreak;u(n,M)}}}else!this.unwrapDisallowed&&r&&n.isContainer&&m.resumeAt(n,!1)}}else l=n,n.react={children:[]}}return l.react.children}function m(e){var t=e.replace(/file:\/\//g,"x-file://");return decodeURI(b.uriInDoubleQuotedAttr(t))}function v(e){var t=e||{};if(t.allowedTypes&&t.disallowedTypes)throw new Error("Only one of `allowedTypes` and `disallowedTypes` should be defined");if(t.allowedTypes&&!Array.isArray(t.allowedTypes))throw new Error("`allowedTypes` must be an array");if(t.disallowedTypes&&!Array.isArray(t.disallowedTypes))throw new Error("`disallowedTypes` must be an array");if(t.allowNode&&"function"!=typeof t.allowNode)throw new Error("`allowNode` must be a function");var n=t.transformLinkUri;if(void 0===n)n=m;else if(n&&"function"!=typeof n)throw new Error("`transformLinkUri` must either be a function, or `null` to disable");var r=t.transformImageUri;if(void 0!==r&&"function"!=typeof r)throw new Error("`transformImageUri` must be a function");if(t.renderers&&!_(t.renderers))throw new Error("`renderers` must be a plain object of `Type`: `Renderer` pairs");var a=t.allowedTypes&&t.allowedTypes.map(i)||E;if(t.disallowedTypes){var s=t.disallowedTypes.map(i);a=a.filter(function(e){return-1===s.indexOf(e)})}return{sourcePos:Boolean(t.sourcePos),softBreak:t.softBreak||"\n",rendLine truncated
|
||||
if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return"";for(var s="";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){"use strict";e.exports.Node=n(176),e.exports.Parser=n(586),e.exports.HtmlRenderer=n(591),e.exports.XmlRenderer=n(592)},function(e,t,n){"use strict";function r(e){return{subject:"",delimiters:null,brackets:null,pos:0,refmap:{},match:N,peek:F,spnl:B,parseBackticks:L,parseBackslash:q,parseAutolink:z,parseHtmlTag:U,scanDelims:W,handleDelim:V,parseLinkTitle:X,parseLinkDestination:K,parseLinkLabel:Y,parseOpenBracket:$,parseBang:Z,parseCloseBracket:Q,addBracket:ee,removeBracket:te,parseEntity:ne,parseString:re,parseNewline:ie,parseReference:oe,parseInline:ae,processEmphasis:J,removeDelimiter:H,options:e||{},parse:se}}var i=n(176),o=n(74),a=n(590),s=o.normalizeURI,u=o.unescapeString,l=n(587),c=n(114).decodeHTML;n(504);var p=o.ESCAPABLE,f="\\\\"+p,h=o.ENTITY,d=o.reHtmlTag,m=new RegExp(/[!"#$%&'()*+,\-.\/:;<=>?@\[\]^_`{|}~\xA1\xA7\xAB\xB6\xB7\xBB\xBF\u037E\u0387\u055A-\u055F\u0589\u058A\u05BE\u05C0\u05C3\u05C6\u05F3\u05F4\u0609\u060A\u060C\u060D\u061B\u061E\u061F\u066A-\u066D\u06D4\u0700-\u070D\u07F7-\u07F9\u0830-\u083E\u085E\u0964\u0965\u0970\u0AF0\u0DF4\u0E4F\u0E5A\u0E5B\u0F04-\u0F12\u0F14\u0F3A-\u0F3D\u0F85\u0FD0-\u0FD4\u0FD9\u0FDA\u104A-\u104F\u10FB\u1360-\u1368\u1400\u166D\u166E\u169B\u169C\u16EB-\u16ED\u1735\u1736\u17D4-\u17D6\u17D8-\u17DA\u1800-\u180A\u1944\u1945\u1A1E\u1A1F\u1AA0-\u1AA6\u1AA8-\u1AAD\u1B5A-\u1B60\u1BFC-\u1BFF\u1C3B-\u1C3F\u1C7E\u1C7F\u1CC0-\u1CC7\u1CD3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205E\u207D\u207E\u208D\u208E\u2308-\u230B\u2329\u232A\u2768-\u2775\u27C5\u27C6\u27E6-\u27EF\u2983-\u2998\u29D8-\u29DB\u29FC\u29FD\u2CF9-\u2CFC\u2CFE\u2CFF\u2D70\u2E00-\u2E2E\u2E30-\u2E42\u3001-\u3003\u3008-\u3011\u3014-\u301F\u3030\u303D\u30A0\u30FB\uA4FE\uA4FF\uA60D-\uA60F\uA673\uA67E\uA6F2-\uA6F7\uA874-\uA877\uA8CE\uA8CF\uA8F8-\uA8FA\uA8FC\uA92E\uA92F\uA95F\uA9C1-\uA9CD\uA9DE\uA9DF\uAA5C-\uAA5F\uAADE\uAADF\uAAF0\uAAF1\uABEB\uFD3E\uFD3F\uFE10-\uFE19\uFE30-\uFE52\uFE54-\uFE61\uFE63\uFE68\uFE6A\uFE6B\uFF01-\uFF03\uFF05-\uFF0A\uFF0C-\uFF0F\uFF1A\uFF1B\uFF1F\uFF20\uFF3B-\uFF3D\uFF3F\uFF5B\uFF5D\uFF5F-\uFF65]|\uD800[\uDD00-\uDD02\uDF9F\uDFD0]|\uD801\uDD6F|\uD802[\uDC57\uDD1F\uDD3F\uDE50-\uDE58\uDE7F\uDEF0-\uDEF6\uDF39-\uDF3F\uDF99-\uDF9C]|\uD804[\uDC47-\uDC4D\uDCBB\uDCBC\uDCBE-\uDCC1\uDD40-\uDD43\uDD74\uDD75\uDDC5-\uDDC9\uDDCD\uDDDB\uDDDD-\uDDDF\uDE38-\uDE3D\uDEA9]|\uD805[\uDCC6\uDDC1-\uDDD7\uDE41-\uDE43\uDF3C-\uDF3E]|\uD809[\uDC70-\uDC74]|\uD81A[\uDE6E\uDE6F\uDEF5\uDF37-\uDF3B\uDF44]|\uD82F\uDC9F|\uD836[\uDE87-\uDE8B]/),v=new RegExp('^(?:"('+f+'|[^"\\x00])*"|\'('+f+"|[^'\\x00])*'|\\(("+f+"|[^)\\x00])*\\))"),g=new RegExp("^(?:[<](?:[^ <>\\t\\n\\\\\\x00]|"+f+"|\\\\)*[>])"),y=new RegExp("^"+p),_=new RegExp("^"+h,"i"),b=/`+/,x=/^`+/,w=/\.\.\./g,k=/--+/g,E=/^<([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])?)*)>/,S=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i,C=/^ *(?:\n *)?/,A=/^[ \t\n\x0b\x0c\x0d]/,D=/[ \t\n\x0b\x0c\x0d]+/g,O=/^\s/,M=/ *$/,T=/^ */,P=/^ *(?:\n|$)/,I=new RegExp("^\\[(?:[^\\\\\\[\\]]|"+f+"|\\\\){0,1000}\\]"),R=/^[^\n`\[\]\\!<&*_'"]+/m,j=function(e){var t=new i("text");return t._literal=e,t},N=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},F=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},B=function(){return this.match(C),!0},L=function(e){var t=this.match(x);if(null===t)return!1;for(var n,r,o=this.pos;null!==(n=this.match(b));)if(n===t)return r=new i("code"),r._literal=this.subject.slice(o,this.pos-t.length).trim().replace(D," "),e.appendChild(r),!0;return this.pos=o,e.appendChild(j(t)),!0},q=function(e){var t,n=this.subject;return this.pos+=1,10===this.peek()?(this.pos+=1,t=new i("linebreak"),e.appendChild(t)):y.test(n.charAt(this.pos))?(e.appendChild(j(n.charAt(this.pos))),this.pos+=1):e.appendChild(j("\\")),!0},z=function(e){var t,n,r;return(t=this.match(E))?(n=t.slice(1,t.length-1),r=new i("link"),r._destination=s("mailto:"+n),r._title="",r.appendChild(j(n)),e.appendChild(r),!0):!!(t=this.match(S))&&(n=t.slice(1,t.length-1),r=new i("link"),r._destination=s(n),r._title="",r.appendChild(j(n)),e.appendChild(r),!0)},U=function(e){var t=this.match(d);if(null===t)return!1;var n=new i("html_inline");return n._literal=t,e.appendChild(n),!0},W=function(e){var t,n,r,i,o,a,s,u,c,p,f,h=0,d=this.pos;if(39===e||34===e)h++,this.pos++;else for(;this.peek()===eLine truncated
|
||||
* cookie
|
||||
* Copyright(c) 2012-2014 Roman Shtylman
|
||||
* Copyright(c) 2015 Douglas Christopher Wilson
|
||||
* MIT Licensed
|
||||
*/
|
||||
t.parse=r,t.serialize=i;var a=decodeURIComponent,s=encodeURIComponent,u=/; */,l=/^[\u0009\u0020-\u007e\u0080-\u00ff]+$/},function(e,t,n){n(690),n(694),n(701),n(372),n(685),n(686),n(691),n(695),n(697),n(681),n(682),n(683),n(684),n(687),n(688),n(689),n(692),n(693),n(696),n(698),n(699),n(700),n(677),n(678),n(679),n(680),e.exports=n(63).String},function(e,t,n){n(675),n(372),n(704),n(676),n(702),n(703),e.exports=n(63).Promise},function(e,t,n){n(103),n(632),e.exports=n(15).Array.from},function(e,t,n){n(104),n(103),e.exports=n(630)},function(e,t,n){n(104),n(103),e.exports=n(631)},function(e,t,n){var r=n(15),i=r.JSON||(r.JSON={stringify:JSON.stringify});e.exports=function(e){return i.stringify.apply(i,arguments)}},function(e,t,n){n(634),e.exports=n(15).Object.assign},function(e,t,n){n(635);var r=n(15).Object;e.exports=function(e,t){return r.create(e,t)}},function(e,t,n){n(636);var r=n(15).Object;e.exports=function(e,t,n){return r.defineProperty(e,t,n)}},function(e,t,n){n(637),e.exports=n(15).Object.getPrototypeOf},function(e,t,n){n(638),e.exports=n(15).Object.keys},function(e,t,n){n(639),e.exports=n(15).Object.setPrototypeOf},function(e,t,n){n(196),n(103),n(104),n(640),n(643),n(644),e.exports=n(15).Promise},function(e,t,n){n(641),n(196),n(645),n(646),e.exports=n(15).Symbol},function(e,t,n){n(103),n(104),e.exports=n(194).f("iterator")},function(e,t,n){n(196),n(104),n(642),n(648),n(647),e.exports=n(15).WeakMap},function(e,t){e.exports=function(){}},function(e,t,n){var r=n(76),i=n(133),o=n(629);e.exports=function(e){return function(t,n,a){var s,u=r(t),l=i(u.length),c=o(a,l);if(e&&n!=n){for(;l>c;)if((s=u[c++])!=s)return!0}else for(;l>c;c++)if((e||c in u)&&u[c]===n)return e||c||0;return!e&&-1}}},function(e,t,n){var r=n(27),i=n(343),o=n(21)("species");e.exports=function(e){var t;return i(e)&&(t=e.constructor,"function"!=typeof t||t!==Array&&!i(t.prototype)||(t=void 0),r(t)&&null===(t=t[o])&&(t=void 0)),void 0===t?Array:t}},function(e,t,n){var r=n(612);e.exports=function(e,t){return new(r(e))(t)}},function(e,t,n){"use strict";var r=n(187),i=n(131).getWeak,o=n(37),a=n(27),s=n(177),u=n(129),l=n(178),c=n(56),p=n(357),f=l(5),h=l(6),d=0,m=function(e){return e._l||(e._l=new v)},v=function(){this.a=[]},g=function(e,t){return f(e.a,function(e){return e[0]===t})};v.prototype={get:function(e){var t=g(this,e);if(t)return t[1]},has:function(e){return!!g(this,e)},set:function(e,t){var n=g(this,e);n?n[1]=t:this.a.push([e,t])},delete:function(e){var t=h(this.a,function(t){return t[0]===e});return~t&&this.a.splice(t,1),!!~t}},e.exports={getConstructor:function(e,t,n,o){var l=e(function(e,r){s(e,l,t,"_i"),e._t=t,e._i=d++,e._l=void 0,void 0!=r&&u(r,n,e[o],e)});return r(l.prototype,{delete:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).delete(e):n&&c(n,this._i)&&delete n[this._i]},has:function(e){if(!a(e))return!1;var n=i(e);return!0===n?m(p(this,t)).has(e):n&&c(n,this._i)}}),l},def:function(e,t,n){var r=i(o(t),!0);return!0===r?m(e).set(t,n):r[e._i]=n,e},ufstore:m}},function(e,t,n){"use strict";var r=n(24),i=n(23),o=n(131),a=n(55),s=n(57),u=n(187),l=n(129),c=n(177),p=n(27),f=n(102),h=n(43).f,d=n(178)(0),m=n(49);e.exports=function(e,t,n,v,g,y){var _=r[e],b=_,x=g?"set":"add",w=b&&b.prototype,k={};return m&&"function"==typeof b&&(y||w.forEach&&!a(function(){(new b).entries().next()}))?(b=t(function(t,n){c(t,b,e,"_c"),t._c=new _,void 0!=n&&l(n,g,t[x],t)}),d("add,clear,delete,forEach,get,has,set,keys,values,entries,toJSON".split(","),function(e){var t="add"==e||"set"==e;e in w&&(!y||"clear"!=e)&&s(b.prototype,e,function(n,r){if(c(this,b,e),!t&&y&&!p(n))return"get"==e&&void 0;var i=this._c[e](0===n?0:n,r);return t?this:i})}),y||h(b.prototype,"size",{get:function(){return this._c.size}})):(b=v.getConstructor(t,e,g,x),u(b.prototype,n),o.NEED=!0),f(b,e),k[e]=b,i(i.G+i.W+i.F,k),y||v.setStrong(b,e,g),b}},function(e,t,n){"use strict";var r=n(43),i=n(101);e.exports=function(e,t,n){t in e?r.f(e,t,i(0,n)):e[t]=n}},function(e,t,n){var r=n(100),i=n(186),o=n(132);e.exports=function(e){var t=r(e),n=i.f;if(n)for(var a,s=n(e),u=o.f,l=0;s.length>l;)u.call(e,a=s[l++])&&t.push(a);return t}},function(e,t){e.exports=function(e,t,n){var r=void 0===n;switch(t.length){case 0:return r?e():e.call(n);case 1:return r?e(t[0]):e.call(n,t[0]);case 2:return r?e(t[0],t[1]):e.call(n,t[0],t[1]);case 3:return r?e(t[0],t[1],t[2]):e.call(n,t[0],t[1],t[2]);case 4:return r?e(t[0],t[1],t[2],t[3]):e.call(n,t[0],t[1],t[2],t[3])}return e.apply(n,t)}},function(e,t,n){"use strict";var r=n(185),i=n(101),o=n(102),a={};n(57)(a,n(21)("iterator"),function(){return this}),e.exports=function(e,t,n){e.prototype=r(a,{next:i(1,n)}),o(e,t+" Iterator")}},function(e,t){e.exports=function(e,t){return{value:t,done:!!e}}},function(e,t,n){var r=n(24),i=n(356).set,o=r.MutationObserver||r.WebKitMutationObserver,a=r.process,s=r.Promise,u="process"==n(99)(a);e.exports=function(){var e,t,n,l=function(){var r,i;for(u&&(r=a.domain)&&r.exit();e;){i=e.fn,e=e.next;try{i()}catch(r){throw e?n():t=vLine truncated
|
||||
* pascalcase <https://github.com/jonschlinkert/pascalcase>
|
||||
*
|
||||
* Copyright (c) 2015, Jon Schlinkert.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
function n(e){if("string"!=typeof e)throw new TypeError("expected a string.");return e=e.replace(/([A-Z])/g," $1"),1===e.length?e.toUpperCase():(e=e.replace(/^[\W_]+|[\W_]+$/g,"").toLowerCase(),e=e.charAt(0).toUpperCase()+e.slice(1),e.replace(/[\W_]+(\w|$)/g,function(e,t){return t.toUpperCase()}))}e.exports=n},function(e,t,n){"use strict";(function(r){function i(e){return e&&e.__esModule?e:{default:e}}function o(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}t.__esModule=!0;var a=n(452),s=i(a),u=n(233),l=i(u),c=function(){function e(t,n,r){o(this,e),this.stringify=t,this.mapOpts=r.map||{},this.root=n,this.opts=r}return e.prototype.isMap=function(){return void 0!==this.opts.map?!!this.opts.map:this.previous().length>0},e.prototype.previous=function(){var e=this;return this.previousMaps||(this.previousMaps=[],this.root.walk(function(t){if(t.source&&t.source.input.map){var n=t.source.input.map;-1===e.previousMaps.indexOf(n)&&e.previousMaps.push(n)}})),this.previousMaps},e.prototype.isInline=function(){if(void 0!==this.mapOpts.inline)return this.mapOpts.inline;var e=this.mapOpts.annotation;return(void 0===e||!0===e)&&(!this.previous().length||this.previous().some(function(e){return e.inline}))},e.prototype.isSourcesContent=function(){return void 0!==this.mapOpts.sourcesContent?this.mapOpts.sourcesContent:!this.previous().length||this.previous().some(function(e){return e.withContent()})},e.prototype.clearAnnotation=function(){if(!1!==this.mapOpts.annotation)for(var e=void 0,t=this.root.nodes.length-1;t>=0;t--)e=this.root.nodes[t],"comment"===e.type&&0===e.text.indexOf("# sourceMappingURL=")&&this.root.removeChild(t)},e.prototype.setSourcesContent=function(){var e=this,t={};this.root.walk(function(n){if(n.source){var r=n.source.input.from;if(r&&!t[r]){t[r]=!0;var i=e.relative(r);e.map.setSourceContent(i,n.source.input.css)}}})},e.prototype.applyPrevMaps=function(){for(var e=this.previous(),t=Array.isArray(e),n=0,e=t?e:e[Symbol.iterator]();;){var r;if(t){if(n>=e.length)break;r=e[n++]}else{if(n=e.next(),n.done)break;r=n.value}var i=r,o=this.relative(i.file),a=i.root||l.default.dirname(i.file),u=void 0;!1===this.mapOpts.sourcesContent?(u=new s.default.SourceMapConsumer(i.text),u.sourcesContent&&(u.sourcesContent=u.sourcesContent.map(function(){return null}))):u=i.consumer(),this.map.applySourceMap(u,o,this.relative(a))}},e.prototype.isAnnotation=function(){return!!this.isInline()||(void 0!==this.mapOpts.annotation?this.mapOpts.annotation:!this.previous().length||this.previous().some(function(e){return e.annotation}))},e.prototype.toBase64=function(e){return r?r.from&&r.from!==Uint8Array.from?r.from(e).toString("base64"):new r(e).toString("base64"):window.btoa(unescape(encodeURIComponent(e)))},e.prototype.addAnnotation=function(){var e=void 0;e=this.isInline()?"data:application/json;base64,"+this.toBase64(this.map.toString()):"string"==typeof this.mapOpts.annotation?this.mapOpts.annotation:this.outputFile()+".map";var t="\n";-1!==this.css.indexOf("\r\n")&&(t="\r\n"),this.css+=t+"/*# sourceMappingURL="+e+" */"},e.prototype.outputFile=function(){return this.opts.to?this.relative(this.opts.to):this.opts.from?this.relative(this.opts.from):"to.css"},e.prototype.generateMap=function(){return this.generateString(),this.isSourcesContent()&&this.setSourcesContent(),this.previous().length>0&&this.applyPrevMaps(),this.isAnnotation()&&this.addAnnotation(),this.isInline()?[this.css]:[this.css,this.map]},e.prototype.relative=function(e){if(0===e.indexOf("<"))return e;if(/^\w+:\/\//.test(e))return e;var t=this.opts.to?l.default.dirname(this.opts.to):".";return"string"==typeof this.mapOpts.annotation&&(t=l.default.dirname(l.default.resolve(t,this.mapOpts.annotation))),e=l.default.relative(t,e),"\\"===l.default.sep?e.replace(/\\/g,"/"):e},e.prototype.sourcePath=function(e){return this.mapOpts.from?this.mapOpts.from:this.relative(e.source.input.from)},e.prototype.generateString=function(){var e=this;this.css="",this.map=new s.default.SourceMapGenerator({file:this.outputFile()});var t=1,n=1,r=void 0,i=void 0;this.stringify(this.root,function(o,a,s){e.css+=o,a&&"end"!==s&&(a.source&&a.source.start?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.start.line,column:a.source.start.column-1}}):e.map.addMapping({source:"<no source>",original:{line:1,column:0},generated:{line:t,column:n-1}})),r=o.match(/\n/g),r?(t+=r.length,i=o.lastIndexOf("\n"),n=o.length-i):n+=o.length,a&&"start"!==s&&(a.source&&a.source.end?e.map.addMapping({source:e.sourcePath(a),generated:{line:t,column:n-1},original:{line:a.source.end.line,column:a.source.end.column}}):e.map.addMapping({source:"<no source>",original:{line:1,column:0},generated:{line:t,column:n-1}}))})},e.prototype.generate=function(){if(this.clearAnnotation(),this.isMap())return this.generateMap();var e="";return this.stringify(this.root,function(t){e+=t}),[e]},e}();t.default=c,e.exports=t.default}).call(t,n(42).Buffer)},Line truncated
|
||||
if(String.fromCodePoint)e.exports=function(e){try{return String.fromCodePoint(e)}catch(e){if(e instanceof RangeError)return String.fromCharCode(65533);throw e}};else{var r=String.fromCharCode,i=Math.floor,o=function(){var e,t,n=[],o=-1,a=arguments.length;if(!a)return"";for(var s="";++o<a;){var u=Number(arguments[o]);if(!isFinite(u)||u<0||u>1114111||i(u)!==u)return String.fromCharCode(65533);u<=65535?n.push(u):(u-=65536,e=55296+(u>>10),t=u%1024+56320,n.push(e,t)),(o+1===a||n.length>16384)&&(s+=r.apply(null,n),n.length=0)}return s};e.exports=o}},function(e,t,n){"use strict";function r(e){return{softbreak:"\n",escape:i,options:e||{},render:c}}var i=n(92).escapeXml,o=function(e,t,n){var r="<"+e;if(t&&t.length>0)for(var i,o=0;void 0!==(i=t[o]);)r+=" "+i[0]+'="'+i[1]+'"',o++;return n&&(r+=" /"),r+=">"},a=/\<[^>]*\>/,s=/^javascript:|vbscript:|file:|data:/i,u=/^data:image\/(?:png|gif|jpeg|webp)/i,l=function(e){return s.test(e)&&!u.test(e)},c=function(e){var t,n,r,i,s,u,c,p=e.walker(),f="",h="\n",d=0,m=function(e){f+=d>0?e.replace(a,""):e,h=e},v=this.escape,g=function(){"\n"!==h&&(f+="\n",h="\n")},y=this.options;for(y.time&&console.time("rendering");i=p.next();){if(u=i.entering,s=i.node,t=[],y.sourcepos){var _=s.sourcepos;_&&t.push(["data-sourcepos",String(_[0][0])+":"+String(_[0][1])+"-"+String(_[1][0])+":"+String(_[1][1])])}switch(s.type){case"Text":m(v(s.literal,!1));break;case"Softbreak":m(this.softbreak);break;case"Hardbreak":m(o("br",[],!0)),g();break;case"Emph":m(o(u?"em":"/em"));break;case"Strong":m(o(u?"strong":"/strong"));break;case"HtmlInline":m(y.safe?"\x3c!-- raw HTML omitted --\x3e":s.literal);break;case"CustomInline":u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit);break;case"Link":u?(y.safe&&l(s.destination)||t.push(["href",v(s.destination,!0)]),s.title&&t.push(["title",v(s.title,!0)]),m(o("a",t))):m(o("/a"));break;case"Image":u?(0===d&&m(y.safe&&l(s.destination)?'<img src="" alt="':'<img src="'+v(s.destination,!0)+'" alt="'),d+=1):0===(d-=1)&&(s.title&&m('" title="'+v(s.title,!0)),m('" />'));break;case"Code":m(o("code")+v(s.literal,!1)+o("/code"));break;case"Document":break;case"Paragraph":if(null!==(c=s.parent.parent)&&"List"===c.type&&c.listTight)break;u?(g(),m(o("p",t))):(m(o("/p")),g());break;case"BlockQuote":u?(g(),m(o("blockquote",t)),g()):(g(),m(o("/blockquote")),g());break;case"Item":u?m(o("li",t)):(m(o("/li")),g());break;case"List":if(r="Bullet"===s.listType?"ul":"ol",u){var b=s.listStart;null!==b&&1!==b&&t.push(["start",b.toString()]),g(),m(o(r,t)),g()}else g(),m(o("/"+r)),g();break;case"Heading":r="h"+s.level,u?(g(),m(o(r,t))):(m(o("/"+r)),g());break;case"CodeBlock":n=s.info?s.info.split(/\s+/):[],n.length>0&&n[0].length>0&&t.push(["class","language-"+v(n[0],!0)]),g(),m(o("pre")+o("code",t)),m(v(s.literal,!1)),m(o("/code")+o("/pre")),g();break;case"HtmlBlock":g(),m(y.safe?"\x3c!-- raw HTML omitted --\x3e":s.literal),g();break;case"CustomBlock":g(),u&&s.onEnter?m(s.onEnter):!u&&s.onExit&&m(s.onExit),g();break;case"ThematicBreak":g(),m(o("hr",t,!0)),g();break;default:throw"Unknown node type "+s.type}}return y.time&&console.timeEnd("rendering"),f};e.exports=r},function(e,t,n){"use strict";e.exports.version="0.24.0",e.exports.Node=n(259),e.exports.Parser=n(1086),e.exports.HtmlRenderer=n(1088),e.exports.XmlRenderer=n(1092)},function(e,t,n){"use strict";function r(e){return{subject:"",delimiters:null,pos:0,refmap:{},match:F,peek:B,spnl:L,parseBackticks:q,parseBackslash:z,parseAutolink:U,parseHtmlTag:W,scanDelims:V,handleDelim:H,parseLinkTitle:K,parseLinkDestination:Y,parseLinkLabel:$,parseOpenBracket:Z,parseCloseBracket:ee,parseBang:Q,parseEntity:te,parseString:ne,parseNewline:re,parseReference:ie,parseInline:oe,processEmphasis:X,removeDelimiter:G,options:e||{},parse:ae}}var i=n(259),o=n(92),a=n(1091),s=o.normalizeURI,u=o.unescapeString,l=n(1087),c=n(114).decodeHTML;n(504);var p=o.ESCAPABLE,f="\\\\"+p,h="\\(([^\\\\()\\x00-\\x20]|"+f+"|\\\\)*\\)",d=o.ENTITY,m=o.reHtmlTag,v=new RegExp(/^[\u2000-\u206F\u2E00-\u2E7F\\'!"#\$%&\(\)\*\+,\-\.\/:;<=>\?@\[\]\^_`\{\|\}~]/),g=new RegExp('^(?:"('+f+'|[^"\\x00])*"|\'('+f+"|[^'\\x00])*'|\\(("+f+"|[^)\\x00])*\\))"),y=new RegExp("^(?:[<](?:[^ <>\\t\\n\\\\\\x00]|"+f+"|\\\\)*[>])"),_=new RegExp("^(?:[^\\\\()\\x00-\\x20]+|"+f+"|\\\\|"+h+")*"),b=new RegExp("^"+p),x=new RegExp("^"+d,"i"),w=/`+/,k=/^`+/,E=/\.\.\./g,S=/--+/g,C=/^<([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])?)*)>/,A=/^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\x00-\x20]*>/i,D=/^ *(?:\n *)?/,O=/^\s/,M=/\s+/g,T=/ *$/,P=/^ */,I=/^ *(?:\n|$)/,R=new RegExp("^\\[(?:[^\\\\\\[\\]]|"+f+"|\\\\){0,1000}\\]"),j=/^[^\n`\[\]\\!<&*_'"]+/m,N=function(e){var t=new i("Text");return t._literal=e,t},F=function(e){var t=e.exec(this.subject.slice(this.pos));return null===t?null:(this.pos+=t.index+t[0].length,t[0])},B=function(){return this.pos<this.subject.length?this.subject.charCodeAt(this.pos):-1},L=function(){return this.match(D),!0},q=funcLine truncated
|
||||
* repeat-string <https://github.com/jonschlinkert/repeat-string>
|
||||
*
|
||||
* Copyright (c) 2014-2015, Jon Schlinkert.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
var i,o="";e.exports=r},function(e,t,n){"use strict";e.exports=function(e,t){if(t=t.split(":")[0],!(e=+e))return!1;switch(t){case"http":case"ws":return 80!==e;case"https":case"wss":return 443!==e;case"ftp":return 21!==e;case"gopher":return 70!==e;case"file":return!1}return 0!==e}},function(e,t,n){"use strict";function r(e,t){e&&Object.keys(e).forEach(function(n){t(e[n],n)})}function i(e,t){return{}.hasOwnProperty.call(e,t)}function o(e,t){var n=[];return r(e,function(e){t(e)&&n.push(e)}),n}function a(e,t,n){function _(e,t){var n=this;this.tag=e,this.attribs=t||{},this.tagPosition=C.length,this.text="",this.updateParentNodeText=function(){if(R.length){R[R.length-1].text+=n.text}}}function b(e){return"string"!=typeof e&&(e+=""),e.replace(/\&/g,"&").replace(/</g,"<").replace(/\>/g,">").replace(/\"/g,""")}function x(e,n){n=n.replace(/[\x00-\x20]+/g,""),n=n.replace(/<\!\-\-.*?\-\-\>/g,"");var r=n.match(/^([a-zA-Z]+)\:/);if(!r)return!!n.match(/^[\/\\]{2}/)&&!t.allowProtocolRelative;var o=r[1].toLowerCase();return i(t.allowedSchemesByTag,e)?-1===t.allowedSchemesByTag[e].indexOf(o):!t.allowedSchemes||-1===t.allowedSchemes.indexOf(o)}function w(e,t){if(!t)return e;var n,r=c(e),i=e.nodes[0];return n=t[i.selector]&&t["*"]?p(c(t[i.selector]),t["*"],function(e,t){if(Array.isArray(e))return e.concat(t)}):t[i.selector]||t["*"],n&&(r.nodes[0].nodes=i.nodes.reduce(E(n),[])),r}function k(e){return e.nodes[0].nodes.reduce(function(e,t){return e.push(t.prop+":"+t.value+";"),e},[]).join("")}function E(e){return function(t,n){if(e.hasOwnProperty(n.prop)){e[n.prop].some(function(e){return e.test(n.value)})&&t.push(n)}return t}}function S(e,t){return t?(e=e.split(/\s+/),e.filter(function(e){return-1!==t.indexOf(e)}).join(" ")):e}var C="";t?(t=u(a.defaults,t),t.parser?t.parser=u(y,t.parser):t.parser=y):(t=a.defaults,t.parser=y);var A,D,O=t.nonTextTags||["script","style","textarea"];t.allowedAttributes&&(A={},D={},r(t.allowedAttributes,function(e,t){A[t]=[];var n=[];e.forEach(function(e){f(e)&&e.indexOf("*")>=0?n.push(l(e).replace(/\\\*/g,".*")):A[t].push(e)}),D[t]=new RegExp("^("+n.join("|")+")$")}));var M={};r(t.allowedClasses,function(e,t){A&&(i(A,t)||(A[t]=[]),A[t].push("class")),M[t]=e});var T,P={};r(t.transformTags,function(e,t){var n;"function"==typeof e?n=e:"string"==typeof e&&(n=a.simpleTransform(e)),"*"===t?T=n:P[t]=n});var I=0,R=[],j={},N={},F=!1,B=0,L=new s.Parser({onopentag:function(e,n){if(F)return void B++;var a=new _(e,n);R.push(a);var s,u=!1,l=!!a.text;i(P,e)&&(s=P[e](e,n),a.attribs=n=s.attribs,void 0!==s.text&&(a.innerText=s.text),e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),T&&(s=T(e,n),a.attribs=n=s.attribs,e!==s.tagName&&(a.name=e=s.tagName,N[I]=s.tagName)),t.allowedTags&&-1===t.allowedTags.indexOf(e)&&(u=!0,-1!==O.indexOf(e)&&(F=!0,B=1),j[I]=!0),I++,u||(C+="<"+e,(!A||i(A,e)||A["*"])&&r(n,function(n,s){if(!g.test(s))return void delete a.attribs[s];var u,l=!1;if(!A||i(A,e)&&-1!==A[e].indexOf(s)||A["*"]&&-1!==A["*"].indexOf(s)||i(D,e)&&D[e].test(s)||D["*"]&&D["*"].test(s))l=!0;else if(A&&A[e]){var c=!0,p=!1,f=void 0;try{for(var y,_=A[e][Symbol.iterator]();!(c=(y=_.next()).done);c=!0){var E=y.value;if(h(E)&&E.name&&E.name===s){l=!0;var O="";if(!0===E.multiple){var T=n.split(" "),P=!0,I=!1,R=void 0;try{for(var j,N=T[Symbol.iterator]();!(P=(j=N.next()).done);P=!0){var F=j.value;-1!==E.values.indexOf(F)&&(""===O?O=F:O+=" "+F)}}catch(e){I=!0,R=e}finally{try{!P&&N.return&&N.return()}finally{if(I)throw R}}}else E.values.indexOf(n)>=0&&(O=n);n=O}}}catch(e){p=!0,f=e}finally{try{!c&&_.return&&_.return()}finally{if(p)throw f}}}if(l){if(-1!==t.allowedSchemesAppliedToAttributes.indexOf(s)&&x(e,n))return void delete a.attribs[s];if("iframe"===e&&"src"===s){if("//"===n.substring(0,2)){n="https:".concat(n)}try{if(u=v.parse(n),t.allowedIframeHostnames){if(!t.allowedIframeHostnames.find(function(e){return e===u.hostname}))return void delete a.attribs[s]}}catch(e){return void delete a.attribs[s]}}if("srcset"===s)try{if(u=d.parse(n),r(u,function(e){x("srcset",e.url)&&(e.evil=!0)}),u=o(u,function(e){return!e.evil}),!u.length)return void delete a.attribs[s];n=d.stringify(o(u,function(e){return!e.evil})),a.attribs[s]=n}catch(e){return void delete a.attribs[s]}if("class"===s&&(n=S(n,M[e]),!n.length))return void delete a.attribs[s];if("style"===s)try{if(n=k(w(m.parse(e+" {"+n+"}"),t.allowedStyles)),0===n.length)return void delete a.attribs[s]}catch(e){return void delete a.attribs[s]}C+=" "+s,n.length&&(C+='="'+b(n)+'"')}else delete a.attribs[s]}),-1!==t.selfClosing.indexOf(e)?C+=" />":(C+=">",!a.innerText||l||t.textFilter||(C+=a.innerText)))},ontext:function(e){if(!F){var n,r=R[R.length-1];if(r&&(n=r.tag,e=void 0!==r.innerText?r.innerText:e),"script"===n||"style"===n)C+=e;else{var i=b(e);t.textFilter?C+=t.textFilter(i):C+=i}if(R.length){R[R.length-1].text+=e}}},onclosetag:function(e){if(F){if(--B)return;F=!1}var n=R.pop();if(n){if(F=!1,I--,j[I])return delete j[I],void n.updateParentNodeText();if(N[I]&&(e=N[I],deleteLine truncated
|
||||
//# sourceMappingURL=swagger-ui-bundle.js.map
|
||||
@@ -1,13 +0,0 @@
|
||||
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.SwaggerUIStandalonePreset=e():t.SwaggerUIStandalonePreset=e()}(this,function(){return function(t){function e(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,e),i.l=!0,i.exports}var n={};return e.m=t,e.c=n,e.i=function(t){return t},e.d=function(t,n,r){e.o(t,n)||Object.defineProperty(t,n,{configurable:!1,enumerable:!0,get:r})},e.n=function(t){var n=t&&t.__esModule?function(){return t.default}:function(){return t};return e.d(n,"a",n),n},e.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},e.p="/dist",e(e.s=536)}([function(t,e,n){"use strict";function r(t){var e={};return null!==t&&Object.keys(t).forEach(function(n){t[n].forEach(function(t){e[String(t)]=n})}),e}function i(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===s.indexOf(e))throw new o('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.defaultStyle=e.defaultStyle||null,this.styleAliases=r(e.styleAliases||null),-1===a.indexOf(this.kind))throw new o('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var o=n(48),s=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=i},function(t,e,n){var r=n(153)("wks"),i=n(108),o=n(5).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e){var n=t.exports={version:"2.5.3"};"number"==typeof __e&&(__e=n)},function(t,e,n){var r=n(5),i=n(17),o=n(18),s=n(30),a=n(61),u=function(t,e,n){var c,l,h,f,p=t&u.F,d=t&u.G,m=t&u.S,v=t&u.P,y=t&u.B,g=d?r:m?r[e]||(r[e]={}):(r[e]||{}).prototype,x=d?i:i[e]||(i[e]={}),b=x.prototype||(x.prototype={});d&&(n=e);for(c in n)l=!p&&g&&void 0!==g[c],h=(l?g:n)[c],f=y&&l?a(h,r):v&&"function"==typeof h?a(Function.call,h):h,g&&s(g,c,h,t&u.U),x[c]!=h&&o(x,c,f),v&&b[c]!=h&&(b[c]=h)};r.core=i,u.F=1,u.G=2,u.S=4,u.P=8,u.B=16,u.W=32,u.U=64,u.R=128,t.exports=u},function(t,e,n){var r=n(3),i=n(42),o=n(10),s=/"/g,a=function(t,e,n,r){var i=String(o(t)),a="<"+e;return""!==n&&(a+=" "+n+'="'+String(r).replace(s,""")+'"'),a+">"+i+"</"+e+">"};t.exports=function(t,e){var n={};n[t]=e(a),r(r.P+r.F*i(function(){var e=""[t]('"');return e!==e.toLowerCase()||e.split('"').length>3}),"String",n)}},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e,n){var r=n(94)("wks"),i=n(59),o=n(9).Symbol,s="function"==typeof o;(t.exports=function(t){return r[t]||(r[t]=s&&o[t]||(s?o:i)("Symbol."+t))}).store=r},function(t,e,n){var r=n(177),i="object"==typeof self&&self&&self.Object===Object&&self,o=r||i||Function("return this")();t.exports=o},function(t,e){var n=Array.isArray;t.exports=n},function(t,e){var n=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=n)},function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},function(t,e,n){"use strict";t.exports=function(t){if("function"!=typeof t)throw new TypeError(t+" is not a function");return t}},function(t,e,n){t.exports=!n(25)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(t,e,n){var r=n(9),i=n(2),o=n(133),s=n(26),a=function(t,e,n){var u,c,l,h=t&a.F,f=t&a.G,p=t&a.S,d=t&a.P,m=t&a.B,v=t&a.W,y=f?i:i[e]||(i[e]={}),g=y.prototype,x=f?r:p?r[e]:(r[e]||{}).prototype;f&&(n=e);for(u in n)(c=!h&&x&&void 0!==x[u])&&u in y||(l=c?x[u]:n[u],y[u]=f&&"function"!=typeof x[u]?n[u]:m&&c?o(l,r):v&&x[u]==l?function(t){var e=function(e,n,r){if(this instanceof t){switch(arguments.length){case 0:return new t;case 1:return new t(e);case 2:return new t(e,n)}return new t(e,n,r)}return t.apply(this,arguments)};return e.prototype=t.prototype,e}(l):d&&"function"==typeof l?o(Function.call,l):l,d&&((y.virtual||(y.virtual={}))[u]=l,t&a.R&&g&&!g[u]&&s(g,u,l)))};a.F=1,a.G=2,a.S=4,a.P=8,a.B=16,a.W=32,a.U=64,a.R=128,t.exports=a},function(t,e){var n={}.hasOwnProperty;t.exports=function(t,e){return n.call(t,e)}},function(t,e,n){var r=n(24),i=n(135),o=n(96),s=Object.defineProperty;e.f=n(12)?Object.defineProperty:function(t,e,n){if(r(t),e=o(e,!0),r(n),i)try{return s(t,e,n)}catch(t){}if("get"in n||"set"in n)throw TypeError("Accessors not supported!");return"value"in n&&(t[e]=n.value),t}},function(t,e,n){var r=n(29);t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},function(t,e){var n=tLine truncated
|
||||
object-assign
|
||||
(c) Sindre Sorhus
|
||||
@license MIT
|
||||
*/
|
||||
var i=Object.getOwnPropertySymbols,o=Object.prototype.hasOwnProperty,s=Object.prototype.propertyIsEnumerable;t.exports=function(){try{if(!Object.assign)return!1;var t=new String("abc");if(t[5]="de","5"===Object.getOwnPropertyNames(t)[0])return!1;for(var e={},n=0;n<10;n++)e["_"+String.fromCharCode(n)]=n;if("0123456789"!==Object.getOwnPropertyNames(e).map(function(t){return e[t]}).join(""))return!1;var r={};return"abcdefghijklmnopqrst".split("").forEach(function(t){r[t]=t}),"abcdefghijklmnopqrst"===Object.keys(Object.assign({},r)).join("")}catch(t){return!1}}()?Object.assign:function(t,e){for(var n,a,u=r(t),c=1;c<arguments.length;c++){n=Object(arguments[c]);for(var l in n)o.call(n,l)&&(u[l]=n[l]);if(i){a=i(n);for(var h=0;h<a.length;h++)s.call(n,a[h])&&(u[a[h]]=n[a[h]])}}return u}},function(t,e,n){"use strict";(function(t){function r(){return o.TYPED_ARRAY_SUPPORT?2147483647:1073741823}function i(t,e){if(r()<e)throw new RangeError("Invalid typed array length");return o.TYPED_ARRAY_SUPPORT?(t=new Uint8Array(e),t.__proto__=o.prototype):(null===t&&(t=new o(e)),t.length=e),t}function o(t,e,n){if(!(o.TYPED_ARRAY_SUPPORT||this instanceof o))return new o(t,e,n);if("number"==typeof t){if("string"==typeof e)throw new Error("If encoding is specified then the first argument must be a string");return c(this,t)}return s(this,t,e,n)}function s(t,e,n,r){if("number"==typeof e)throw new TypeError('"value" argument must not be a number');return"undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer?f(t,e,n,r):"string"==typeof e?l(t,e,n):p(t,e)}function a(t){if("number"!=typeof t)throw new TypeError('"size" argument must be a number');if(t<0)throw new RangeError('"size" argument must not be negative')}function u(t,e,n,r){return a(e),e<=0?i(t,e):void 0!==n?"string"==typeof r?i(t,e).fill(n,r):i(t,e).fill(n):i(t,e)}function c(t,e){if(a(e),t=i(t,e<0?0:0|d(e)),!o.TYPED_ARRAY_SUPPORT)for(var n=0;n<e;++n)t[n]=0;return t}function l(t,e,n){if("string"==typeof n&&""!==n||(n="utf8"),!o.isEncoding(n))throw new TypeError('"encoding" must be a valid string encoding');var r=0|v(e,n);t=i(t,r);var s=t.write(e,n);return s!==r&&(t=t.slice(0,s)),t}function h(t,e){var n=e.length<0?0:0|d(e.length);t=i(t,n);for(var r=0;r<n;r+=1)t[r]=255&e[r];return t}function f(t,e,n,r){if(e.byteLength,n<0||e.byteLength<n)throw new RangeError("'offset' is out of bounds");if(e.byteLength<n+(r||0))throw new RangeError("'length' is out of bounds");return e=void 0===n&&void 0===r?new Uint8Array(e):void 0===r?new Uint8Array(e,n):new Uint8Array(e,n,r),o.TYPED_ARRAY_SUPPORT?(t=e,t.__proto__=o.prototype):t=h(t,e),t}function p(t,e){if(o.isBuffer(e)){var n=0|d(e.length);return t=i(t,n),0===t.length?t:(e.copy(t,0,0,n),t)}if(e){if("undefined"!=typeof ArrayBuffer&&e.buffer instanceof ArrayBuffer||"length"in e)return"number"!=typeof e.length||H(e.length)?i(t,0):h(t,e);if("Buffer"===e.type&&Z(e.data))return h(t,e.data)}throw new TypeError("First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.")}function d(t){if(t>=r())throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+r().toString(16)+" bytes");return 0|t}function m(t){return+t!=t&&(t=0),o.alloc(+t)}function v(t,e){if(o.isBuffer(t))return t.length;if("undefined"!=typeof ArrayBuffer&&"function"==typeof ArrayBuffer.isView&&(ArrayBuffer.isView(t)||t instanceof ArrayBuffer))return t.byteLength;"string"!=typeof t&&(t=""+t);var n=t.length;if(0===n)return 0;for(var r=!1;;)switch(e){case"ascii":case"latin1":case"binary":return n;case"utf8":case"utf-8":case void 0:return q(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*n;case"hex":return n>>>1;case"base64":return Y(t).length;default:if(r)return q(t).length;e=(""+e).toLowerCase(),r=!0}}function y(t,e,n){var r=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===n||n>this.length)&&(n=this.length),n<=0)return"";if(n>>>=0,e>>>=0,n<=e)return"";for(t||(t="utf8");;)switch(t){case"hex":return O(this,e,n);case"utf8":case"utf-8":return k(this,e,n);case"ascii":return T(this,e,n);case"latin1":case"binary":return I(this,e,n);case"base64":return C(this,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return M(this,e,n);default:if(r)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),r=!0}}function g(t,e,n){var r=t[e];t[e]=t[n],t[n]=r}function x(t,e,n,r,i){if(0===t.length)return-1;if("string"==typeof n?(r=n,n=0):n>2147483647?n=2147483647:n<-2147483648&&(n=-2147483648),n=+n,isNaN(n)&&(n=i?0:t.length-1),n<0&&(n=t.length+n),n>=t.length){if(i)return-1;n=t.length-1}else if(n<0){if(!i)return-1;n=0}if("string"==typeof e&&(e=o.from(e,r)),o.isBuffer(e))return 0===e.length?-1:b(t,e,n,r,i);if("number"==typeof e)return e&=255,o.TYPED_ARRAY_SUPPORT&&"function"==typeof Uint8Array.prototype.indexOf?i?Uint8Array.prototype.indexOf.call(t,e,n):Uint8Array.prototype.lastIndexOf.call(t,e,n):b(t,[e],n,r,i);throw new TypeError("val must be string, number or Buffer")}function b(t,e,n,r,i){function o(t,e){returnLine truncated
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
var G=n(223),$=n(357),Z=n(168);e.Buffer=o,e.SlowBuffer=m,e.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==t.TYPED_ARRAY_SUPPORT?t.TYPED_ARRAY_SUPPORT:function(){try{var t=new Uint8Array(1);return t.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===t.foo()&&"function"==typeof t.subarray&&0===t.subarray(1,1).byteLength}catch(t){return!1}}(),e.kMaxLength=r(),o.poolSize=8192,o._augment=function(t){return t.__proto__=o.prototype,t},o.from=function(t,e,n){return s(null,t,e,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(t,e,n){return u(null,t,e,n)},o.allocUnsafe=function(t){return c(null,t)},o.allocUnsafeSlow=function(t){return c(null,t)},o.isBuffer=function(t){return!(null==t||!t._isBuffer)},o.compare=function(t,e){if(!o.isBuffer(t)||!o.isBuffer(e))throw new TypeError("Arguments must be Buffers");if(t===e)return 0;for(var n=t.length,r=e.length,i=0,s=Math.min(n,r);i<s;++i)if(t[i]!==e[i]){n=t[i],r=e[i];break}return n<r?-1:r<n?1:0},o.isEncoding=function(t){switch(String(t).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(t,e){if(!Z(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return o.alloc(0);var n;if(void 0===e)for(e=0,n=0;n<t.length;++n)e+=t[n].length;var r=o.allocUnsafe(e),i=0;for(n=0;n<t.length;++n){var s=t[n];if(!o.isBuffer(s))throw new TypeError('"list" argument must be an Array of Buffers');s.copy(r,i),i+=s.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var e=0;e<t;e+=2)g(this,e,e+1);return this},o.prototype.swap32=function(){var t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var e=0;e<t;e+=4)g(this,e,e+3),g(this,e+1,e+2);return this},o.prototype.swap64=function(){var t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var e=0;e<t;e+=8)g(this,e,e+7),g(this,e+1,e+6),g(this,e+2,e+5),g(this,e+3,e+4);return this},o.prototype.toString=function(){var t=0|this.length;return 0===t?"":0===arguments.length?k(this,0,t):y.apply(this,arguments)},o.prototype.equals=function(t){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===o.compare(this,t)},o.prototype.inspect=function(){var t="",n=e.INSPECT_MAX_BYTES;return this.length>0&&(t=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(t+=" ... ")),"<Buffer "+t+">"},o.prototype.compare=function(t,e,n,r,i){if(!o.isBuffer(t))throw new TypeError("Argument must be a Buffer");if(void 0===e&&(e=0),void 0===n&&(n=t?t.length:0),void 0===r&&(r=0),void 0===i&&(i=this.length),e<0||n>t.length||r<0||i>this.length)throw new RangeError("out of range index");if(r>=i&&e>=n)return 0;if(r>=i)return-1;if(e>=n)return 1;if(e>>>=0,n>>>=0,r>>>=0,i>>>=0,this===t)return 0;for(var s=i-r,a=n-e,u=Math.min(s,a),c=this.slice(r,i),l=t.slice(e,n),h=0;h<u;++h)if(c[h]!==l[h]){s=c[h],a=l[h];break}return s<a?-1:a<s?1:0},o.prototype.includes=function(t,e,n){return-1!==this.indexOf(t,e,n)},o.prototype.indexOf=function(t,e,n){return x(this,t,e,n,!0)},o.prototype.lastIndexOf=function(t,e,n){return x(this,t,e,n,!1)},o.prototype.write=function(t,e,n,r){if(void 0===e)r="utf8",n=this.length,e=0;else if(void 0===n&&"string"==typeof e)r=e,n=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var i=this.length-e;if((void 0===n||n>i)&&(n=i),t.length>0&&(n<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return D(this,t,e,n);case"utf8":case"utf-8":return w(this,t,e,n);case"ascii":return E(this,t,e,n);case"latin1":case"binary":return _(this,t,e,n);case"base64":return S(this,t,e,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return A(this,t,e,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(t,e){var n=this.length;t=~~t,e=void 0===e?n:~~e,t<0?(t+=n)<0&&(t=0):t>n&&(t=n),e<0?(e+=n)<0&&(e=0):e>n&&(e=n),e<t&&(e=t);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(t,e),r.__proto__=o.prototype;else{var i=e-t;r=new o(i,void 0);for(var s=0;s<i;++s)r[s]=this[s+t]}return r},o.prototype.readUIntLE=function(t,e,n){t|=0,e|=0,n||B(t,e,this.length);for(var r=this[t],i=1,o=0;++o<e&&(i*=256);)r+=this[t+o]*i;return r},o.prototype.readUIntBE=function(t,e,n){Line truncated
|
||||
//# sourceMappingURL=swagger-ui-standalone-preset.js.map
|
||||
@@ -1,3 +0,0 @@
|
||||
.swagger-ui{
|
||||
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */font-family:Open Sans,sans-serif;color:#3b4151}.swagger-ui html{line-height:1.15;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}.swagger-ui body{margin:0}.swagger-ui article,.swagger-ui aside,.swagger-ui footer,.swagger-ui header,.swagger-ui nav,.swagger-ui section{display:block}.swagger-ui h1{font-size:2em;margin:.67em 0}.swagger-ui figcaption,.swagger-ui figure,.swagger-ui main{display:block}.swagger-ui figure{margin:1em 40px}.swagger-ui hr{-webkit-box-sizing:content-box;box-sizing:content-box;height:0;overflow:visible}.swagger-ui pre{font-family:monospace,monospace;font-size:1em}.swagger-ui a{background-color:transparent;-webkit-text-decoration-skip:objects}.swagger-ui abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}.swagger-ui b,.swagger-ui strong{font-weight:inherit;font-weight:bolder}.swagger-ui code,.swagger-ui kbd,.swagger-ui samp{font-family:monospace,monospace;font-size:1em}.swagger-ui dfn{font-style:italic}.swagger-ui mark{background-color:#ff0;color:#000}.swagger-ui small{font-size:80%}.swagger-ui sub,.swagger-ui sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}.swagger-ui sub{bottom:-.25em}.swagger-ui sup{top:-.5em}.swagger-ui audio,.swagger-ui video{display:inline-block}.swagger-ui audio:not([controls]){display:none;height:0}.swagger-ui img{border-style:none}.swagger-ui svg:not(:root){overflow:hidden}.swagger-ui button,.swagger-ui input,.swagger-ui optgroup,.swagger-ui select,.swagger-ui textarea{font-family:sans-serif;font-size:100%;line-height:1.15;margin:0}.swagger-ui button,.swagger-ui input{overflow:visible}.swagger-ui button,.swagger-ui select{text-transform:none}.swagger-ui [type=reset],.swagger-ui [type=submit],.swagger-ui button,.swagger-ui html [type=button]{-webkit-appearance:button}.swagger-ui [type=button]::-moz-focus-inner,.swagger-ui [type=reset]::-moz-focus-inner,.swagger-ui [type=submit]::-moz-focus-inner,.swagger-ui button::-moz-focus-inner{border-style:none;padding:0}.swagger-ui [type=button]:-moz-focusring,.swagger-ui [type=reset]:-moz-focusring,.swagger-ui [type=submit]:-moz-focusring,.swagger-ui button:-moz-focusring{outline:1px dotted ButtonText}.swagger-ui fieldset{padding:.35em .75em .625em}.swagger-ui legend{-webkit-box-sizing:border-box;box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}.swagger-ui progress{display:inline-block;vertical-align:baseline}.swagger-ui textarea{overflow:auto}.swagger-ui [type=checkbox],.swagger-ui [type=radio]{-webkit-box-sizing:border-box;box-sizing:border-box;padding:0}.swagger-ui [type=number]::-webkit-inner-spin-button,.swagger-ui [type=number]::-webkit-outer-spin-button{height:auto}.swagger-ui [type=search]{-webkit-appearance:textfield;outline-offset:-2px}.swagger-ui [type=search]::-webkit-search-cancel-button,.swagger-ui [type=search]::-webkit-search-decoration{-webkit-appearance:none}.swagger-ui ::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}.swagger-ui details,.swagger-ui menu{display:block}.swagger-ui summary{display:list-item}.swagger-ui canvas{display:inline-block}.swagger-ui [hidden],.swagger-ui template{display:none}.swagger-ui .debug *{outline:1px solid gold}.swagger-ui .debug-white *{outline:1px solid #fff}.swagger-ui .debug-black *{outline:1px solid #000}.swagger-ui .debug-grid{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTExIDc5LjE1ODMyNSwgMjAxNS8wOS8xMC0wMToxMDoyMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MTRDOTY4N0U2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MTRDOTY4N0Q2N0VFMTFFNjg2MzZDQjkwNkQ4MjgwMEIiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTUgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3NjcyQkQ3NjY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3NjcyQkQ3NzY3QzUxMUU2QjJCQ0UyNDA4MTAwMjE3MSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PsBS+GMAAAAjSURBVHjaYvz//z8DLsD4gcGXiYEAGBIKGBne//fFpwAgwAB98AaF2pjlUQAAAABJRU5ErkJggg==) repeat 0 0}.swagger-ui .debug-grid-16{background:transparent url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0Line truncated
|
||||
/*# sourceMappingURL=swagger-ui.css.map*/
|
||||
@@ -1,8 +0,0 @@
|
||||
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("prop-types"),require("immutable"),require("react-immutable-proptypes"),require("reselect"),require("serialize-error"),require("deep-extend"),require("js-yaml"),require("react-collapse"),require("swagger-client"),require("base64-js"),require("classnames"),require("commonmark"),require("css.escape"),require("ieee754"),require("isarray"),require("memoizee"),require("react-debounce-input"),require("react-dom"),require("react-immutable-pure-component"),require("react-markdown"),require("react-redux"),require("react-split-pane"),require("redux"),require("redux-immutable"),require("regenerator-runtime"),require("remarkable"),require("sanitize-html"),require("url-parse"),require("xml"),require("xml-but-prettier"),require("yaml-js"),require("zenscroll")):"function"==typeof define&&define.amd?define(["react","prop-types","immutable","react-immutable-proptypes","reselect","serialize-error","deep-extend","js-yaml","react-collapse","swagger-client","base64-js","classnames","commonmark","css.escape","ieee754","isarray","memoizee","react-debounce-input","react-dom","react-immutable-pure-component","react-markdown","react-redux","react-split-pane","redux","redux-immutable","regenerator-runtime","remarkable","sanitize-html","url-parse","xml","xml-but-prettier","yaml-js","zenscroll"],t):"object"==typeof exports?exports.SwaggerUICore=t(require("react"),require("prop-types"),require("immutable"),require("react-immutable-proptypes"),require("reselect"),require("serialize-error"),require("deep-extend"),require("js-yaml"),require("react-collapse"),require("swagger-client"),require("base64-js"),require("classnames"),require("commonmark"),require("css.escape"),require("ieee754"),require("isarray"),require("memoizee"),require("react-debounce-input"),require("react-dom"),require("react-immutable-pure-component"),require("react-markdown"),require("react-redux"),require("react-split-pane"),require("redux"),require("redux-immutable"),require("regenerator-runtime"),require("remarkable"),require("sanitize-html"),require("url-parse"),require("xml"),require("xml-but-prettier"),require("yaml-js"),require("zenscroll")):e.SwaggerUICore=t(e.react,e["prop-types"],e.immutable,e["react-immutable-proptypes"],e.reselect,e["serialize-error"],e["deep-extend"],e["js-yaml"],e["react-collapse"],e["swagger-client"],e["base64-js"],e.classnames,e.commonmark,e["css.escape"],e.ieee754,e.isarray,e.memoizee,e["react-debounce-input"],e["react-dom"],e["react-immutable-pure-component"],e["react-markdown"],e["react-redux"],e["react-split-pane"],e.redux,e["redux-immutable"],e["regenerator-runtime"],e.remarkable,e["sanitize-html"],e["url-parse"],e.xml,e["xml-but-prettier"],e["yaml-js"],e.zenscroll)}(this,function(e,t,n,r,a,o,u,i,l,s,c,f,d,p,h,m,v,g,y,_,b,E,S,x,C,w,j,A,R,O,P,T,M){return function(e){function t(r){if(n[r])return n[r].exports;var a=n[r]={i:r,l:!1,exports:{}};return e[r].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var n={};return t.m=e,t.c=n,t.i=function(e){return e},t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist",t(t.s=609)}([function(e,t){e.exports=require("react")},function(e,t){e.exports=require("prop-types")},function(e,t,n){"use strict";t.__esModule=!0,t.default=function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(205),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),(0,a.default)(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}()},function(e,t,n){e.exports={default:n(353),__esModule:!0}},function(e,t,n){"use strict";function r(e){return e&&e.__esModule?e:{default:e}}t.__esModule=!0;var a=n(338),o=r(a),u=n(337),i=r(u),l=n(32),s=r(l);t.default=function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+(void 0===t?"undefined":(0,s.default)(t)));e.prototype=(0,i.default)(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(o.default?(0,o.default)(e,t):e.__proto__=t)}},function(e,t,n){"use strict";t.__esModule=!0;var r=n(32),a=function(e){return e&&e.__esModule?e:{default:e}}(r);t.default=function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!==(void 0===t?"undefined":(0,a.default)(t))&&"function"!=typeof t?e:t}},function(e,t){e.exports=require("immutable")},function(e,t,n){"use strict";(function(e){function r(e){return e&&e.__esModule?e:{default:e}}function a(e){tryLine truncated
|
||||
* The buffer module from node.js, for the browser.
|
||||
*
|
||||
* @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
|
||||
* @license MIT
|
||||
*/
|
||||
var $=n(586),K=n(590),X=n(591);t.Buffer=o,t.SlowBuffer=m,t.INSPECT_MAX_BYTES=50,o.TYPED_ARRAY_SUPPORT=void 0!==e.TYPED_ARRAY_SUPPORT?e.TYPED_ARRAY_SUPPORT:function(){try{var e=new Uint8Array(1);return e.__proto__={__proto__:Uint8Array.prototype,foo:function(){return 42}},42===e.foo()&&"function"==typeof e.subarray&&0===e.subarray(1,1).byteLength}catch(e){return!1}}(),t.kMaxLength=r(),o.poolSize=8192,o._augment=function(e){return e.__proto__=o.prototype,e},o.from=function(e,t,n){return u(null,e,t,n)},o.TYPED_ARRAY_SUPPORT&&(o.prototype.__proto__=Uint8Array.prototype,o.__proto__=Uint8Array,"undefined"!=typeof Symbol&&Symbol.species&&o[Symbol.species]===o&&Object.defineProperty(o,Symbol.species,{value:null,configurable:!0})),o.alloc=function(e,t,n){return l(null,e,t,n)},o.allocUnsafe=function(e){return s(null,e)},o.allocUnsafeSlow=function(e){return s(null,e)},o.isBuffer=function(e){return!(null==e||!e._isBuffer)},o.compare=function(e,t){if(!o.isBuffer(e)||!o.isBuffer(t))throw new TypeError("Arguments must be Buffers");if(e===t)return 0;for(var n=e.length,r=t.length,a=0,u=Math.min(n,r);a<u;++a)if(e[a]!==t[a]){n=e[a],r=t[a];break}return n<r?-1:r<n?1:0},o.isEncoding=function(e){switch(String(e).toLowerCase()){case"hex":case"utf8":case"utf-8":case"ascii":case"latin1":case"binary":case"base64":case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return!0;default:return!1}},o.concat=function(e,t){if(!X(e))throw new TypeError('"list" argument must be an Array of Buffers');if(0===e.length)return o.alloc(0);var n;if(void 0===t)for(t=0,n=0;n<e.length;++n)t+=e[n].length;var r=o.allocUnsafe(t),a=0;for(n=0;n<e.length;++n){var u=e[n];if(!o.isBuffer(u))throw new TypeError('"list" argument must be an Array of Buffers');u.copy(r,a),a+=u.length}return r},o.byteLength=v,o.prototype._isBuffer=!0,o.prototype.swap16=function(){var e=this.length;if(e%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(var t=0;t<e;t+=2)y(this,t,t+1);return this},o.prototype.swap32=function(){var e=this.length;if(e%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(var t=0;t<e;t+=4)y(this,t,t+3),y(this,t+1,t+2);return this},o.prototype.swap64=function(){var e=this.length;if(e%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(var t=0;t<e;t+=8)y(this,t,t+7),y(this,t+1,t+6),y(this,t+2,t+5),y(this,t+3,t+4);return this},o.prototype.toString=function(){var e=0|this.length;return 0===e?"":0===arguments.length?R(this,0,e):g.apply(this,arguments)},o.prototype.equals=function(e){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");return this===e||0===o.compare(this,e)},o.prototype.inspect=function(){var e="",n=t.INSPECT_MAX_BYTES;return this.length>0&&(e=this.toString("hex",0,n).match(/.{2}/g).join(" "),this.length>n&&(e+=" ... ")),"<Buffer "+e+">"},o.prototype.compare=function(e,t,n,r,a){if(!o.isBuffer(e))throw new TypeError("Argument must be a Buffer");if(void 0===t&&(t=0),void 0===n&&(n=e?e.length:0),void 0===r&&(r=0),void 0===a&&(a=this.length),t<0||n>e.length||r<0||a>this.length)throw new RangeError("out of range index");if(r>=a&&t>=n)return 0;if(r>=a)return-1;if(t>=n)return 1;if(t>>>=0,n>>>=0,r>>>=0,a>>>=0,this===e)return 0;for(var u=a-r,i=n-t,l=Math.min(u,i),s=this.slice(r,a),c=e.slice(t,n),f=0;f<l;++f)if(s[f]!==c[f]){u=s[f],i=c[f];break}return u<i?-1:i<u?1:0},o.prototype.includes=function(e,t,n){return-1!==this.indexOf(e,t,n)},o.prototype.indexOf=function(e,t,n){return _(this,e,t,n,!0)},o.prototype.lastIndexOf=function(e,t,n){return _(this,e,t,n,!1)},o.prototype.write=function(e,t,n,r){if(void 0===t)r="utf8",n=this.length,t=0;else if(void 0===n&&"string"==typeof t)r=t,n=this.length,t=0;else{if(!isFinite(t))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");t|=0,isFinite(n)?(n|=0,void 0===r&&(r="utf8")):(r=n,n=void 0)}var a=this.length-t;if((void 0===n||n>a)&&(n=a),e.length>0&&(n<0||t<0)||t>this.length)throw new RangeError("Attempt to write outside buffer bounds");r||(r="utf8");for(var o=!1;;)switch(r){case"hex":return E(this,e,t,n);case"utf8":case"utf-8":return S(this,e,t,n);case"ascii":return x(this,e,t,n);case"latin1":case"binary":return C(this,e,t,n);case"base64":return w(this,e,t,n);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return j(this,e,t,n);default:if(o)throw new TypeError("Unknown encoding: "+r);r=(""+r).toLowerCase(),o=!0}},o.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};var Q=4096;o.prototype.slice=function(e,t){var n=this.length;e=~~e,t=void 0===t?n:~~t,e<0?(e+=n)<0&&(e=0):e>n&&(e=n),t<0?(t+=n)<0&&(t=0):t>n&&(t=n),t<e&&(t=e);var r;if(o.TYPED_ARRAY_SUPPORT)r=this.subarray(e,t),r.__proto__=o.prototype;else{var a=t-e;r=new o(a,void 0);for(var u=0;u<a;++u)r[u]=this[u+e]}return r},o.prototype.readUIntLE=function(e,t,n){e|=0,t|=0,n||q(e,t,this.length);for(var r=this[e],a=1,o=0;++o<t&&(a*=256);)r+=this[e+o]*a;return r},o.prototype.readUIntBE=function(e,t,n){Line truncated
|
||||
//# sourceMappingURL=swagger-ui.js.map
|
||||
Vendored
-77
@@ -1,77 +0,0 @@
|
||||
package cache
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
lru "github.com/hashicorp/golang-lru"
|
||||
)
|
||||
|
||||
type Key interface {
|
||||
Key() interface{}
|
||||
}
|
||||
type Value interface {
|
||||
Stale() bool
|
||||
Value() interface{}
|
||||
}
|
||||
type item struct {
|
||||
key interface{}
|
||||
value interface{}
|
||||
expireOn time.Time
|
||||
}
|
||||
|
||||
func NewItem(key, value interface{}, expires time.Duration) *item {
|
||||
return &item{
|
||||
key: key,
|
||||
value: value,
|
||||
expireOn: time.Now().Add(expires),
|
||||
}
|
||||
}
|
||||
func (e *item) Stale() bool {
|
||||
if e == nil || e.value == nil {
|
||||
return true
|
||||
}
|
||||
|
||||
return time.Now().After(e.expireOn)
|
||||
}
|
||||
func (s *item) Value() interface{} {
|
||||
return s.value
|
||||
}
|
||||
|
||||
type Cacher interface {
|
||||
Add(Key, Value)
|
||||
Has(Key) bool
|
||||
Get(Key) (Value, bool)
|
||||
Remove(Key)
|
||||
}
|
||||
|
||||
type arcCache struct {
|
||||
cache *lru.ARCCache
|
||||
}
|
||||
|
||||
func NewARC(size int) (Cacher, error) {
|
||||
arc, err := lru.NewARC(size)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return &arcCache{cache: arc}, nil
|
||||
}
|
||||
func (c *arcCache) Add(key Key, value Value) {
|
||||
c.cache.Add(key.Key(), value)
|
||||
}
|
||||
func (c *arcCache) Get(key Key) (Value, bool) {
|
||||
if v, ok := c.cache.Get(key.Key()); ok {
|
||||
if value, ok := v.(Value); ok && !value.Stale() {
|
||||
return value, true
|
||||
}
|
||||
c.cache.Remove(key.Key())
|
||||
}
|
||||
return nil, false
|
||||
}
|
||||
func (c *arcCache) Has(key Key) bool {
|
||||
_, ok := c.Get(key)
|
||||
return ok
|
||||
}
|
||||
func (c *arcCache) Remove(key Key) {
|
||||
c.cache.Remove(key.Key())
|
||||
}
|
||||
@@ -1,225 +0,0 @@
|
||||
package promise
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"go.uber.org/ratelimit"
|
||||
"go.sour.is/paste/src/pkg/cache"
|
||||
"sour.is/x/toolbox/log"
|
||||
)
|
||||
|
||||
type Q interface {
|
||||
Key() interface{}
|
||||
Context() context.Context
|
||||
Resolve(interface{})
|
||||
Reject(error)
|
||||
|
||||
Tasker
|
||||
}
|
||||
type Fn func(Q)
|
||||
type Key interface {
|
||||
Key() interface{}
|
||||
}
|
||||
|
||||
type qTask struct {
|
||||
key Key
|
||||
|
||||
fn Fn
|
||||
ctx context.Context
|
||||
|
||||
cancel func()
|
||||
done chan struct{}
|
||||
|
||||
result interface{}
|
||||
err error
|
||||
|
||||
Tasker
|
||||
}
|
||||
|
||||
func (t *qTask) Key() interface{} { return t.key }
|
||||
func (t *qTask) Context() context.Context { return t.ctx }
|
||||
func (t *qTask) Resolve(r interface{}) { t.result = r; t.finish() }
|
||||
func (t *qTask) Reject(err error) { t.err = err; t.finish() }
|
||||
|
||||
func (t *qTask) Await() <-chan struct{} { return t.done }
|
||||
func (t *qTask) Cancel() { t.err = fmt.Errorf("task cancelled"); t.finish() }
|
||||
|
||||
func (t *qTask) Result() interface{} { return t.result }
|
||||
func (t *qTask) Err() error { return t.err }
|
||||
|
||||
func (t *qTask) finish() {
|
||||
if t.done == nil {
|
||||
return
|
||||
}
|
||||
|
||||
t.cancel()
|
||||
close(t.done)
|
||||
t.done = nil
|
||||
}
|
||||
|
||||
type Option interface {
|
||||
Apply(*qTask)
|
||||
}
|
||||
type OptionFn func(*qTask)
|
||||
|
||||
func (fn OptionFn) Apply(t *qTask) { fn(t) }
|
||||
|
||||
type Tasker interface {
|
||||
Run(Key, Fn, ...Option) *qTask
|
||||
}
|
||||
|
||||
type Runner struct {
|
||||
defaultOpts []Option
|
||||
queue map[interface{}]*qTask
|
||||
mu sync.RWMutex
|
||||
ctx context.Context
|
||||
cancel func()
|
||||
pause chan struct{}
|
||||
limiter ratelimit.Limiter
|
||||
}
|
||||
|
||||
type Timeout time.Duration
|
||||
|
||||
func (d Timeout) Apply(task *qTask) {
|
||||
task.ctx, task.cancel = context.WithTimeout(task.ctx, time.Duration(d))
|
||||
}
|
||||
|
||||
func (tr *Runner) Run(key Key, fn Fn, opts ...Option) *qTask {
|
||||
tr.mu.RLock()
|
||||
log.Infos("task to run", fmt.Sprintf("%T", key), key.Key())
|
||||
|
||||
if task, ok := tr.queue[key.Key()]; ok {
|
||||
tr.mu.RUnlock()
|
||||
log.Infos("task found running", fmt.Sprintf("%T", key), key.Key())
|
||||
|
||||
return task
|
||||
}
|
||||
tr.mu.RUnlock()
|
||||
|
||||
task := &qTask{
|
||||
key: key,
|
||||
fn: fn,
|
||||
cancel: func() {},
|
||||
ctx: tr.ctx,
|
||||
done: make(chan struct{}),
|
||||
Tasker: tr,
|
||||
}
|
||||
|
||||
for _, opt := range tr.defaultOpts {
|
||||
opt.Apply(task)
|
||||
}
|
||||
|
||||
for _, opt := range opts {
|
||||
opt.Apply(task)
|
||||
}
|
||||
|
||||
tr.mu.Lock()
|
||||
tr.queue[key.Key()] = task
|
||||
tr.mu.Unlock()
|
||||
|
||||
log.Debug("Waiting for limiter")
|
||||
tr.limiter.Take()
|
||||
log.Debug("Got tag from limiter")
|
||||
|
||||
go func() {
|
||||
defer func() {
|
||||
if r := recover(); r != nil {
|
||||
task.err = fmt.Errorf("PANIC: %v", r)
|
||||
}
|
||||
|
||||
if err := task.Err(); err == nil {
|
||||
log.Infos("task complete", fmt.Sprintf("%T", task.Key()), task.Key())
|
||||
} else {
|
||||
log.Errors("task Failed", fmt.Sprintf("%T", task.Key()), task.Key(), "err", err)
|
||||
}
|
||||
}()
|
||||
|
||||
log.Infos("task Running", fmt.Sprintf("%T", task.Key()), task.Key())
|
||||
|
||||
task.fn(task)
|
||||
|
||||
tr.mu.Lock()
|
||||
delete(tr.queue, task.Key())
|
||||
tr.mu.Unlock()
|
||||
}()
|
||||
|
||||
return task
|
||||
}
|
||||
|
||||
func NewRunner(ctx context.Context, defaultOpts ...Option) *Runner {
|
||||
ctx, cancel := context.WithCancel(ctx)
|
||||
|
||||
tr := &Runner{
|
||||
defaultOpts: defaultOpts,
|
||||
queue: make(map[interface{}]*qTask),
|
||||
ctx: ctx,
|
||||
cancel: cancel,
|
||||
pause: make(chan struct{}),
|
||||
limiter: ratelimit.New(10),
|
||||
}
|
||||
|
||||
return tr
|
||||
}
|
||||
|
||||
func (tr *Runner) List() []*qTask {
|
||||
tr.mu.RLock()
|
||||
defer tr.mu.RUnlock()
|
||||
|
||||
lis := make([]*qTask, 0, len(tr.queue))
|
||||
|
||||
for _, task := range tr.queue {
|
||||
lis = append(lis, task)
|
||||
}
|
||||
|
||||
return lis
|
||||
}
|
||||
|
||||
func (tr *Runner) Stop() {
|
||||
tr.cancel()
|
||||
}
|
||||
|
||||
func (tr *Runner) Len() int {
|
||||
tr.mu.RLock()
|
||||
defer tr.mu.RUnlock()
|
||||
|
||||
return len(tr.queue)
|
||||
}
|
||||
|
||||
func WithCache(c cache.Cacher, expireAfter time.Duration) OptionFn {
|
||||
return func(task *qTask) {
|
||||
innerFn := task.fn
|
||||
task.fn = func(q Q) {
|
||||
cacheKey, ok := q.Key().(cache.Key)
|
||||
if !ok {
|
||||
log.Infos("not a cache key", fmt.Sprintf("%T", q.Key()), q.Key())
|
||||
innerFn(q)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
if v, ok := c.Get(cacheKey); ok {
|
||||
log.Infos("value in cache", fmt.Sprintf("%T", cacheKey), cacheKey.Key())
|
||||
q.Resolve(v.Value())
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
log.Infos("not in cache", fmt.Sprintf("%T", cacheKey), cacheKey.Key())
|
||||
innerFn(q)
|
||||
|
||||
if err := task.Err(); err != nil {
|
||||
log.Error(err)
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
result := cache.NewItem(cacheKey, task.Result(), expireAfter)
|
||||
|
||||
log.Infos("result to cache", fmt.Sprintf("%T", cacheKey), cacheKey.Key())
|
||||
c.Add(cacheKey, result)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,43 +0,0 @@
|
||||
package readutil
|
||||
|
||||
import (
|
||||
"compress/bzip2"
|
||||
"compress/gzip"
|
||||
"errors"
|
||||
"io"
|
||||
|
||||
"github.com/andybalholm/brotli"
|
||||
xz "github.com/remyoudompheng/go-liblzma"
|
||||
"sour.is/x/toolbox/log"
|
||||
)
|
||||
|
||||
// Decompress varius types of compression types
|
||||
func Decompress(in io.Reader) (io.Reader, error) {
|
||||
rdr := NewPreviewReader(in)
|
||||
mime, err := ReadMIMEWithSize(rdr, "", 32768)
|
||||
if err != nil {
|
||||
return rdr.Drain(), err
|
||||
}
|
||||
r := rdr.Drain()
|
||||
|
||||
switch mime {
|
||||
case "application/gzip":
|
||||
r, err = gzip.NewReader(r)
|
||||
|
||||
case "application/x-bzip2":
|
||||
r = bzip2.NewReader(r)
|
||||
|
||||
case "application/x-xz":
|
||||
r, err = xz.NewReader(r)
|
||||
|
||||
case "application/brotli":
|
||||
r = brotli.NewReader(r)
|
||||
default:
|
||||
return r, ErrUnsupportedType
|
||||
}
|
||||
log.Debugs("Decompress:", "mime", mime)
|
||||
|
||||
return r, err
|
||||
}
|
||||
|
||||
var ErrUnsupportedType = errors.New("Unsupported decompression type")
|
||||
@@ -1,89 +0,0 @@
|
||||
package readutil
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
|
||||
"sour.is/x/toolbox/log"
|
||||
)
|
||||
|
||||
// PreviewReader allows for seeking into a stream that does not support rewind
|
||||
type PreviewReader struct {
|
||||
r io.Reader
|
||||
buf bytes.Buffer
|
||||
}
|
||||
|
||||
// NewPreviewReader wrapps a reader with PreviewReader
|
||||
func NewPreviewReader(r io.Reader) *PreviewReader {
|
||||
return &PreviewReader{r: r}
|
||||
}
|
||||
|
||||
// ErrReaderDrained if reading from a drained PreviewReader
|
||||
var ErrReaderDrained = errors.New("io.Reader has been drained")
|
||||
|
||||
func (pr *PreviewReader) Read(p []byte) (n int, err error) {
|
||||
if pr.r == nil {
|
||||
return 0, ErrReaderDrained
|
||||
}
|
||||
|
||||
i, err := pr.r.Read(p)
|
||||
|
||||
log.Debugf("PreviewReader: buffer %d bytes", i)
|
||||
_, berr := pr.buf.Write(p[:i])
|
||||
if berr != nil {
|
||||
return i, berr
|
||||
}
|
||||
|
||||
return i, err
|
||||
}
|
||||
|
||||
// Drain returns reader that is reset
|
||||
func (pr *PreviewReader) Drain() io.Reader {
|
||||
dr := &drainReader{r: pr.r, buf: &pr.buf}
|
||||
pr.r = nil
|
||||
return dr
|
||||
}
|
||||
|
||||
type drainReader struct {
|
||||
r io.Reader
|
||||
buf *bytes.Buffer
|
||||
}
|
||||
|
||||
var _ io.Seeker = (*drainReader)(nil)
|
||||
|
||||
func (dr *drainReader) Read(p []byte) (n int, err error) {
|
||||
i := 0
|
||||
if dr.buf.Len() > 0 {
|
||||
i, err = dr.buf.Read(p)
|
||||
if err != nil && err != io.EOF {
|
||||
return i, err
|
||||
}
|
||||
|
||||
if err != nil && err == io.EOF {
|
||||
err = nil
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return i, err
|
||||
}
|
||||
}
|
||||
|
||||
ri, err := dr.r.Read(p[i:])
|
||||
|
||||
// log.Debugs("drainReader:", "drain", i, "read", ri, "cap", len(p), "err", err)
|
||||
|
||||
return ri + i, err
|
||||
}
|
||||
|
||||
// Seek attempt if the underlying reader supports it.
|
||||
func (dr *drainReader) Seek(offset int64, whence int) (int64, error) {
|
||||
if dr.buf.Len() > 0 {
|
||||
return 0, fmt.Errorf("unable to seek")
|
||||
}
|
||||
if r, ok := dr.r.(io.Seeker); ok {
|
||||
return r.Seek(offset, whence)
|
||||
}
|
||||
return 0, fmt.Errorf("unable to seek")
|
||||
}
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,246 +0,0 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"archive/tar"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"go.sour.is/paste/src/pkg/readutil"
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
"sour.is/x/toolbox/log"
|
||||
|
||||
"github.com/gomarkdown/markdown"
|
||||
"github.com/gomarkdown/markdown/html"
|
||||
"github.com/gomarkdown/markdown/parser"
|
||||
)
|
||||
|
||||
func init() {
|
||||
a := &Artifact{}
|
||||
httpsrv.RegisterModule("artifact", a.config)
|
||||
|
||||
httpsrv.HttpRegister("artifact", httpsrv.HttpRoutes{
|
||||
{Name: "get-path", Method: "GET", Pattern: "/a/{name}/{path:.*}", HandlerFunc: a.get},
|
||||
{Name: "get", Method: "GET", Pattern: "/a/{name}", HandlerFunc: a.get},
|
||||
{Name: "put", Method: "PUT", Pattern: "/a", HandlerFunc: a.put},
|
||||
{Name: "get", Method: "GET", Pattern: "/a", HandlerFunc: a.list},
|
||||
})
|
||||
}
|
||||
|
||||
// Artifact stores items to disk
|
||||
type Artifact struct {
|
||||
store string
|
||||
maxSize int64
|
||||
}
|
||||
|
||||
func (a *Artifact) config(config map[string]string) {
|
||||
a.store = "data/"
|
||||
if config["store"] != "" {
|
||||
a.store = config["store"]
|
||||
}
|
||||
|
||||
if !chkStore(a.store) {
|
||||
log.Criticalf("Artifact Store location [%s] does not exist or is not writable.", a.store)
|
||||
}
|
||||
log.Noticef("Artifact Store location set to [%s]", a.store)
|
||||
|
||||
a.maxSize = 50 * 1024 * 1024
|
||||
if s, ok := config["max-size"]; ok {
|
||||
if i, err := strconv.Atoi(s); err == nil {
|
||||
a.maxSize = int64(i)
|
||||
}
|
||||
}
|
||||
log.Noticef("Artifact: store max-size set to [%d]", a.maxSize)
|
||||
}
|
||||
|
||||
func (a *Artifact) get(w http.ResponseWriter, r *http.Request) {
|
||||
vars := mux.Vars(r)
|
||||
|
||||
name := vars["name"]
|
||||
path, hasPath := vars["path"]
|
||||
|
||||
ext := filepath.Ext(name)
|
||||
id := strings.TrimSuffix(name, ext)
|
||||
|
||||
fname := filepath.Join(a.store, id)
|
||||
|
||||
if !chkFile(fname) {
|
||||
httpsrv.WriteError(w, http.StatusNotFound, "Not Found")
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
if chkGone(fname) {
|
||||
httpsrv.WriteError(w, http.StatusGone, "Gone")
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
f, err := os.Open(fname)
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
if !hasPath {
|
||||
pr := readutil.NewPreviewReader(f)
|
||||
|
||||
mime, err := readutil.ReadMIME(pr, name)
|
||||
if err != nil {
|
||||
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
w.Header().Set("Content-Type", mime)
|
||||
w.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
|
||||
_, _ = io.Copy(w, pr.Drain())
|
||||
return
|
||||
}
|
||||
|
||||
rdr, err := readutil.Decompress(f)
|
||||
if err != nil && err != readutil.ErrUnsupportedType {
|
||||
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
if cl, ok := rdr.(io.ReadCloser); ok {
|
||||
defer cl.Close()
|
||||
}
|
||||
|
||||
tr := tar.NewReader(rdr)
|
||||
if path == "@" {
|
||||
var paths []string
|
||||
for {
|
||||
hdr, err := tr.Next()
|
||||
if err == io.EOF {
|
||||
break // End of archive
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
}
|
||||
paths = append(paths, hdr.Name)
|
||||
}
|
||||
|
||||
httpsrv.WriteObject(w, http.StatusOK, paths)
|
||||
return
|
||||
}
|
||||
|
||||
for {
|
||||
hdr, err := tr.Next()
|
||||
if err == io.EOF {
|
||||
break // End of archive
|
||||
}
|
||||
if err != nil {
|
||||
log.Error(err)
|
||||
}
|
||||
if path == "~" && hdr.Name == "index.html" {
|
||||
path = hdr.Name
|
||||
}
|
||||
if path == "~" && hdr.Name == "index.md" {
|
||||
path = hdr.Name
|
||||
}
|
||||
|
||||
if hdr.Name == path {
|
||||
if strings.HasSuffix(hdr.Name, ".md") {
|
||||
md, err := ioutil.ReadAll(tr)
|
||||
if err != nil {
|
||||
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
w.Header().Set("Content-Type", "text/html")
|
||||
extensions := parser.CommonExtensions | parser.AutoHeadingIDs
|
||||
p := parser.NewWithExtensions(extensions)
|
||||
|
||||
htmlFlags := html.CommonFlags | html.HrefTargetBlank
|
||||
opts := html.RendererOptions{Flags: htmlFlags}
|
||||
renderer := html.NewRenderer(opts)
|
||||
|
||||
b := markdown.ToHTML(md, p, renderer)
|
||||
_, _ = w.Write(b)
|
||||
w.WriteHeader(http.StatusOK)
|
||||
return
|
||||
}
|
||||
|
||||
pr := readutil.NewPreviewReader(tr)
|
||||
|
||||
mime, err := readutil.ReadMIME(pr, hdr.Name)
|
||||
if err != nil {
|
||||
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
w.Header().Set("Content-Type", mime)
|
||||
|
||||
if _, err := io.Copy(w, pr.Drain()); err != nil {
|
||||
log.Error(err)
|
||||
}
|
||||
w.WriteHeader(http.StatusOK)
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
httpsrv.WriteError(w, http.StatusNotFound, "Not Found in Archive")
|
||||
}
|
||||
func (a *Artifact) put(w http.ResponseWriter, r *http.Request) {
|
||||
defer r.Body.Close()
|
||||
|
||||
if h := r.Header.Get("Content-Length"); h != "" {
|
||||
if i, err := strconv.Atoi(h); err == nil {
|
||||
if int64(i) > a.maxSize {
|
||||
http.Error(w, "ERR Size Too Large", http.StatusRequestEntityTooLarge)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rdr := io.LimitReader(r.Body, 500*1024*1024)
|
||||
pr := readutil.NewPreviewReader(rdr)
|
||||
rdr = pr.Drain()
|
||||
|
||||
s256 := sha256.New()
|
||||
tmp, err := ioutil.TempFile(a.store, "arch-")
|
||||
if err != nil {
|
||||
httpsrv.WriteError(w, 400, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
defer os.Remove(tmp.Name())
|
||||
|
||||
m := io.MultiWriter(s256, tmp)
|
||||
if _, err := io.Copy(m, rdr); err != nil {
|
||||
httpsrv.WriteError(w, 400, err.Error())
|
||||
}
|
||||
tmp.Close()
|
||||
|
||||
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
|
||||
fname := filepath.Join(a.store, id)
|
||||
|
||||
log.Debugs("Artifact: moving file", "src", tmp.Name(), "dst", fname)
|
||||
_ = os.Rename(tmp.Name(), fname)
|
||||
|
||||
httpsrv.WriteText(w, http.StatusCreated, id)
|
||||
}
|
||||
func (a *Artifact) list(w http.ResponseWriter, r *http.Request) {
|
||||
err := filepath.Walk(a.store, func(path string, info os.FileInfo, err error) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
if info.IsDir() {
|
||||
return nil
|
||||
}
|
||||
|
||||
_, err = fmt.Fprintln(w, "FILE: ", info.Name())
|
||||
return err
|
||||
})
|
||||
if err != nil {
|
||||
httpsrv.WriteError(w, http.StatusInternalServerError, err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
@@ -1,699 +0,0 @@
|
||||
// Code generated by github.com/sour-is/go-assetfs, DO NOT EDIT.
|
||||
|
||||
// sources:
|
||||
// ../../public/asset-manifest.json (1.274kB)
|
||||
// ../../public/favicon.ico (1.406kB)
|
||||
// ../../public/index.html (2.191kB)
|
||||
// ../../public/manifest.json (316B)
|
||||
// ../../public/paste.sh (1.6kB)
|
||||
// ../../public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js (773B)
|
||||
// ../../public/service-worker.js (1.187kB)
|
||||
// ../../public/static/css/2.1d5ea050.chunk.css (903B)
|
||||
// ../../public/static/css/2.1d5ea050.chunk.css.map (1.731kB)
|
||||
// ../../public/static/css/main.bea1604d.chunk.css (2.58kB)
|
||||
// ../../public/static/css/main.bea1604d.chunk.css.map (5.866kB)
|
||||
// ../../public/static/js/2.d33d7d47.chunk.js (2.422MB)
|
||||
// ../../public/static/js/2.d33d7d47.chunk.js.LICENSE.txt (3.394kB)
|
||||
// ../../public/static/js/2.d33d7d47.chunk.js.map (6.312MB)
|
||||
// ../../public/static/js/main.b55c2acb.chunk.js (14.02kB)
|
||||
// ../../public/static/js/main.b55c2acb.chunk.js.map (36.471kB)
|
||||
// ../../public/static/js/runtime-main.a4bc2b48.js (1.554kB)
|
||||
// ../../public/static/js/runtime-main.a4bc2b48.js.map (8.273kB)
|
||||
|
||||
package routes
|
||||
|
||||
import (
|
||||
"github.com/sour-is/go-assetfs/pkg/assetfs"
|
||||
"bytes"
|
||||
"compress/gzip"
|
||||
"crypto/sha256"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strings"
|
||||
"time"
|
||||
)
|
||||
|
||||
func bindataRead(data []byte, name string) ([]byte, error) {
|
||||
gz, err := gzip.NewReader(bytes.NewBuffer(data))
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("read %q: %v", name, err)
|
||||
}
|
||||
|
||||
var buf bytes.Buffer
|
||||
_, err = io.Copy(&buf, gz)
|
||||
clErr := gz.Close()
|
||||
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("read %q: %v", name, err)
|
||||
}
|
||||
if clErr != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return buf.Bytes(), nil
|
||||
}
|
||||
|
||||
type asset struct {
|
||||
bytes []byte
|
||||
info os.FileInfo
|
||||
digest [sha256.Size]byte
|
||||
}
|
||||
|
||||
type bindataFileInfo struct {
|
||||
name string
|
||||
size int64
|
||||
mode os.FileMode
|
||||
modTime time.Time
|
||||
}
|
||||
|
||||
func (fi bindataFileInfo) Name() string {
|
||||
return fi.name
|
||||
}
|
||||
func (fi bindataFileInfo) Size() int64 {
|
||||
return fi.size
|
||||
}
|
||||
func (fi bindataFileInfo) Mode() os.FileMode {
|
||||
return fi.mode
|
||||
}
|
||||
func (fi bindataFileInfo) ModTime() time.Time {
|
||||
return fi.modTime
|
||||
}
|
||||
func (fi bindataFileInfo) IsDir() bool {
|
||||
return false
|
||||
}
|
||||
func (fi bindataFileInfo) Sys() interface{} {
|
||||
return nil
|
||||
}
|
||||
|
||||
var _publicAssetManifestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\x94\x31\x4f\xc3\x30\x10\x85\xf7\xfc\x0a\x2b\x33\x75\x9a\xc4\x26\x94\x15\x75\x40\x42\x2c\x8c\x88\xc1\x39\x5f\x54\xa7\x8d\x5b\x25\x2e\x14\xa1\xfe\x77\xe4\x2a\x15\x6e\x12\x17\x0b\x31\xd6\x7e\xdf\xbb\xbb\x77\x75\xbe\x22\x42\xe2\x4a\x6d\xb0\x8b\xef\x89\xfd\x41\x48\xdc\x08\xa5\x29\x74\xf6\x24\x4e\xf6\x2a\xe9\x8c\x30\x0a\x12\xe8\xba\xe4\x74\x55\xa2\x48\x6f\xe7\x4c\x52\x58\xed\xf5\xfa\xa4\xbc\x71\xc8\x7a\x08\xd6\x67\x8e\x73\xc8\x04\x94\x3d\x57\x0f\x31\xda\x88\x5d\x28\x7a\xd2\xf6\x78\xbb\xd7\x46\x35\x38\xf3\x56\xbf\x10\x08\x56\x42\x56\xb2\x3b\xa7\xfe\xc0\x60\xba\x0f\x9f\x89\xdb\x89\x93\x54\x46\x53\xc9\x51\xcc\xf9\xdc\x89\x69\x1c\xe8\xa4\xec\xd2\xad\xb6\x2a\x99\xe7\xb2\x90\xac\xf8\xc9\x6e\xd4\xe0\x94\x28\xc4\x69\x7a\x5c\x9f\xb0\x77\x54\x5a\xe2\x81\xae\x4c\xb3\x39\xa3\xce\x49\xaf\xd9\xb5\x08\x02\x56\x36\x32\xad\x2a\xec\x0c\xc5\x62\xc1\x64\x0a\x45\x5e\xf2\xb4\xca\xab\x8c\x65\x39\x67\x0b\x8e\x39\x5b\x54\x80\x8c\x39\x73\xfd\x0d\x3e\xcf\x8b\xed\xbb\x02\x9c\x7d\x6c\xdb\x35\xb6\x6e\x5a\xa3\x8b\xb0\xcd\x4d\x64\x74\x55\x3a\x76\xf5\xbc\x1c\x8f\xf1\x35\x75\xd0\x4e\x9f\x1e\x1f\x96\xcf\x2f\x4b\x6a\x0e\x26\x6c\xb7\x2e\x10\x11\x72\xb4\x55\x62\xd4\xa6\xfd\xdc\x6d\x95\x36\x36\xc1\xd7\x61\xe1\xdf\xde\xd5\xbf\xfc\xcf\x83\xa3\x1c\xdb\x79\xbe\x3a\x11\x21\x6f\xd1\xf1\x3b\x00\x00\xff\xff\x02\x4f\x2f\xf4\xfa\x04\x00\x00")
|
||||
|
||||
func publicAssetManifestJsonBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicAssetManifestJson,
|
||||
"public/asset-manifest.json",
|
||||
)
|
||||
}
|
||||
|
||||
func publicAssetManifestJson() (*asset, error) {
|
||||
bytes, err := publicAssetManifestJsonBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/asset-manifest.json", size: 1274, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb9, 0x11, 0xc6, 0xf4, 0xc, 0x99, 0xaf, 0xe1, 0x45, 0x21, 0x1d, 0x35, 0x19, 0x80, 0x4c, 0xda, 0xe7, 0x51, 0x69, 0xa8, 0x14, 0x7, 0xf, 0x3c, 0xf3, 0x27, 0x59, 0x53, 0xbb, 0x6e, 0x80, 0x46}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicFaviconIco = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x94\x41\x8e\xd3\x30\x14\x86\x3f\xbb\x34\xf1\xc0\x94\x14\x33\x98\x97\x04\x5a\x03\x52\xc4\x3e\x07\xf0\x05\x7a\x81\x5e\x20\x62\x05\x28\x17\x28\x3b\x58\x54\xec\x23\x81\x10\x8b\x5e\xa0\x17\xe8\x1c\x20\x07\xe8\x72\x36\x73\x07\x16\x48\x41\x4e\x19\xc1\x09\x66\xd5\x4f\x7a\x7a\xef\xff\x9f\x65\x7b\xf5\x83\x42\x31\x9f\xc7\x6e\x78\x37\x05\x07\xbc\x05\xe6\x80\xe7\xe4\x8f\x28\xfe\xf1\xdf\xdc\xb6\x2d\x21\xd4\x40\x43\x08\x1d\x9b\xcd\x86\x8f\x1f\xde\xb3\xdd\x6e\xe9\xba\x8e\xe3\xb1\x87\xb0\xa3\xaa\x2a\xea\xba\x66\xb7\xdb\xd1\xb6\x0d\xfb\xfd\x1e\xa8\x09\xa1\xe1\x70\x38\x50\xd7\x47\x18\x06\xa0\xe3\xe7\x8f\xef\x84\x10\xe8\xfb\x1e\x18\x58\xad\x56\xc0\x2d\x70\xa4\xeb\x7a\xd6\xeb\x35\x84\x81\xa6\x69\x20\xdc\x52\x55\x6b\xce\x9c\x39\x73\xdf\x48\xe4\xe5\x8b\xb2\x7c\x2a\x32\x1a\x17\x51\xe6\x79\x9e\x8f\x86\x8b\x69\xf2\xa0\xcc\x97\xcb\x65\x2e\x82\xbb\xcc\xa6\x4e\x9b\x67\xf9\xd5\x55\x5e\x02\x4e\x44\xac\x4a\x5f\x4f\x1e\xbe\x2a\x9f\x44\x6d\x0b\x2b\x92\x29\xbf\x98\x17\xe6\x11\x38\xf3\xdc\xc6\x07\x54\x61\xb2\x99\xd2\x60\xac\xd8\x22\x15\xaf\xac\xc8\x42\xc3\x42\xa6\xc6\x16\xd6\x67\x22\xe2\xd1\xe8\x74\x86\xf7\x66\xdc\x3f\x46\x83\x4f\x7d\x5a\xcc\xa4\x50\x99\x38\x1d\xff\x77\xe9\x17\x26\xde\x69\xc6\xf5\x88\xb2\xd6\x7a\x87\xd6\xa0\x93\x68\xba\x24\xe1\x24\x35\x3a\x76\x74\x92\xdc\x9d\x8e\xf3\x9d\xb8\x9e\xc0\x8d\x82\x6f\x31\x0f\xd3\xbf\x35\x39\xe5\xe3\xa7\x58\x1a\xbe\x68\xb8\x56\x70\x33\x85\xdf\x17\xf0\xb5\x86\x37\x9f\xe1\x57\x80\x3f\x01\x00\x00\xff\xff\x45\x31\xce\x2f\x7e\x05\x00\x00")
|
||||
|
||||
func publicFaviconIcoBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicFaviconIco,
|
||||
"public/favicon.ico",
|
||||
)
|
||||
}
|
||||
|
||||
func publicFaviconIco() (*asset, error) {
|
||||
bytes, err := publicFaviconIcoBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/favicon.ico", size: 1406, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xa8, 0xd7, 0x88, 0x1f, 0xb2, 0xec, 0x4c, 0x44, 0x6, 0xe0, 0x9, 0xf3, 0x63, 0x66, 0x79, 0x3a, 0xde, 0x56, 0xb, 0x35, 0xe6, 0x21, 0x9, 0xe6, 0x72, 0xbc, 0xe7, 0x8c, 0xce, 0xb4, 0x3, 0xc1}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicIndexHtml = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x56\xdf\x6f\xdb\x36\x10\xfe\x57\x64\x0e\x10\x44\x84\xa6\xe5\x34\x59\x0b\x5b\xf4\x5e\xf6\x54\x60\x6b\x81\xee\x65\x10\x84\x82\xa6\x4e\x11\x13\x9a\x14\xc8\x93\xb3\xc0\xd1\xff\x3e\x50\xf2\x8f\xa4\x6b\xba\x06\x41\x44\x1d\xef\xfb\xf8\xf1\xee\x74\x97\x62\x56\x3b\x85\x4f\x1d\x24\x2d\xee\xcc\xa6\x88\x7f\x13\x23\xed\x9d\x20\x60\xc9\xa6\x68\x41\xd6\x9b\x62\x07\x28\x13\xd5\x4a\x1f\x00\x05\xe9\xb1\x99\x7f\x20\x47\xab\x95\x3b\x10\x64\xaf\xe1\xb1\x73\x1e\x49\xa2\x9c\x45\xb0\x28\xc8\xa3\xae\xb1\x15\x35\xec\xb5\x82\xf9\xf8\xc2\xb4\xd5\xa8\xa5\x99\x07\x25\x0d\x88\x25\x0b\xad\xd7\xf6\x61\x8e\x6e\xde\x68\x14\xd6\xbd\xe6\xc4\x16\x76\x30\x57\xce\x38\xff\x82\xf6\x97\x7c\xfc\x21\x9b\xc2\x68\xfb\x90\x78\x30\x82\xec\xa4\xd5\x0d\x04\x24\x49\xeb\xa1\x11\x64\xd1\xeb\xc5\xc9\xc6\xef\x83\xb3\xaf\xbc\x43\xeb\x3c\xaa\x1e\x13\xad\x9c\x7d\x09\x69\xe4\x3e\x9a\xb8\x56\x51\x09\x6a\x34\xb0\xf9\xfd\xcf\x9b\xeb\xe4\xb3\x0c\x08\xc5\x62\xb2\x4c\x4c\x17\x54\x40\x89\x5a\x2d\x54\x08\x8b\x6b\xbe\xac\x6f\x41\xe6\xb7\x39\x57\x6d\x6f\x1f\xb8\x0a\x81\x1c\x0f\xc5\x27\x03\xa1\x05\x40\xf2\x23\x86\x9d\xd4\x96\x6f\x41\x2e\x7f\xcd\x6f\xea\x1f\x93\x2c\xa6\xd4\x6c\x5d\xfd\xb4\x29\xac\x0b\xca\xeb\x0e\x37\x7f\xbb\x3e\xb1\x00\x75\x82\x2e\x01\x2b\xb7\x06\x92\x8f\x72\x2f\xbf\x8c\xbb\xd1\xe8\x7b\x9b\x60\xab\x43\x22\xbb\x8e\x17\x8b\x33\xb0\xa8\xf5\x3e\xd1\xb5\x20\xde\xb9\x91\xbe\xd6\xfb\x4d\x71\xdc\x9c\x35\xbd\x55\xa8\x9d\xcd\x80\x1e\x4e\xeb\x04\x33\xa4\x87\xc6\xf9\x6c\x2f\x7d\x62\x99\x61\x52\x60\x99\x57\x4c\x0b\x2c\x97\x15\xeb\x04\x96\xd7\x15\x53\x22\x67\x41\x94\xd5\x5a\x15\x92\x1b\xb0\x77\xd8\xae\xd5\xd5\x15\x35\x42\x96\xaa\x62\x9f\xb6\xf7\xa0\x90\x77\xde\xa1\x8b\x75\xc8\x5b\x19\x3e\x3d\xda\xcf\xde\x75\xe0\xf1\x89\x2b\x69\x4c\xe6\x98\xa1\x69\xea\x4a\x53\xa5\x69\xe0\x5d\x1f\xda\x2c\xbe\x94\x79\x45\x59\x5c\x88\x7c\x1d\x75\xd8\x44\xdb\x44\xd3\x9f\xa2\xd4\xcc\xd2\x34\xcd\xa0\xb4\x95\xd0\xa5\xad\xe8\xc8\xd0\xa4\x69\x93\x21\x5d\x87\x93\x52\x1a\x78\x68\x75\x83\x19\xcd\xe8\xda\x03\xf6\xde\x26\xfd\xa8\x80\xcb\xae\x33\x4f\x59\xcf\xba\xe7\xe7\xb2\xa2\xcc\x67\x74\x38\x87\xc6\x67\x97\xc8\x00\x43\x91\xaf\xb1\xe8\x4f\x9c\x78\x75\x75\xd9\xf5\xa2\x2f\xb1\x62\x56\xcc\x72\x26\xc5\x72\x2d\x0b\x7f\xf2\x93\xd1\x2f\xfa\x68\xe1\x4b\x59\xad\xf3\x99\x10\xae\xd4\x55\x9a\x66\x56\xcc\x96\x74\xb0\x69\x9a\xf5\x3c\x74\x46\x2b\xc8\x70\x3e\x67\x4b\xca\x40\x98\xcc\xf0\x20\x7c\x0c\x0e\x1d\x8e\x92\x61\x18\x73\x24\x0e\x03\x73\xe2\xb0\x5c\xe5\x03\xeb\x63\x4e\xce\x82\x4d\xcc\xa5\x6e\x32\x5b\x62\x45\x8f\xa0\xb8\xe6\xf0\x4f\xfc\xae\xc3\x7a\xd2\x1a\x4d\xe2\xa0\x57\xc8\xcc\x6a\xb6\x64\xc7\xcd\xd5\x61\x18\x4e\xc1\x81\x08\x1a\x23\xec\x4f\x58\xe6\xd9\x65\x6d\x28\xf3\xdc\xc4\xdb\x9e\x6d\x83\xe1\x3b\x01\xcc\x70\x25\x2c\x33\xbc\x16\x97\x6a\x63\xc8\x3c\x3d\x18\xee\xe2\x92\x3e\x3f\x1f\x53\x5b\x43\xa3\x2d\x9c\x12\x3a\xba\x1d\xc0\xf6\x3b\xf0\xb1\xe2\x57\xb3\x9c\xdd\x01\xae\xfc\x40\x07\x66\xb8\x17\x2f\xab\x97\xf4\x76\x42\xd7\x64\x26\x62\x75\xb8\x26\xf9\xf2\xb4\xdb\x3a\x93\xa6\xd3\x93\xa3\xfb\x82\x5e\xdb\xbb\xbf\xe4\x5d\x9a\xbe\x75\xe2\x7f\x7d\xd9\x61\x2f\x4d\x0f\x2b\xf2\x87\xab\x7b\x03\x64\xa0\xec\x2d\x30\xf9\xfa\x15\xc2\xd1\xed\x04\x9b\xe5\x93\x5c\x7c\x75\xfd\x31\x29\xcb\x14\x63\xa9\x0a\x93\x01\xa5\xec\x43\x8a\xa7\x0c\xc1\x5a\x37\xd9\x4d\xdc\x25\x6e\x3c\x8a\x88\xd3\x9d\x20\x4d\xe3\x2f\xbf\x9c\x74\x01\x4d\xb9\x3c\x8a\x53\x1e\x24\x42\x66\x7b\x63\x68\xa4\x33\xdc\x67\xfe\x2d\xe9\x9e\x91\x1a\x1a\xd9\x1b\x24\xdf\x46\x7c\xba\x05\x0c\x94\x5d\x8f\x82\xc2\x18\x97\x4b\x90\x81\x9e\x5b\x45\xfc\x4c\x81\x1a\x5e\x67\x9e\x59\x76\xbe\x2e\xd2\xc3\x8b\x22\x1a\xf8\x56\xdb\x7a\xd4\xc5\x2c\x3d\x7f\x7c\x3e\xc6\xc8\xbe\x4a\x69\xe4\x44\xf1\xcd\x6d\x7f\x3b\x7b\x5c\x58\xf9\x51\xfb\xb0\xfa\xce\xe6\xb9\x82\xa3\x2e\x64\x44\x12\x86\x94\x61\x3c\xce\x7d\x93\x92\xa3\xe3\x4f\xf5\x99\x08\x88\x1c\xdd\xd4\xeb\xc9\x18\x7c\x29\x62\x0b\xe6\x8f\xb0\xed\xa4\x7a\xf8\x18\x9c\xed\xba\x38\x63\xde\x30\xc7\x06\xc3\xb4\x90\x53\xdf\x19\xc3\x22\xe9\x7a\x7a\x15\xc8\xa4\x90\x3c\x8c\x3d\x60\x6a\x62\xf1\x84\x4e\xe4\xeb\xee\xd2\x70\xbb\xab\x2b\x8a\x99\x2c\xbb\x8a\x8e\x02\x1a\xa1\xd7\xb1\x61\x65\x65\x45\x8b\xc5\x69\x04\x4c\xcf\x24\x78\xf5\x6a\x30\xdd\xc7\xc9\x56\xbf\x7b\x57\xbf\xaf\x6f\xde\x1f\x87\xd2\x7d\x88\x33\xe2\xff\x81\xd3\x40\xbb\xbd\x55\xd7\x52\x6d\xbf\x8b\x5d\x4c\x13\x6c\x31\xfe\xff\xf1\x6f\x00\x00\x00\xff\xff\x67\xa6\x86\xc3\x8f\x08\x00\x00")
|
||||
|
||||
func publicIndexHtmlBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicIndexHtml,
|
||||
"public/index.html",
|
||||
)
|
||||
}
|
||||
|
||||
func publicIndexHtml() (*asset, error) {
|
||||
bytes, err := publicIndexHtmlBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/index.html", size: 2191, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xf9, 0xb7, 0x8e, 0xb8, 0x45, 0xb3, 0x6f, 0xde, 0xd3, 0xb4, 0xd3, 0xfc, 0xa4, 0xe8, 0xb4, 0x85, 0x39, 0x1f, 0x42, 0x9, 0xf2, 0xe9, 0x14, 0x49, 0xe7, 0x5a, 0x88, 0x26, 0xdf, 0x46, 0x3a, 0xfc}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicManifestJson = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x64\x8f\xb1\x4e\xc3\x30\x10\x86\x77\x3f\xc5\xc9\xac\xd0\x50\xd7\xca\xd0\x99\x19\xb1\x23\x14\x1d\x8e\xdb\x58\x38\xbe\xca\xbe\x20\x97\x2a\xef\x8e\xce\x01\x31\xe0\xc1\xc3\x7d\xdf\xfd\xfe\x7d\x53\x00\xba\x4c\x94\x79\x48\x38\x7b\x7d\x04\xfd\xf4\x6c\x0d\xbc\x60\x61\xaf\xef\x85\xfe\xce\xdb\x08\x98\x28\xc2\x89\x32\x88\xb6\x09\xc1\x51\x2a\xfa\x08\xaf\x0a\x00\xe0\xd6\x6e\x49\xcd\x4e\xd6\x4e\xf8\x29\xc2\x2e\x38\x6a\xfa\xc6\xc2\x97\x97\x15\xdd\xdb\xda\x5b\x38\x98\x7a\x30\x60\x6c\x35\x16\xf6\x7d\xdd\xf7\x7f\x26\x5f\x2f\xed\xf5\x30\xe3\xd9\x77\xf5\x41\xb2\x74\x83\xab\x02\x78\x6b\x05\x0a\x63\xe6\x61\xc9\x51\xc4\x6e\x09\x5d\x48\xa3\xaf\xbb\x89\xe7\xb8\x35\x1c\x43\xb9\x44\xbc\x0a\x2e\x8c\x69\xc4\x48\xe9\xe7\x77\x3c\xf9\xd9\x0f\x8e\x22\x65\xc1\x77\x8f\xed\x6c\xec\x1d\xdd\xc7\x39\xd3\x92\xc6\xff\x82\x5a\xd5\x77\x00\x00\x00\xff\xff\x0c\x7f\x57\xd0\x3c\x01\x00\x00")
|
||||
|
||||
func publicManifestJsonBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicManifestJson,
|
||||
"public/manifest.json",
|
||||
)
|
||||
}
|
||||
|
||||
func publicManifestJson() (*asset, error) {
|
||||
bytes, err := publicManifestJsonBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/manifest.json", size: 316, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x2b, 0xcf, 0x43, 0xba, 0x4a, 0x5, 0xb1, 0x8, 0xbc, 0xa7, 0x2e, 0xa5, 0x84, 0x8e, 0x4, 0x4b, 0x0, 0xf2, 0x9d, 0xc5, 0x86, 0x99, 0x41, 0xca, 0xea, 0x86, 0x31, 0x7a, 0x26, 0xdd, 0xe, 0x92}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicPasteSh = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\x61\x4f\xdb\x48\x14\xfc\xbe\xbf\x62\xba\xf5\xe1\x58\x65\x71\x12\x01\x1f\x42\x7d\x3a\xe0\x50\x53\xb5\x02\x44\xc2\xe9\xd4\xa3\x87\x36\xde\x97\xd8\x22\x59\xfb\xbc\xeb\xc2\xb5\xce\x7f\x3f\xad\x13\x3b\x49\xcb\xa9\xe4\x4b\xfc\xfc\xde\xcc\x7a\x67\x46\xef\xf5\xab\x70\x92\xea\x70\x22\x4d\xc2\x58\x3a\xc5\x5f\xe0\x5e\x8f\x23\x02\x17\x09\xc7\xe7\x13\xd8\x84\x34\x43\x2c\x2d\x7a\xbf\xee\xf5\xf1\xf6\xed\xc5\xd5\x47\x56\x1a\x39\xa3\x01\x28\x4e\x32\x84\x64\xe3\x30\x97\xc6\x3c\x2a\x54\x38\x70\x8f\x96\x0e\x1c\x1d\xe9\x2f\xc8\x72\x9b\x66\xda\x0c\x18\x70\x7d\x3a\x1a\x5f\xdc\xdf\xde\x7c\x04\x04\x46\x64\x1d\x35\xca\x62\x8e\x89\x34\x84\x69\x56\xa0\x86\x22\xcb\xa9\x90\x35\x0a\x1d\x45\x53\x59\xce\xed\x00\xc3\xf1\xf8\x7a\x34\x08\xd7\xec\x4a\x1f\xf6\x0f\x4a\x13\xb4\xac\xef\x3e\xbd\xbf\x86\x40\x17\x11\x2e\x33\x9c\x67\x8b\xbc\x20\x63\xd2\x4c\xef\x03\x3d\x44\xb8\x35\x84\xd9\xd7\x34\x47\xbc\x69\x6d\xb1\x77\x37\x4c\x67\xb7\x37\x97\x1b\xa6\xb3\xb2\xd0\xc8\x34\x6e\x48\xaa\xfd\x9a\xa9\x79\x53\x90\x54\x68\x7e\xcf\x32\xfd\x7e\x3a\xbe\x80\xc0\x1f\x72\x5e\x12\x6c\x86\x09\xa1\x34\xa4\xf0\x98\x90\x86\x21\x6b\x53\x3d\x03\x3d\xe5\x69\x41\x50\xd2\xd2\xc1\x2e\x93\xa6\x27\x2b\x1e\x89\x1e\x02\xe6\x24\x07\xe8\x29\xb5\x6c\x9a\x32\xd6\x0a\x19\x79\xdf\xda\x67\xc1\x13\x6b\x73\xf3\xbd\x44\x7c\xc9\x36\xf7\x6a\xe7\x5d\x21\xba\x4d\xcb\x7d\x68\xdb\x72\x85\xe0\xed\xe1\x2d\xde\x29\xdc\x0e\xb9\xc2\xe1\xdf\x7d\x3a\x7b\x7f\x19\xf1\x58\x5a\xce\x5c\x72\x36\x5d\x0e\x41\xff\x80\xf7\x38\x3e\x63\x6f\x0f\xeb\xc1\xda\x02\x11\xf3\xfa\x0e\xa3\xc8\xeb\x24\xb5\x8a\x22\xc6\x61\x17\xa1\xa2\x2f\x61\x59\x48\xad\xb2\x45\x70\xc2\xce\x87\x1f\x22\xaf\x53\x47\x0c\x10\x06\x8e\x7c\x84\xca\xc5\x43\x1b\x33\x87\x9a\x19\x0b\x61\x12\xd9\x3f\x3a\x86\x98\xa4\x5a\x16\xff\xfe\xd0\x2e\xd2\x9c\x16\xaa\x77\xdc\xdd\x9a\x70\x71\x3b\x3e\x44\x05\x5b\xc0\x0f\xdf\xf8\xf0\xef\x85\xbf\x2a\x85\x82\x1f\xf9\x41\xf3\x75\xab\xc3\x5f\x7e\xf6\x0b\x98\x87\xa7\xa3\x61\xe4\x75\x56\xd4\x82\xc0\xe9\x29\x1f\xdc\x59\xaf\xe3\x12\x80\x37\xbf\x18\x37\xb9\xed\xc5\x32\xe0\x27\xb8\x63\x4d\xd2\x5a\x5c\x9c\x3c\x38\xdc\xf9\xf0\xc3\x4e\x7f\xe3\x82\xf3\xf8\x3b\x17\x5a\xf0\xa4\x2c\xf4\xe0\xce\xda\xa2\xa4\xff\x41\x3f\xe3\x61\x8b\xfe\x9a\xe6\xcf\x81\x5d\x7f\xbb\x76\x3b\xa3\xf6\xd4\x58\x95\x6a\x54\xf0\xea\x14\x6c\xc9\x28\xc9\x88\xfe\xd1\xb1\x88\x27\x31\xc4\x42\x61\xa1\x8e\xdc\x01\x42\x42\x3c\xac\x34\x0f\x50\x6d\x33\xba\x6d\x21\x0c\xc4\x9f\xb8\xbe\x1a\x8d\xb1\x15\xff\xe5\x2a\xf6\x10\x42\x49\x2b\x1b\x4b\x7e\x13\x01\xab\x25\xbf\xbf\x6a\xc3\xe4\xb9\x1a\x15\xe2\xd2\x42\xc4\x3d\xd1\x0f\xda\xc5\xb7\x9e\xac\xd7\x9f\xfb\x6b\xd7\x1f\xd6\xb6\xfd\x48\x30\xed\x43\x28\x1f\x7e\xc0\xd8\xda\x1c\x5e\x16\xf3\xc1\xee\xa7\xbd\x0e\xbd\x6f\x0e\xb4\x7c\x55\xbf\x1e\x2d\x79\x33\x2c\x34\xb8\x49\x68\x3e\x1f\xb4\x97\xdb\x41\xca\x3c\x0d\x67\x64\x1b\x3c\x2a\xb8\x0d\xe2\xf7\xf6\xc3\xbf\xef\xbc\x50\xf9\x3f\x13\x53\x35\x62\x6e\xce\xfd\xb9\xc7\x1c\xd5\x6a\x59\x0a\x15\x73\x54\xd5\xca\xd9\xed\x0d\xb4\xd1\xe1\xbf\x00\x00\x00\xff\xff\x29\xb1\x56\x6b\x40\x06\x00\x00")
|
||||
|
||||
func publicPasteShBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicPasteSh,
|
||||
"public/paste.sh",
|
||||
)
|
||||
}
|
||||
|
||||
func publicPasteSh() (*asset, error) {
|
||||
bytes, err := publicPasteShBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/paste.sh", size: 1600, mode: os.FileMode(0755), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x90, 0xe0, 0xa6, 0x70, 0x30, 0x16, 0xec, 0xb8, 0xfb, 0xee, 0xdb, 0x2b, 0x2a, 0xc6, 0x95, 0x53, 0x37, 0xb3, 0xbc, 0x14, 0xd1, 0x4f, 0x13, 0x5a, 0x31, 0x9a, 0xb8, 0xb9, 0x61, 0xda, 0xda, 0x6d}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xac\xd0\xcf\xca\x13\x31\x14\x05\xf0\xfd\x3c\x45\x98\xd5\x57\xa8\x99\xfc\xcf\x44\x71\x25\x5d\x08\xea\xc6\x65\x29\xe5\xe6\x26\xa1\xa9\xed\x54\x26\x19\x29\x58\xdf\x5d\xaa\x76\x57\x87\x16\xbe\x75\x72\xcf\x8f\x73\x4a\x3c\x24\xba\xdd\x7e\x1f\x23\x02\xee\xe2\x67\x18\x72\x8a\xa5\x92\xf7\xe4\xe5\x7f\x4f\x97\x0b\x59\x6f\x16\x14\x4f\x03\x42\x7d\x59\x37\x84\xfc\x6c\x08\x21\xa4\x1d\xe3\x8f\x5c\xf2\x69\x68\xdf\x92\x16\xd0\x38\x30\x36\xf4\x3e\x0a\x63\x5d\xb2\xce\xab\xc8\x1c\x33\x82\x81\xf7\x42\xb6\xcb\xbf\x37\xd3\x78\xb8\x7e\xef\xa6\xdc\xe5\x21\xc4\x33\xdd\xd5\xe3\xa1\x6d\x08\xf9\xb5\xbc\x1f\x1c\xb9\xeb\x59\x0a\xa0\xbd\xb4\x01\x39\x7a\x95\xd2\x9d\xb0\x52\xa1\x66\xec\xb0\x94\x4e\x50\x1e\x74\x04\xa6\x19\xc5\xdd\x34\x7c\xa3\x58\xca\x9c\x80\xe0\x5c\xea\xa5\xb4\x81\x0b\x6e\x9d\x71\xca\xe1\xbc\x70\x84\x3c\x50\x1f\x81\x1b\xa6\xc2\x63\xc8\x73\x35\xf6\xd7\x16\x41\xca\x60\x83\xb2\xff\x80\xfd\x6c\xbe\x72\x21\x29\x0e\xa0\x63\xe2\x56\x38\xc1\x98\x05\x93\xa4\xd6\x32\x39\xec\xb5\x7e\xd6\xa2\x9f\x3e\x7e\x58\x7d\xf9\xba\xa2\xf5\x5c\x5f\x6f\xbc\xfd\x6d\x3b\xad\x51\x00\xfa\x87\xaa\x99\x80\x5a\xf0\xc4\x93\x93\x0a\x85\xb7\xd2\x24\x3f\x4b\x8c\xd3\x50\xf3\x31\xbe\xf9\x43\x81\xf2\x28\xbc\xea\x6f\x48\xb3\x59\xbc\xfb\x1d\x00\x00\xff\xff\x0b\xfe\x1c\x10\x05\x03\x00\x00")
|
||||
|
||||
func publicPrecacheManifestE794d1c73b51f3f24235495e349fce44JsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js,
|
||||
"public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js() (*asset, error) {
|
||||
bytes, err := publicPrecacheManifestE794d1c73b51f3f24235495e349fce44JsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js", size: 773, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x65, 0x67, 0xc0, 0xb9, 0x1c, 0xdd, 0xc, 0x76, 0x72, 0x2a, 0xaa, 0xd4, 0xf2, 0xe6, 0x1d, 0xfb, 0x98, 0x8, 0xce, 0x41, 0x3c, 0xb6, 0x5, 0xd2, 0x95, 0x41, 0xfa, 0x8b, 0x4e, 0xf3, 0xfe, 0x7d}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicServiceWorkerJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x93\x71\x6f\xdb\x36\x10\xc5\xff\xd7\xa7\xb8\x05\x43\x6d\xa7\x0e\x89\xc4\x0e\x8a\x34\xf0\x86\xa2\xdb\xba\xa0\x59\x91\xda\x29\x8c\xc1\x71\x02\x9a\x3c\x49\x9c\x29\x9e\xc6\xa3\xe2\x1a\x6d\xbf\xfb\x40\x59\x4e\xb7\xae\xfe\x53\xe4\xdd\x8f\xf7\xee\x3d\xc9\xe3\xe3\x0c\x8e\x61\x8e\x4e\x53\x85\x10\x09\xb6\xd4\x04\x98\x53\x58\xaf\xe8\xe3\x49\x4d\x1b\x0c\x68\x80\x31\x3c\x5a\x8d\xb0\xa1\xb0\xc6\xf0\x43\x06\x6d\xd7\x9f\xd4\xf4\x9c\x03\x8f\x68\x52\x67\xc0\xc2\x72\xc4\x00\xb1\xb4\x0c\xb9\x75\x08\xd6\xef\x78\x1b\x5c\x81\xaa\x6b\x50\xde\xa4\x03\xe0\x92\x1a\x67\x12\xc3\x58\x56\x2b\x87\xf0\xfb\xed\xed\x0d\x68\xa5\x4b\xeb\x0b\xc8\xe9\xdf\x90\x48\x24\x52\xe9\x0c\x11\xca\x18\x6b\x7e\x29\x65\x41\x24\x0a\x27\x7d\xf9\xbe\x7c\x53\x77\xe3\xdc\x96\x08\x01\x39\x02\xe5\x10\x4b\x04\x4d\x06\xc1\x32\xa8\x26\xd2\x49\x81\x1e\x83\x8a\x68\x04\xdc\x38\x54\x8c\x60\xc8\xf7\x22\x34\xb5\x51\x11\xbf\xbe\xb6\x9b\x29\xa0\x8e\x6e\x7b\x09\xd6\x73\x44\x65\x86\x50\xa9\x35\x82\x2e\x95\x2f\x90\xbf\xdd\x12\xac\x1a\xeb\x0c\x68\xf2\xb9\x2d\x9a\xa0\xa2\x25\x9f\x30\x49\x6c\xc0\x93\xd0\x74\x4b\xd8\x95\xd5\x81\x34\x32\x1f\x52\x74\xa6\xa6\xbf\x70\x99\xc1\xb1\xcc\x32\x5b\xd5\x14\xe2\x4c\x07\x5b\x47\xee\x1f\xed\x2b\x39\x52\x50\x05\x8a\x82\xa8\x70\xa8\x6a\xcb\x42\x53\x25\x37\x9d\x67\xda\x78\x19\xb0\xd5\xc8\x72\x2c\x46\xe2\xf4\xe9\x8a\x37\xe2\x2f\x3e\x1a\x5c\x7e\x8b\xce\x00\x8e\x64\x63\x65\x1d\x30\x59\x80\x27\x95\xf2\x36\x47\x8e\x02\x5f\x5c\x8c\xcd\xa9\x7e\x31\x5a\x9d\x9f\xe6\xa3\xfc\x6c\x7c\x36\x3a\x1f\x5f\x9c\xe3\x68\x7c\x91\x6b\x1c\x8f\x13\x2f\x4b\x40\x46\x97\x0b\x65\xcc\xaf\x8f\xe8\xe3\x75\xca\x81\xc7\xd0\xef\x55\xc8\xac\x0a\xec\x0d\xa1\x8f\xe9\x66\x00\x93\x9f\xe0\x53\x06\x60\xf3\xee\x44\x18\x15\x15\x3c\x7b\x06\x5f\xbf\x44\xdc\xd6\x08\x93\xc9\x04\x7a\xb3\xb7\x57\x37\x0f\xf3\x57\x57\xb7\x57\xef\xde\xf4\x06\x6d\x27\x40\xfb\x16\xaf\x6d\x3d\x57\x36\x5a\x5f\xf4\x07\x97\x19\xc0\x97\xec\x4b\x1a\xa4\xd3\x2a\x34\x05\x14\xda\x59\xf4\x91\x5f\x3b\x65\xab\x54\x95\x75\x79\x4f\x51\xe9\x0a\x67\x73\xb1\x97\xfd\xca\x9b\x29\x35\x11\xfb\x03\xa8\x30\x96\x64\x00\xf3\xdc\xea\x84\x70\xdb\x36\x9c\xc8\x9d\xab\x5c\x93\x37\x29\x09\x89\x16\xf0\xef\x06\x39\x72\x9b\xdb\x0f\xd3\x6b\x4e\xb9\x4f\x09\x7c\x5a\xe3\x01\xb3\x67\x17\xef\xa7\x6a\xd5\x9a\xdd\x6a\x7a\x78\xd8\x8f\xf2\x47\xd7\x09\x13\x58\x2c\x85\x26\xaf\x55\xec\x1f\xaa\xf9\xfc\x19\x16\xcb\xc1\xe5\x93\xf4\xae\xc0\xfa\xe2\xff\xd2\x0e\x30\x86\xf0\xe9\x3f\xdb\x0b\xd4\xa4\xcd\x8a\xfd\x3f\xfd\x4e\x3d\xda\xa2\x4d\xf6\x0e\xf3\x9d\xa7\x0a\x8c\xaf\x13\xf2\x2d\x6e\x7f\xa3\xf0\x61\x7a\xdd\x6f\x33\x65\xbd\xc1\x8f\xa2\x8c\x95\x3b\x1a\x0c\x5b\x03\x33\x80\x95\x53\x7a\xed\x2c\xc7\x97\xb0\x90\xf7\x77\xf2\x41\x0e\xe5\x9d\x5c\xdc\xcb\x9f\x97\xcf\xef\xc4\xe2\x5e\x2e\x9f\xff\x28\x97\xc3\xd6\xd1\x7f\x02\x00\x00\xff\xff\xba\x4e\x07\x7f\xa3\x04\x00\x00")
|
||||
|
||||
func publicServiceWorkerJsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicServiceWorkerJs,
|
||||
"public/service-worker.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicServiceWorkerJs() (*asset, error) {
|
||||
bytes, err := publicServiceWorkerJsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/service-worker.js", size: 1187, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x9b, 0xb6, 0x48, 0x31, 0xaf, 0xd1, 0x1d, 0xb9, 0xef, 0x17, 0x7e, 0x5b, 0x6f, 0x39, 0x79, 0x68, 0x97, 0xf0, 0xd9, 0x69, 0xe6, 0xda, 0x99, 0x8d, 0xe1, 0x1a, 0xf2, 0x24, 0xa0, 0x7b, 0x2c, 0x6c}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticCss21d5ea050ChunkCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x74\x52\x4d\x8f\xda\x30\x10\xbd\xf7\x57\x20\x71\x5b\x95\xac\x77\x81\x5d\x48\xd4\x7f\xd0\x5e\x2a\xf5\x5c\x4d\xec\x21\x4c\x33\xb6\x53\x7b\x02\x1b\x45\xfb\xdf\x2b\xc0\x26\x74\x5b\x94\x4b\xe6\xe3\xbd\x99\xf7\x3c\xc5\x9e\x7f\xc5\xd1\x50\xec\x18\x86\xb2\x66\xaf\xdb\xca\x1f\x30\xec\xd8\x1f\x17\x6f\x25\xf4\xe2\xab\x0e\x8c\x21\xd7\x94\xc5\x1a\x6d\xa5\x3d\xfb\x50\xce\x97\xcb\x65\x55\x83\x6e\x9b\xe0\x7b\x67\xca\xf9\x6e\x73\xfa\xde\xcf\x74\x0b\xed\xad\x45\x27\x9f\x2f\xd1\xef\xde\x0b\x8e\x09\xb7\xdd\x6e\xaa\x9d\x77\xb2\x88\x32\x30\x96\x24\xc0\xa4\x13\xac\xc5\xe1\xe8\x83\x49\xb0\x88\x8c\x5a\x7c\x58\x08\x34\x39\xd5\xd7\x51\xc6\x9b\x0d\xce\x4c\x47\xa4\x66\x2f\xe5\xab\x52\x89\x87\x49\x30\x00\x27\x90\xeb\x6d\x8d\x21\x05\x02\xcd\xec\xf2\x07\x22\xd7\x24\xda\x8e\x41\x70\x71\x80\x40\x50\x33\xa6\x7c\x0e\xd3\x44\x41\xe0\x34\xc1\x78\x7d\xb3\x95\x04\x72\x4d\x5e\xcb\x3c\xad\xde\xb3\x00\x2d\xe4\xdd\x47\x39\x94\x05\x0a\x09\x4f\xbe\x28\x75\x47\xcd\x45\xf4\x6d\x6d\x75\xad\x69\x86\x18\x67\x37\x74\x99\x7a\xe8\xae\xcc\xab\xf5\xe6\x0e\xf3\xc9\x02\xaa\x7b\xc9\x28\x07\x16\x27\x9f\x12\xde\xc1\x61\xa8\xfe\x3f\x9d\xc9\xb5\xa9\x3f\x60\x83\x6f\x5d\x1e\xa9\xd4\x76\xfb\xfc\x92\xba\xea\x9e\x19\xf3\x2d\xc4\xc1\xd6\x9e\xa7\x63\x50\xea\x75\x79\xed\x23\x96\x9f\x94\xfd\x3a\x87\xe4\xce\x4b\x4d\xbc\x9b\x97\x3a\xf7\x5b\x14\x98\x88\xb6\x77\x34\x1a\x64\x3c\xbd\xc2\xf8\xd7\xb1\x1a\x93\x2d\x30\x86\xfe\x29\x9b\x5d\x2e\xa3\xed\xf6\x10\x29\x8e\xf7\x4e\x36\x4a\xf0\xae\x19\x3f\xce\xfe\xf4\xf8\x30\x9f\x45\xdf\x07\x8d\xdf\xa0\xeb\xc8\x35\x3f\xbe\x7f\xfd\xf2\x5c\x3c\x99\x35\x82\x5a\xab\x42\xef\x7b\xd7\x16\x3a\xc6\xc2\x42\x37\x7b\x78\xfc\x13\x00\x00\xff\xff\x2c\x02\x00\x66\x87\x03\x00\x00")
|
||||
|
||||
func publicStaticCss21d5ea050ChunkCssBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticCss21d5ea050ChunkCss,
|
||||
"public/static/css/2.1d5ea050.chunk.css",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticCss21d5ea050ChunkCss() (*asset, error) {
|
||||
bytes, err := publicStaticCss21d5ea050ChunkCssBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/css/2.1d5ea050.chunk.css", size: 903, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xdc, 0x80, 0x68, 0xd5, 0x10, 0x29, 0x95, 0x2e, 0x4, 0x57, 0x5, 0x3b, 0x88, 0xb3, 0xa4, 0xb2, 0xdc, 0xf7, 0x9f, 0xb4, 0x54, 0x8a, 0xe8, 0x72, 0xf6, 0x86, 0xc1, 0xa9, 0x61, 0x19, 0xa9, 0x5}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticCss21d5ea050ChunkCssMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xef\x6f\xf2\x36\x10\xfe\x57\xac\xf4\xcb\x56\x05\xea\x96\xd2\x41\x3a\x4d\x33\x11\xdd\x87\xa9\xd2\xbe\x6c\x5d\x35\xaa\xc9\x49\x8e\xe0\x17\xc7\x4e\xed\x0b\x14\x55\xfd\xdf\x5f\x39\x28\x3f\x9c\xd2\x57\x08\x09\xf9\xee\x7c\xcf\xf3\xdc\x0f\xe7\x3d\xd8\x81\xb1\x42\xab\x20\x9a\x84\x81\xd5\x95\x49\xc1\x06\xd1\x7f\x41\x2e\x70\x53\x25\xe3\xd4\xda\xe0\x25\x0c\x14\x2f\x6a\xf7\x4b\x18\x14\xbc\x2c\x85\xca\x6d\x10\x05\x8c\x3d\xb2\xf0\x91\xc5\xcb\x90\x33\x96\x86\x31\x8b\xb3\x10\x18\xcb\x17\xee\xb8\x59\x84\xcf\xad\xf7\x6f\xc6\x9e\xdc\xe9\xdf\x70\xbb\x60\xf1\x43\x18\xb3\x25\x0b\xe9\x82\x2d\x97\xbd\x90\xe8\x42\x77\x31\xfb\xa3\x1f\x82\x36\x52\x3d\xb0\x3f\x5d\x64\x08\xd2\xd8\xb7\x5f\x66\x3e\x3b\xa1\x9d\x59\xc4\x3e\x7b\x17\x79\x6d\x20\xda\x92\x9a\xc8\xbe\x26\xe3\x03\xf2\xce\xde\xc6\xbe\xfd\xe4\x28\x4f\x51\x80\xaf\xe5\x94\xd9\xeb\x06\x6f\xc2\x41\x18\xac\x85\x84\x20\x0a\x6e\xc6\xd7\xd9\x14\x38\x9d\xd2\x71\xba\xa9\xd4\xb6\x1e\x54\x3b\xc0\x58\x2b\x04\x85\x6e\x8e\x57\x97\x2b\xb5\x52\xcd\x34\x75\x41\x2c\x1e\x24\x90\x9f\xd2\x9f\xc9\x3f\xdc\x0a\x79\x20\x7f\x69\xa9\x77\xea\xa0\x77\xe4\xd7\x1d\xb7\xf8\xfb\x7e\x23\x10\xb8\x42\x3b\x56\x80\xbf\xb9\xec\xcb\x2b\xf7\x3f\xde\xc8\x6f\x96\xbc\xaf\x14\x21\x99\xb0\xa5\xe4\x87\x88\x24\x52\xa7\xdb\x7b\xe7\xd2\x3b\x30\x6b\xa9\xf7\xa3\xb7\x88\xf0\x0a\x75\xed\x2c\x79\x96\x09\x95\x47\x84\x8e\xa7\x50\xd4\xae\x54\x4b\x6d\x22\x72\x31\x99\x4c\x6a\x3b\xe1\xe9\x36\x37\xba\x52\x59\x44\x2e\xd6\x33\xf7\xbb\x5f\xa9\x8f\x96\x70\x94\xea\xa2\x00\x85\x61\x63\xbf\x56\x1a\xe1\x28\xa3\xc1\x9a\xcf\x67\x35\xd6\x5a\x2b\x1c\xd5\xf5\x45\x44\x20\x97\x22\xf5\xa1\xb6\x70\xd8\x6b\x93\xb5\x50\x16\x24\xa4\xa8\xcd\x08\x79\xde\x39\xab\xc4\xa2\x8f\xdf\x68\xad\xf1\xf7\x20\xf2\x0d\x46\x24\xd1\x32\xf3\xe1\x55\x55\x24\x60\x5a\x20\x29\x10\x0c\x97\xad\xbd\xe3\x46\xf0\x44\x42\xeb\x40\x28\x4a\xc9\x11\x4e\x44\x78\x4e\x8e\x27\x8e\x68\x7c\x31\x94\xce\xe8\x8c\xfa\xcc\x16\x8d\x50\x5d\x09\x99\x4e\x1d\x82\x97\x96\x5d\xdf\xfa\x39\x28\xb0\xc7\x68\x21\x45\xa1\xd5\xe7\xd6\x88\x6c\xd0\x6b\x4a\xcf\xe9\x45\xaf\x8b\xde\x4d\xa5\x4d\xc1\xe5\x40\xc9\xa1\xec\x84\xa4\x92\x5b\x4b\x7a\x12\x7d\xfa\xdb\xe9\xec\x1c\xfa\xfe\x40\xdd\xb7\xab\x35\x5c\x3f\x45\x52\x0d\x37\x88\x52\x7a\x6c\xea\x19\x72\x0d\xe4\xf0\x56\xf6\xc6\xac\xb6\x43\xb0\xf9\xfc\xe6\x6e\xd0\x8f\x43\x91\xe8\x6e\x17\x92\x4a\x4a\xc0\xe1\x16\x53\xfa\xcb\xc4\x4f\x4b\x2a\x21\xf1\x7f\xa1\x42\xcf\x21\x54\x5d\xd4\xa7\xbd\xb8\x4b\x06\xe9\x05\x20\x1f\x92\xcc\xcf\xe9\x5f\x06\x12\xdc\x3e\x1c\x93\xfd\x37\x9a\x0d\xee\xba\x37\xfe\xc5\xdd\x6c\x3d\xb8\x0b\x45\xb9\xe1\x56\xd8\xde\x66\xfc\xe0\xbd\x5a\x34\x5a\xe5\x27\xb6\xa8\x13\x1c\xbc\x7c\x7c\x0f\x00\x00\xff\xff\xf9\xd6\x0e\x4f\xc3\x06\x00\x00")
|
||||
|
||||
func publicStaticCss21d5ea050ChunkCssMapBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticCss21d5ea050ChunkCssMap,
|
||||
"public/static/css/2.1d5ea050.chunk.css.map",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticCss21d5ea050ChunkCssMap() (*asset, error) {
|
||||
bytes, err := publicStaticCss21d5ea050ChunkCssMapBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/css/2.1d5ea050.chunk.css.map", size: 1731, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xda, 0x6e, 0xc3, 0x26, 0xe9, 0xa1, 0x2a, 0x1, 0x16, 0x8d, 0x4d, 0x4c, 0xce, 0x20, 0x2d, 0x5, 0x4d, 0x9, 0x23, 0xb2, 0x3a, 0xdd, 0xab, 0x97, 0x34, 0x5a, 0x1d, 0x44, 0x9d, 0x3c, 0x6d, 0xc1}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticCssMainBea1604dChunkCss = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xc4\x55\xdb\x8a\xe4\x36\x10\x7d\xcf\x57\x38\xd3\x2c\xec\x6c\x6c\xaf\xda\x7d\x99\x19\x9b\x40\x96\x40\xd8\x87\x04\x42\x20\x1f\x50\x96\xca\x6d\x31\xb2\x24\x24\xf5\x65\xd6\xf8\xdf\x83\xdc\xb2\xdb\x7d\xdb\x4c\x9e\x42\x31\x43\xdb\xaa\x3a\xaa\x3a\x75\xaa\x5c\x2a\xf6\xd6\x36\x60\x36\x5c\xe6\xa4\xd0\xc0\x18\x97\x9b\x9c\x14\x95\x92\x2e\xa9\xa0\xe1\xe2\x2d\xb7\x20\x6d\x62\xd1\xf0\xaa\xf3\xee\x71\xed\x1a\xd1\x52\x25\x94\xc9\x67\x84\x90\x1f\x79\xa3\x95\x71\x20\x5d\x51\x02\x7d\xdd\x18\xb5\x95\x2c\x09\xe7\xd9\x53\x56\x2e\x26\x2e\x5d\x8d\xc0\xd0\xfc\x64\x91\x3a\xae\x64\x1b\x6e\x4c\x9c\xd2\xf9\x2a\xd3\x87\x21\x85\xa4\x54\xce\xa9\x26\xcf\xd2\x39\x36\x5d\xa5\x94\x43\xd3\x5e\xc3\x2f\x70\xb9\x5c\xd2\x42\x2b\xcb\x3d\x5c\x5e\xf1\x03\xb2\x22\xc4\x92\x62\xcf\x99\xab\xf3\x39\x21\x1f\x8a\x1a\xf9\xa6\x76\x79\x86\x4d\x51\x2a\xc3\xd0\xf4\x57\xce\xf5\x21\xb2\x4a\x70\x16\xcd\xca\xb2\x1c\xeb\x5f\xea\x43\xb8\x33\xb2\x1a\x64\x2a\xb0\x72\x6d\x25\x14\xb8\xdc\xff\x3c\x3b\x33\x1e\x37\x1c\xf6\xbf\xbb\xb4\x34\x08\x8c\x9a\x6d\x53\x46\x02\x4a\x14\xb1\x36\x38\x21\xac\x4b\x2d\x67\x58\x82\x89\x52\xc1\xad\x4b\x7c\x49\xba\xed\x19\xb7\xfc\x1b\xe6\x4f\xab\x0f\x37\x5d\x12\xee\xb0\x19\x18\xcb\x3d\x59\x27\x42\xf2\xd9\x7c\x3e\x2f\xc2\x1d\xeb\x8c\x2e\xd7\x59\xa8\x33\x27\x5d\xda\x00\x97\xf1\x7d\xc8\x69\xb3\xbf\x02\x7d\x8d\x1b\x25\x95\xd5\x40\xf1\x94\x07\x5c\x46\xa5\x40\x1d\xdf\xe1\x09\x56\xf0\x3b\x2e\x43\xe9\x3e\xc3\xeb\x16\x1e\x93\xed\x7e\x69\x90\x71\x88\x3e\x36\x5c\x26\xc7\xb6\x3d\xad\x9f\xf5\xe1\xb1\x4d\x6b\xce\x30\xb1\x4d\xcb\xb8\xd5\x02\xde\x72\xa9\x24\x4e\x04\xf5\x9d\xc8\x90\x59\xeb\x7b\x36\xaa\x21\x5b\xee\xf6\x17\x8c\xb4\x17\xfa\x19\xc5\x18\x84\xb4\x20\xfa\x50\xa8\x1d\x9a\x4a\xa8\x7d\x0e\x5b\xa7\x8e\x00\x47\xe0\x6c\xb5\xdb\x17\x7d\xe7\x73\x72\x2b\x9b\x97\x97\xec\x7f\xcb\x26\x8c\x59\x4a\x95\x74\xc0\x25\x9a\x30\xeb\xe3\x78\x61\xd3\x51\xc5\xd0\x2b\x34\x76\x78\x70\x60\x10\xce\xf4\xf0\xf0\x1b\x37\x10\xfd\xaa\x18\x3e\xc4\xb5\xd7\xc6\xc3\x17\xa9\xe4\x5b\xa3\xb6\x36\xfa\xd3\xa8\x87\x89\x56\xb4\xc1\x74\x63\xf0\xed\xc6\x9c\xb2\x85\xb7\xae\x9f\x86\xf6\xfc\x9d\x83\x52\x60\x04\xb9\xe0\xf2\x75\x38\x5a\xaf\xd7\x67\xef\xe3\xe1\x61\xc7\x2d\x77\xc8\x8e\x19\xee\x8f\x23\xfd\x44\x48\xe1\x53\x4f\x18\x52\x65\xa0\x67\xce\x6b\xa4\xbb\x0c\x0a\xe0\x2f\x2f\x2f\xe3\x51\xd0\xf0\xf0\x58\x7b\x5a\x07\xbf\x92\xad\x60\xb1\xba\x82\xde\x4a\x86\x46\xf0\x01\xff\x8c\xac\x2f\x86\x83\x88\xbf\xa2\xd8\xa1\xe3\x14\xe2\xd3\xe6\x2c\x4e\x95\x15\xa7\x49\x9f\xfb\xb6\xf6\x17\xd8\x1a\x98\xda\xf7\xfb\xc8\xff\x91\x68\x56\x55\xd5\xd9\x7c\x23\x60\x89\xb4\x08\xbb\x3a\x23\xbd\x20\xfa\x01\x9f\x2c\x31\x4a\xe9\xb0\xde\x0c\x30\xbe\xb5\xf9\xa2\xf7\x3b\x0c\x17\x90\x1e\x3e\xd3\x87\x68\xc6\xe6\xde\x02\x15\xae\x3e\x2d\x96\xde\x63\xe5\xff\x65\xe3\x25\x97\xdb\xb2\x02\x6f\xc3\x61\x50\xd3\xe4\x1c\x89\xb7\xf3\x02\x98\xb7\xe9\xab\xa4\x51\xdf\x12\x4f\x25\x98\x64\xe3\xf3\x45\xe9\x3e\x3a\xa5\xe3\xe0\x1b\xcf\xb0\xf4\xf6\x38\x26\x99\x57\xdc\x58\x97\xd0\x9a\x0b\xd6\xf6\xc4\x81\xe0\x1b\xd9\x6f\xe5\xf1\xd3\x71\x9c\x03\xa2\x0f\x43\x98\x99\x86\x5d\xa2\x9c\xea\xeb\x03\x27\xbc\xdd\x0d\x17\x70\x2b\xba\x1f\xba\x5b\xe1\xd3\x44\x29\x4a\x87\xe6\x7e\xaa\xec\xbf\x55\x38\x34\xe0\xb8\x53\x46\x90\xb1\x97\xf3\xe7\xfb\x1d\xf4\xfa\xfa\xb7\xf6\x4d\xd0\xbf\xdf\xdc\x41\x0f\xef\x69\x6e\x55\x7a\x8b\x43\xcc\xd8\x5c\x93\xe2\x0e\xa5\xcf\xfe\x0c\x78\xed\xed\x9d\xc0\xcf\xde\xe2\x10\x73\x02\x9e\x34\xac\x87\x3f\xab\x9a\xdc\x71\xbb\x25\x92\x63\xc8\x7d\x9d\x9c\x03\x5c\xcb\x24\xc4\xdf\x55\xca\x71\x01\x5d\x51\x90\x79\x7b\x27\x05\xbd\x6f\x3c\xab\x88\xb7\xc7\xee\x87\xcf\x9f\x66\x91\x55\x5b\x43\xf1\x0f\xd0\x9a\xcb\xcd\xdf\x7f\xfd\xfe\xb3\xff\x5c\xa4\x25\xc2\x7c\x4d\x96\x2c\xa5\xf5\x56\xbe\xa6\xd4\xda\xb4\x01\x1d\x7d\xfa\xfc\x4f\x00\x00\x00\xff\xff\xe8\xb1\x76\xec\x14\x0a\x00\x00")
|
||||
|
||||
func publicStaticCssMainBea1604dChunkCssBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticCssMainBea1604dChunkCss,
|
||||
"public/static/css/main.bea1604d.chunk.css",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticCssMainBea1604dChunkCss() (*asset, error) {
|
||||
bytes, err := publicStaticCssMainBea1604dChunkCssBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/css/main.bea1604d.chunk.css", size: 2580, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x28, 0x10, 0xe6, 0x4, 0x9b, 0x9c, 0x4, 0x76, 0xe8, 0x37, 0xa, 0x90, 0xaa, 0x8, 0xc5, 0x1a, 0x7f, 0xcd, 0xd1, 0xc2, 0x22, 0x57, 0xec, 0x89, 0x36, 0x1, 0x8f, 0x15, 0x7, 0xd9, 0x20, 0xb7}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticCssMainBea1604dChunkCssMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\x57\x6f\x6f\xdb\x38\xd2\xff\x2a\x7c\x14\x2c\xd0\xa2\xb4\xd7\x76\x12\x27\x95\xdf\x3c\x23\xc5\x6d\xd3\x45\xd1\x06\xb9\x5c\x6f\xf7\xdc\x17\x94\x44\xdb\xac\x25\x52\xa1\xe4\xc4\xae\x91\xef\x7e\x18\x92\xb2\x24\xc7\xce\xa6\x48\x71\xaf\xce\x42\x5b\x6a\x38\xfc\xcd\x6f\xfe\x52\xdd\x78\x77\x5c\x17\x42\x49\xcf\x3f\xa6\x5e\xa1\x96\x3a\xe6\x85\xe7\xff\xdb\x13\x32\xe1\xab\x6e\x5c\x14\x1e\xf5\xde\x69\x96\xf1\x7b\xa5\x17\xee\x3d\x67\x45\xc9\xcd\xfa\x1b\xf5\x24\xcb\xcc\x89\x6f\xd4\xcb\x58\x9e\x0b\x39\x2b\x3c\xdf\x03\x00\xa0\x7f\x40\x38\xa6\x57\x00\xd7\x34\x84\xf0\x1f\xf4\x1a\xe0\x06\x57\xff\xa4\x45\x00\xe1\x3b\x1a\x86\x1f\x81\xde\x00\x7c\xa5\x2a\x00\x58\x06\x34\x04\x18\xd3\x45\x08\x50\x84\xa8\xd7\x1f\x53\x0e\xa0\x02\x3a\x0b\x00\x84\xdb\x46\xd5\x02\xd7\xe1\xd9\x05\xfd\x8c\xd8\xf7\x01\xc0\xda\xed\xc6\x00\xb1\x5d\x5d\x01\x5c\xd9\x95\xb1\xb0\xb3\x5a\x07\x00\x3d\x77\xe6\x2b\x00\x43\xbc\xef\x97\x54\x04\x00\x59\x80\x7a\x46\x32\x0f\xe9\x22\x30\x0c\xbe\x5a\xdc\x71\x1a\x22\x77\x94\xdc\xd4\x92\xdb\x00\xc2\x4b\xca\x20\xfc\x88\x02\xa0\x3d\xf3\xfe\x15\xe0\x4f\x04\xf9\x0b\x9d\xe0\xb8\x9a\x52\x66\x0f\x85\x09\xbd\x82\xb1\xd3\x9e\x85\xf0\xe1\x12\xcf\xfc\xe1\x04\xb7\x63\x3c\xee\xb8\x86\xff\x42\xff\x2a\xe4\xb5\x41\xbe\xc6\xad\xa2\xf2\x20\xfc\x11\xb6\x37\x2f\x2f\xe9\x27\x80\xcf\xb8\xf5\x85\xde\x58\x3b\x21\x50\x0e\x5f\x2e\xab\xf8\x18\x02\x55\x5a\x1c\xd1\xf7\x7f\x51\x06\xd7\xa8\xfc\x05\xe8\x27\x44\xa9\xf3\xf5\xd9\xa1\x7c\xfc\x6f\x5a\x0a\xf5\x18\xaa\xf8\x0b\xfb\x4f\x08\xef\x57\x36\x27\x9f\x69\x71\x01\xb0\xbe\x30\x69\x1a\xdb\x90\x60\x21\x0c\x51\x69\xbc\x0a\x91\xd8\x15\xc6\x7b\x61\x04\xfd\x00\xf3\x13\xd2\x1b\x78\x7f\x61\x49\x0e\x03\xf8\x10\x62\x6a\x4c\x61\x85\xdf\x03\xac\xac\x4f\xb8\xf9\x11\xb0\xe0\x76\x95\xc7\x61\x23\x7b\x18\x00\xb7\xf5\x09\x35\x8b\x10\xe0\xde\xd4\xec\x0a\x8f\x55\xce\xd4\x31\xe8\x55\xd4\xc2\xb3\xc0\xf0\x37\xb4\xc2\xd4\x54\x96\xcb\xf3\x6d\x00\x70\x8b\xe2\x4b\x6d\x1d\x36\xcc\x2e\xbf\x07\xf4\xa4\x36\x77\x6d\xcc\x05\x00\x03\x03\x70\x6c\x36\xe1\xc4\xbc\x9c\x06\xf4\x4d\x00\xf0\xc6\x78\xfc\xbb\xb5\x93\x99\x17\x19\x50\x75\xb1\xc5\xb8\x35\xde\x71\x80\x99\x39\x36\x37\xd6\xaa\x4d\x15\xc2\xfb\xd0\x94\xb0\x13\x64\x46\x30\xd8\xa1\x20\x9a\x3e\x34\x8e\xef\xc5\xae\x63\xcc\xda\x28\x7f\x6e\x7b\x64\xdd\x0c\xd0\xd6\x8b\xf0\xf7\x00\x63\x0f\xe7\xc6\x8b\xb7\x87\x5d\x12\xc6\xec\xa1\xdd\xa5\x23\xd5\x76\x69\x58\xb3\x5e\x18\xc1\x79\x43\x70\x00\xcf\xa3\xde\x54\xa4\xdc\xf3\xbd\x8c\x09\xd9\x8d\x38\xeb\x0f\x7b\x27\x49\x37\x9e\x2f\x65\x35\x1d\xdd\x10\x0d\x95\x2c\xb9\x2c\x71\x96\x46\x2a\x59\x93\xcd\x44\x12\x92\x31\x3d\x13\xd2\x27\xbd\x11\xbe\xe5\x2c\x49\x84\x9c\x55\xaf\x53\x25\xcb\xce\x94\x65\x22\x5d\xfb\xa4\x60\xb2\xe8\x14\x5c\x8b\xe9\x68\x22\x1f\x26\xd2\xa3\x06\x86\xce\xcb\x2c\x25\x9b\x58\xa5\x4a\xfb\x24\x4a\x59\xbc\x20\xff\x27\xb2\x5c\xe9\x92\xc9\x72\x44\x22\x16\x2f\x66\x5a\x2d\x65\xd2\x71\x3a\x47\x83\xb3\x41\x74\xdc\x6b\x69\x3d\x4c\xe4\x9c\xb3\x84\x6b\xf2\x86\x14\x3c\x2e\x85\x92\x84\x6c\x2a\x3e\x9d\x52\xe5\x3e\x39\x1d\xe4\xab\xd1\x56\x14\xa9\xb2\x54\x99\x4f\x06\xdd\x3e\xcf\xf0\xfc\x54\xa9\x92\x6b\xb2\xd9\x67\xf1\x98\x9f\x9c\x9c\xc4\x23\x92\xab\x42\x20\xb6\x3f\x15\x2b\x9e\x8c\x88\x03\xe9\x8d\xc8\xbd\x48\xca\xb9\x4f\xfa\xbd\xde\x6f\x23\x32\xe7\x62\x36\x2f\x7d\x32\xe0\x19\xea\xe8\x84\x6b\x4b\xa1\x9f\xaf\x48\xa1\x52\x91\x90\xa3\x28\x8a\x46\x75\xbc\x4e\xf2\x55\x83\x43\x91\x33\xd9\x4d\xf9\xb4\x24\x1b\x32\x4d\x15\x2b\x7d\x82\x6f\xa3\x5d\x15\x8d\x66\x6a\x1d\xf3\x6a\x94\x72\xcd\xc9\x86\x34\x63\xfa\x30\x91\xdd\x48\x73\x96\xc4\x7a\x99\x45\x24\x65\x11\x4f\x77\x54\xcc\xc9\x89\xec\x16\x22\xe1\x11\xd3\xa4\x9b\x8a\xa2\xec\x60\x24\x72\x9b\x6b\x97\xd0\x42\xfc\xe0\x3e\x39\x3b\xfd\xcd\xe6\x71\xff\x89\x8e\x28\x79\x56\x1d\xdb\xba\x89\x19\xb0\xa2\x3a\xc8\xfe\x51\xbf\xdf\x77\xd2\x2a\xde\xc3\x41\x7c\x32\x1c\x54\xaa\x26\x80\x7e\x6f\xd4\xe0\x50\x15\xd5\x07\x16\x2f\x28\xc9\x94\x54\x45\xce\x62\x5e\x11\xc2\x5a\x6e\x71\x3e\xa0\xff\xc8\x83\x54\xec\xfa\xd0\x65\x71\x29\xee\x38\xdd\xaa\xb0\x03\x1a\x95\xbd\xca\x87\xda\xab\x3d\x05\xb5\x75\xd0\x98\xff\xff\x8c\x27\x82\x91\x57\x99\x90\x1d\x57\x48\x67\xc3\xf3\x7c\xf5\xba\xc2\xec\xce\x45\xc2\x3b\x45\x46\x36\x24\x11\x45\x9e\xb2\xb5\x4f\xa4\x92\x7c\xb7\x07\x9e\x89\x56\xb9\xe2\xde\x4d\x8a\xda\x95\x5d\x6f\xd4\xad\x53\xcb\xaa\xde\x39\xee\xb5\xc4\x58\xa3\x55\xeb\xdb\x9f\x33\x3f\x38\xb9\xbb\x6f\x48\xd5\x1d\xd7\xd3\x54\xdd\xfb\x84\x2d\x4b\xe5\x36\x1e\x1c\xb7\x66\xea\x5a\xc4\xc8\x8b\x99\x0d\x4e\x5b\x34\xb4\x6d\xd2\xde\x33\x98\x1d\x8a\xeb\xdb\xb7\x83\xff\xc5\xf5\x65\x71\xc5\xfb\xc5\x0e\xec\x6e\xac\x64\xc9\x84\x34\x43\xd8\xde\x2b\xf5\x94\xc6\x49\xfa\x30\x91\x25\x5f\x95\x4c\x73\x86\x43\xaf\xd9\xd7\x13\xef\x9d\xd0\x8c\x84\x2a\xe1\x13\x8f\xce\xb1\xcb\x27\x1e\x48\x25\xd7\x99\x5a\x16\xe4\x8b\x56\x13\x8f\xd6\x6d\x5f\xcf\xc8\x97\xa2\xc4\x2a\xf9\x15\x30\xb9\xe6\xdd\x99\xe6\xeb\xbd\xd7\x4f\x8a\x01\xc5\x5d\x37\xa1\x77\x86\xf7\xee\x76\xc9\xa2\x94\x13\xe6\xa7\x42\x2e\x30\xe3\x93\x72\x3b\x75\x86\xc3\x11\xbe\x1b\xb6\xf7\xee\x92\x8a\x54\x9a\x18\x29\xc6\xb6\x93\xf0\x58\x69\x66\x0a\Line truncated
|
||||
|
||||
func publicStaticCssMainBea1604dChunkCssMapBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticCssMainBea1604dChunkCssMap,
|
||||
"public/static/css/main.bea1604d.chunk.css.map",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticCssMainBea1604dChunkCssMap() (*asset, error) {
|
||||
bytes, err := publicStaticCssMainBea1604dChunkCssMapBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/css/main.bea1604d.chunk.css.map", size: 5866, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x55, 0x1d, 0x6a, 0xf5, 0x4b, 0x6c, 0x61, 0x10, 0x23, 0xe2, 0xcb, 0x58, 0x45, 0x29, 0xb9, 0xf0, 0xac, 0x5, 0xe5, 0xb3, 0xfa, 0x9a, 0x90, 0x6b, 0x58, 0x88, 0x19, 0x1e, 0xad, 0xd7, 0xe3, 0xbd}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticJs2D33d7d47ChunkJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xec\xfd\x7d\x73\xdb\x38\x96\x28\x0e\xff\xff\x7c\x0a\x59\x3b\xa3\x26\x42\x48\x21\x25\x59\xb6\x25\xc1\xaa\xc4\x71\xa6\xdd\x1b\x3b\xb9\xb1\x33\xb3\x33\x5a\xad\x8b\x96\x20\x0b\x63\x0a\xd4\x80\x50\x6c\xb7\xa5\xfd\xec\x4f\xe1\x85\x24\x48\x82\xb2\xd2\x3d\xf3\xdb\xad\x5b\xb7\x52\xb1\x48\x00\x04\x0e\x70\x5e\x70\x70\x00\x9c\xf3\xf6\xcd\x41\xed\x63\xc4\x6a\x21\x99\x62\x1a\xe3\x1a\xa1\xf3\x88\x2d\x03\x4e\x22\x5a\x5b\x85\x38\x88\x71\x2d\xc6\xb8\xd6\x6e\xcd\x3a\x9d\xd9\xd1\xac\x7b\xd4\x9a\x2e\xd6\xf4\xa1\xf5\xf7\xb8\xf5\xe9\xe2\xec\xfc\xea\xfa\xbc\xc5\x9f\x78\xed\xcd\xdb\xff\x9f\xc3\x17\x24\x6e\x3d\xe2\xbb\x55\x30\x7d\xf8\x25\x8e\xe8\x6a\x15\xc4\x1c\x23\x7b\xf2\x66\x33\x9e\x80\xd6\x6a\x1d\x2f\x9c\xf1\xb8\x3d\x81\xe3\xf9\x9a\x4e\x45\xab\x0e\x86\x1c\x52\xf0\x52\x5f\x8b\xa6\x39\x23\x53\x5e\x1f\xe0\x16\x7e\x5a\x45\x8c\xc7\x88\x3a\xfe\xb1\x0f\xb6\x70\x67\xf1\xcf\x77\x7f\xc7\x53\xde\x9a\xe1\x39\xa1\xf8\x0b\x8b\x56\x98\xf1\x67\x87\xc3\xfa\xed\x2d\x8e\x2f\xa3\xd9\x3a\xc4\x75\xf8\xf2\x3d\x08\xd7\xb8\x7f\xe0\x6d\x01\xe4\xad\x47\xc2\x17\xe7\xcb\x3b\x3c\x43\xea\xf9\x4b\x14\x13\x51\xbf\x7e\xfd\x18\x51\xae\x1f\xaf\x17\xc1\x2c\x7a\x4c\xd2\xc3\x28\xe0\xe9\x33\x7e\x4a\xbf\x5e\x45\xdf\x31\xd3\x6f\x37\x51\x14\x72\xb2\x4a\xbe\x9f\x32\x8c\x29\xc3\xc1\x0c\xb3\x58\xa7\x7d\x60\x51\x92\xfd\x6e\xca\xc9\x77\xac\x5f\xde\x47\x6c\x96\x56\x73\x4d\x7e\x25\xf4\x3e\x79\x59\x05\xd3\xec\xed\x5d\x48\xee\x13\x50\x3f\x90\x78\x15\x06\xcf\xfa\xed\x2c\x0a\xa3\xa4\x82\x2f\x6b\xb6\x8a\x62\x51\xf7\x12\xb3\x7b\x7c\x16\x06\x71\x7c\x15\x2c\x45\xc2\x3c\x0c\xb8\xf9\x2e\x3f\x35\xde\x67\xd1\xf2\x9a\x07\xd3\x07\xf4\x3d\x22\xb3\x9a\x07\x79\x2b\x96\xaf\x26\x1a\xc0\x0b\x99\x3b\x07\x1c\x30\xcc\xd7\x8c\xd6\xf0\x60\x1e\x31\xe7\x7b\xc0\x6a\x14\x61\xc8\x90\x37\x60\x43\xde\x0a\x31\xbd\xe7\x8b\x01\x73\x5d\x40\x11\x1f\xb3\x89\x43\xc1\x40\x7f\x41\xb7\x03\x51\x9c\x09\x24\xfb\x00\x12\x44\x9d\x5e\x1b\xc0\x08\x51\xa7\xed\xb5\x01\x0c\xe4\x43\x07\xc0\x58\x3e\x74\x01\x0c\xe5\xc3\x21\x80\x53\xf9\xd0\x03\x70\x2d\x1f\x8e\x00\x9c\xc9\x87\x63\x00\xe7\xf2\xe1\x04\xc0\x95\x78\xf0\x3d\x00\x17\xf2\xc1\x07\x70\x29\x1f\xda\x00\xde\xca\x87\x0e\x80\xf7\xf2\xa1\x0b\xe0\x9d\x7c\x38\x04\xf0\xbb\x7c\xe8\x01\xf8\x2c\x1f\x8e\x00\x3c\x97\x0f\xc7\x40\x02\x7b\x8d\xc6\x8e\x07\xa3\x6c\xac\x81\x03\xa0\xe3\xc1\xc0\xc4\x85\x4e\x8b\x33\x5c\xe9\x94\xd0\xc4\xa5\x4e\x9b\x1a\xc8\xd6\x49\x6b\x83\x18\x74\xd2\xcc\x20\x16\x9d\xb4\x2a\x93\x97\xce\x59\x9a\x44\xa9\xd3\x16\x26\x69\xea\xb4\xdb\x94\x8e\x75\xc2\x7d\x46\xe4\x3a\xe5\xce\xe0\x01\x9d\xf4\x3d\xe5\x10\x9d\xf0\x9c\xe3\x20\x9d\x78\x9e\xb1\x18\x70\xc0\x64\x60\xd0\xd4\x35\x2c\x12\x1c\xcb\xbf\xc3\x22\x81\xb2\xfc\x3b\x2c\x51\x34\x2b\x24\xc0\x3c\x07\x10\xf3\x0d\x9a\x9c\x62\x60\x12\xe6\xf9\x29\x87\x51\x68\xf2\x9d\x81\x57\x98\xe7\xce\x1c\x7e\x61\x8e\x8d\x4d\x34\xc3\x1c\xb7\x9b\xd8\x86\x39\xa1\x60\x22\x1d\x1a\x92\x63\x9e\x3e\x42\x9b\x8c\xb1\x10\x06\xcc\x4b\xa6\x1c\x31\xc0\xbc\x0c\xcb\x11\x0f\x34\x44\x5d\x46\x2d\xd0\x14\x86\x06\xcd\xc0\x9c\xc4\x34\x49\x07\x1a\x62\x35\xa3\x1f\x58\x90\xbd\x79\x42\xca\x49\x69\x83\x9c\xfe\xc9\x93\x41\x2a\x83\xda\xfe\x09\xa8\xfe\xfa\xfd\x07\xf2\xbd\x0e\x5f\x30\x5d\x2f\x31\x0b\xee\x42\xf1\x31\xbc\xc7\xbc\x9f\x02\x03\x5e\xb4\x5c\xfb\xe6\x30\x20\x6a\x08\xd6\x21\xdf\xea\x06\x84\x70\x6b\xb7\xbd\x5d\x0d\x5c\xaf\x02\xba\x77\x0b\xa4\xd4\x82\x14\x9b\x6d\x7f\x57\x0b\xef\xf6\xae\x3e\x2a\x55\x2f\x85\x71\xbb\xbd\xab\xfa\x2f\x7b\x57\x1f\x94\xaa\x97\x22\xbe\xdd\xd9\x55\xfd\xfb\x35\xe7\xd1\xfe\x23\x14\x97\xda\x90\xb3\x47\xbb\xbb\xab\x8d\x8b\xe5\xfd\xde\x0d\x84\xa5\x06\xe4\xac\xd4\x3e\xdc\xd5\xc0\x47\x72\xbf\x66\x78\xef\x36\xa6\xa5\x36\xe4\x84\xd7\xee\xbd\xde\xc6\x59\xb0\x12\xb5\xed\xdd\xd4\xba\xd4\x94\x9c\x52\xdb\x47\xbb\x9a\xfa\x1c\xee\x5d\xff\xac\x54\xbf\x9c\xa9\xdb\xc7\xbb\xea\xff\xb6\x7f\xfd\xf3\x52\xfd\x52\x01\x68\xef\x64\xea\x4f\x64\xef\xfa\x57\xa5\xfa\xa5\x5e\xd1\xd9\xc9\xd3\x1f\x23\xb6\xdc\xbb\x85\x45\xa9\x05\xa1\xb0\xf4\x76\x32\xc5\x05\x5d\xad\xf9\xde\x2d\x2c\x4b\x2d\x48\x4d\xa8\xb3\x53\x6a\x5c\xe3\x10\x4f\xf7\x6f\xe3\xb6\xd4\x86\x54\xb2\x3a\x3b\x45\xc7\x0d\x7e\xe2\x01\xc3\xc1\xde\xad\xdc\x97\x5a\x91\x1a\x5c\x67\xe7\x60\x7d\x0a\xee\xf0\xfe\x04\x75\x57\x6a\x42\xea\x86\x9d\x9d\x02\xe4\x7a\x19\x84\xfb\x37\xf1\xbd\xd4\x84\xd4\x3a\x3b\x3b\x45\xc8\xfb\x30\x9a\x3e\xfc\x63\x1d\xf1\xfd\xc5\xc8\x73\xa9\x1d\xa9\xd4\x76\x76\x8a\x91\xcb\x80\xec\x2f\x3d\xce\x4b\x2d\x5c\xcb\x16\x76\x4a\x8f\x9f\xa5\x72\xb2\x77\x1b\xd7\xa5\x36\x1e\x65\x1b\x3b\x25\xc8\xc7\x28\xe2\x3f\xd0\xc6\x63\xa9\x8d\x1b\xd9\xc6\x4e\x29\x72\x15\xec\xaf\x1a\xdc\x94\x1a\xf8\x2c\x1a\xe8\xee\x14\x23\x3f\xef\xdf\x81\xcf\xa5\xfa\xcf\x64\xfd\xbb\x59\xfc\xfb\xfe\xd3\xde\x59\xa9\x81\x4b\xd9\xc0\x4e\xfe\xbe\x5e\xdf\xed\xdd\xc0\x65\xa9\x81\xaf\xb2\x81\x9d\xac\x7d\xbd\x5e\xed\xdd\xc0\xd7\x52\x03\x4f\xb2\x81\x9d\x8c\x7d\x16\xd0\xef\x41\xbc\x77\x1b\x4f\xa5\x36\xae\x64\x1b\x3b\x39\xfb\x5d\x4c\x66\xfb\x33\xf5\x55\xa9\x89\x77\xb2\x89\x9d\x4c\xfd\x8e\x71\x32\x0d\xf7\x6f\xe4\x5d\xa9\x91\x0b\xd9\xc8\x4e\xbe\xfe\xf2\x03\x1a\xce\x45\xa9\x81\x07\Line truncated
|
||||
|
||||
func publicStaticJs2D33d7d47ChunkJsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticJs2D33d7d47ChunkJs,
|
||||
"public/static/js/2.d33d7d47.chunk.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticJs2D33d7d47ChunkJs() (*asset, error) {
|
||||
bytes, err := publicStaticJs2D33d7d47ChunkJsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/js/2.d33d7d47.chunk.js", size: 2422900, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x3a, 0xf4, 0xdd, 0x78, 0x63, 0x6e, 0xdd, 0xba, 0x6c, 0x31, 0x18, 0xff, 0xeb, 0x44, 0xd8, 0xbb, 0xe8, 0xc8, 0xbd, 0xbe, 0xdc, 0x44, 0xbd, 0xdf, 0x68, 0x1c, 0xd5, 0x36, 0x65, 0xfa, 0xa1, 0x2f}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticJs2D33d7d47ChunkJsLicenseTxt = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xe4\x55\xd1\x8e\xe3\xb6\x15\x7d\xae\xbf\xe2\x36\x4f\xbb\x03\x5b\x5a\xef\xa6\x45\x9b\x14\x8b\xc8\x12\x3d\x66\x20\x4b\x0e\x49\xcf\xac\x9f\x0a\x5a\xa2\x46\xf4\xca\xa4\x4b\x52\x9e\x0c\x90\x1f\xea\x77\xf4\xc7\x0a\xd2\xf2\x8c\x36\x19\xa0\x5b\xa0\x4f\xcd\xcb\x0c\x45\xf2\xde\x7b\xce\xb9\xc7\xbc\xf1\xcd\x44\xef\x0f\xa2\x72\x33\x6e\xad\x7c\x50\x93\x37\xd5\x5b\xa0\x52\xd5\x46\x00\xd5\xa6\xed\xed\xe4\x87\x4e\x56\x42\x59\x01\x6b\xcc\x26\x37\xf1\x64\x12\xdf\xfc\x71\x02\x00\x70\x03\x0b\xad\x9d\x75\x86\x9f\xe0\xfc\x6d\x34\x8f\x3e\xc0\x9b\xd6\xb9\x93\xfd\x2e\x8e\x1f\x84\xdb\x5f\x0f\xa3\x4a\x1f\xe3\xb7\x43\x48\xaa\x4f\x4f\x46\x3e\xb4\x0e\xde\xbf\x9b\xcf\x67\xef\xdf\xcd\xff\x02\xac\x15\xa3\x54\x49\xef\x5a\x6d\xec\x28\x97\x74\x6d\xbf\x0f\x59\xdc\xe3\xde\xc6\xcf\x89\xe3\x07\xc3\x4f\xad\x8d\x2b\xad\x9c\x91\xfb\xde\x69\x63\xaf\x75\xf2\x0b\xe8\x1a\x7a\x55\x0b\xe3\xb1\x7f\x4d\xc2\x7d\xa7\xf7\xf1\x91\x5b\x27\x4c\x9c\xe3\x14\x15\x14\x0d\x09\xaf\xbc\x6f\x20\x13\x4e\x98\xa3\x54\x02\x64\x03\x5c\xc1\x45\x3f\x90\x16\x38\x2c\xfa\xa6\x11\x66\x02\x37\xfe\xe2\x0f\x3c\x30\x01\x80\xa5\x30\xda\x5a\x48\xf6\xba\xff\xdc\xf2\x5a\x1e\x44\x0b\x7f\xbb\xa2\x69\xc2\x61\xa4\xcd\xc3\xc7\x10\x75\x95\x3b\xe8\x3d\x2e\xec\x65\xda\x87\x02\x70\xd4\x75\xdf\x09\x68\x8c\x3e\x82\xd2\xb5\x88\x0e\x76\x0a\x8d\x36\xe0\xfc\x1d\xa3\x1f\xad\x30\xd1\xd7\xc3\xf8\x6f\x50\x18\x71\x12\xdc\xcd\xac\x33\x52\x3d\xbc\xb0\x18\x69\x7a\xd0\xca\x56\x6d\x27\xd5\x67\x61\x5c\xfc\xc5\xfd\x8f\x03\xa6\x17\x17\x78\xbf\xbd\x7f\x37\xff\xd6\x3b\xe1\x4f\x53\xf8\x51\x2b\xa0\xcf\xc1\x9e\xc2\xaf\x3b\xe9\x19\xfa\x6e\x0e\xdb\xd1\x33\x38\x38\xfc\xd4\x0b\xf3\x04\xe7\x0f\xd1\x87\x68\x0e\x33\x7e\xe0\x3f\x4f\xc3\xdf\xf8\x60\xb5\x3a\x0d\xeb\x4e\xf3\x7a\x58\x9e\xb8\xb1\xe2\xd3\x3a\x1f\x3e\x6d\x65\xe4\xc9\x0d\x1f\x67\x6e\xe2\x4e\x57\xdc\x49\xad\x46\x5b\x4a\xab\x4a\x8c\xbe\xcd\x3f\x7c\xcd\x61\xe3\xe7\xd6\x4c\x67\x47\xae\xe4\xa9\xef\x42\x60\xfc\x77\x71\xe6\xdd\xd6\x74\xd3\x99\x38\x0b\xe5\xe2\x0b\x26\xd1\x34\xa2\x72\xf6\x79\x11\xb3\x47\x21\xd4\xcb\x27\x57\xf2\xc8\x9d\xa8\xa9\xe8\x44\xe5\xb4\x81\x5f\x82\x4c\x3f\x52\x58\xea\x5e\xd5\x21\x35\x70\x55\x83\x76\xad\x30\x30\xb6\x3f\xfc\x02\x87\x00\xc9\x77\x32\xbe\x36\xf1\xaa\x90\xe5\x8d\x98\x5d\x2c\x14\x7d\x21\xe2\xd7\x3a\x34\xd6\x27\xa1\xac\xee\x4d\x25\x3e\x0e\x59\x47\x5e\x21\x82\x57\x0e\xce\xef\xa2\xf9\x5f\xa3\xb9\x6f\x9d\xad\x5a\xe1\x8d\x6a\xa2\x93\xd1\x75\x5f\x79\xe0\xd1\x51\xaa\xe8\x60\x5f\x35\xc2\x92\x57\x62\xaf\xf5\xe7\x29\x60\x55\x45\x81\xa2\x74\x16\x78\xd3\xc8\x4e\x72\x27\xec\xd5\xd3\xac\x95\x16\x2e\x38\xa0\xd2\xb5\xf0\xbf\xbe\xee\x75\x9f\x5c\xc1\x35\x5e\x3a\x90\xca\x1f\x04\x5b\x5d\x7e\xde\xd0\xc8\x4e\x0c\xdb\x60\xb4\x76\x50\x4b\x13\x54\x7f\x02\xdd\x80\x1b\x15\x72\x46\xbc\xd8\xed\xb7\xb4\xe7\x7f\x8e\xe6\x1f\x2e\xbc\x8d\xdf\x99\xd5\xfa\xf8\xbb\xe4\x2d\xed\xef\x91\xf6\xff\x25\xe7\x93\x11\x56\x98\xb3\x98\xc0\xf5\xa1\x7e\x0f\xfb\x27\x48\xff\xf5\xcf\xda\xc8\x0a\xd6\xc2\x2a\xd9\x45\x90\x74\x1d\x04\x8a\x16\x86\x80\x3a\x9a\x00\xfc\x81\x88\x5a\xda\xcb\xdb\x74\x7d\xb2\x7a\x1b\xa0\x0c\xf5\xfc\xce\x5e\x2a\x6e\x9e\xfc\xf4\x3a\xda\x29\x3c\x4a\xd7\x82\x36\xe1\xbf\xee\x9d\x9f\x74\xb2\x91\xc3\x3b\x0c\xdc\x08\x38\xf9\xe9\xeb\x9c\xa8\xe1\x64\xf4\x59\xd6\xa2\x06\xd7\x72\x17\xd8\x35\xba\xeb\xf4\xa3\x1f\x4c\x95\x56\xb5\xf4\x41\x36\x04\x1d\x85\xfb\xce\x23\xf2\xb3\x7c\x06\x5f\xe2\xb2\x5e\x85\xb1\xd2\xc7\xde\x3a\x30\xc2\xf1\x41\x33\xbe\xd7\x67\x7f\x74\xed\xa3\xd2\x4e\x56\x62\x7a\x51\xae\x93\xd6\xf9\x04\xe3\x82\xaa\xfe\x15\x9a\x5a\xda\xaa\xe3\xf2\x18\xa6\x32\xbc\x0e\x42\xaa\xb1\x14\x57\x10\x17\x57\x89\xff\x39\x8e\xab\x1f\x6a\x5d\xf5\x47\xa1\xdc\xf3\x50\x89\xb5\x19\xe6\x8a\x9f\x41\x46\xf2\xce\xbe\x08\x1d\xba\x13\xc2\x46\xd0\x43\xab\xd9\x0a\x53\xa0\xe5\x92\xdd\x27\x04\x01\xa6\xb0\x21\xe5\x1d\xce\x50\x06\x8b\x1d\xb0\x15\x82\xb4\xdc\xec\x08\xbe\x5d\x31\x58\x95\x79\x86\x08\x85\xa4\xc8\x20\x2d\x0b\x46\xf0\x62\xcb\x4a\x42\xe1\x9b\x84\x02\xa6\xdf\x84\x83\xa4\xd8\x01\xfa\xb4\x21\x88\x52\x28\x09\xe0\xf5\x26\xc7\x28\x83\xfb\x84\x90\xa4\x60\x18\xd1\x29\xe0\x22\xcd\xb7\x19\x2e\x6e\xa7\xb0\xd8\x32\x28\x4a\x06\x39\x5e\x63\x86\x32\x60\xe5\x34\x14\xfd\x6d\x18\x94\x4b\x58\x23\x92\xae\x92\x82\x25\x0b\x9c\x63\xb6\x0b\xf5\x96\x98\x15\xbe\xd6\xb2\x24\x90\xc0\x26\x21\x0c\xa7\xdb\x3c\x21\xb0\xd9\x92\x4d\x49\x11\x78\x5a\x19\xa6\x69\x9e\xe0\x35\xca\x22\xc0\x05\x14\x25\xa0\x3b\x54\x30\xa0\xab\x24\xcf\x5f\x65\xe9\xb1\x7f\xc1\x71\x81\x20\xc7\xc9\x22\x47\x97\x4a\xc5\x0e\x32\x4c\x50\xca\x3c\x9d\x97\x55\x8a\x33\x54\xb0\x24\x9f\x02\xdd\xa0\x14\xfb\x05\xfa\x84\xd6\x9b\x3c\x21\xbb\xe9\x90\x93\xa2\x9f\xb6\xa8\x60\x38\xc9\x21\x4b\xd6\xc9\x2d\xa2\xf0\xe6\x3f\x48\xb2\x21\x65\xba\x25\x68\xed\x31\x97\x4b\xa0\xdb\x05\x65\x98\x6d\x19\x82\xdb\xb2\xcc\x82\xd0\x14\x91\x3b\x9c\x22\xfa\x3d\xe4\x25\x0d\x6a\x6d\x29\x9a\x42\x96\xb0\x24\x14\xde\x90\x72\x89\x19\xfd\xde\xaf\x17\x5b\x8a\x83\x68\xb8\x60\x88\x90\xed\x86\xe1\xb2\x78\x0b\xab\xf2\x1e\xdd\x21\x02\x69\xb2\xa5\x28\x0b\xea\x96\x45\xa0\xca\x56\xa8\x24\x3b\x9f\xd4\x6b\x10\xc4\x9f\xc2\xfd\x0Line truncated
|
||||
|
||||
func publicStaticJs2D33d7d47ChunkJsLicenseTxtBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticJs2D33d7d47ChunkJsLicenseTxt,
|
||||
"public/static/js/2.d33d7d47.chunk.js.LICENSE.txt",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticJs2D33d7d47ChunkJsLicenseTxt() (*asset, error) {
|
||||
bytes, err := publicStaticJs2D33d7d47ChunkJsLicenseTxtBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/js/2.d33d7d47.chunk.js.LICENSE.txt", size: 3394, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xb0, 0x26, 0x0, 0x4a, 0x36, 0x36, 0x2e, 0x97, 0xc9, 0x7f, 0x8c, 0x33, 0xd5, 0xc7, 0x2f, 0x3, 0xe0, 0xf8, 0x3d, 0x27, 0x62, 0x4a, 0xb0, 0x3f, 0x1f, 0xc1, 0x34, 0x9b, 0x89, 0x9f, 0x1a, 0xa}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticJs2D33d7d47ChunkJsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\xfd\x59\x77\xe3\xa8\x1a\x30\x0a\xff\x97\xac\xbe\xac\xec\xea\xa4\xba\x7b\xf7\x7e\xaf\x3e\x4f\xa9\xb8\x2b\x83\xdb\x76\x6a\xe8\x77\x7d\x4b\x0b\x4b\xd8\x22\x91\x84\x0a\x90\x93\xd4\xf9\xf3\x67\x3d\x03\x08\x3b\x91\x13\x3b\xd5\xe7\x06\x01\x62\x12\x82\x87\x67\xe6\xff\x39\x5a\x4b\x63\x95\xae\x8e\xfe\xcf\x87\x77\x47\x56\x37\x26\x95\xf6\xe8\xff\xfc\xdf\xa3\xff\xfc\xe7\x7d\xa5\x33\x99\x94\x3a\x6b\x0a\x69\xdf\x1b\x29\x52\xf7\x5e\x55\x99\x7c\xf8\xcf\xad\x3d\x7a\xf7\xa4\xc0\x42\x6b\x67\x9d\x11\xf5\xf1\x6f\xc7\x54\xb8\x50\x8b\xf7\x8d\x53\x85\x72\x4a\xda\xfd\xab\xa6\xba\xac\x75\x25\x2b\x67\xdf\x67\xba\xdc\x55\x7f\x69\x9d\xc5\x2a\x3b\xca\xa8\x2a\x97\x46\xb9\x36\x92\x2c\x8c\xbe\xb7\xd2\x3c\x5f\xdc\x8a\xa5\x3c\x5e\x34\xcb\xa5\x34\x5b\xad\xfe\xe7\x3f\xef\x7d\xa1\x73\x65\x9d\x36\x8f\x03\x5d\x39\xf9\xe0\x9e\x2b\x91\x1a\x29\x9c\xbc\x12\xa5\xdc\x51\x68\xaa\x1b\x27\xcd\x8b\x05\x9e\x7b\x73\x29\x4b\x6d\x1e\xbb\xdf\x5f\xa8\xa5\x4c\x1f\xd3\x42\x3e\xf7\xb2\x14\x2e\xcd\x27\xc2\xe5\x9d\x7d\x3e\xf7\x62\xe6\x84\x53\x69\x77\x97\xb3\x7b\xe5\xd2\x67\x9b\xcc\xb5\xbe\xb3\xcf\x4f\xf7\xff\x6f\x21\x16\xb2\x78\x6f\x9a\xca\xa9\x52\xbe\xcf\x65\x51\x4b\x63\xdf\x4b\x5b\xbe\x97\x0f\x4e\x56\x59\x47\xbd\xda\xe8\x54\x5a\xfb\x7e\xe7\xbf\x7c\xf6\x37\x6e\x94\xb8\x97\x8b\x5a\xa4\x77\xef\x17\x8d\x2a\x32\x55\xf1\x88\x0f\x5b\xe7\x69\x21\xac\x85\x3f\xfe\xba\xae\x56\x85\x5e\x88\x62\xef\x59\xf1\xab\xf8\x42\x6b\xdb\xd1\x93\x53\xd5\xe3\xb1\xaa\xd6\xc2\x28\x51\xb9\xf7\x99\xb2\x6e\x2b\xef\x3f\xd2\x96\x1d\xbb\xc5\x1e\xdf\xe7\xca\x49\x5b\x8b\x54\x1e\xa7\xb9\x30\x22\x75\xfb\xcd\xa1\x28\xb3\xe3\x4c\x2e\x55\xd5\x31\xbc\x52\x55\xaa\x14\x85\xb2\x4e\xa5\xc7\xc2\x5a\x69\x76\x82\x17\x59\x14\xaa\x76\x2a\xc5\xd9\x0e\x09\x98\xf6\x8e\xa5\x61\xa4\xd5\xc5\x5a\x1e\xd7\xc2\xe5\x95\x28\x25\x4e\xdb\x76\xe6\xf3\x55\xd7\xa2\x68\xe4\xb1\xfc\xde\x88\x02\x6b\x45\xe9\xe7\x2b\xe4\x04\x08\xb0\x30\xc7\x9f\x2f\x98\x9a\xc7\xda\xe9\xe3\x5b\xfb\x3e\xd5\xa6\x6b\x81\xc1\x4f\x3f\xae\x8d\xb4\xd2\xd1\x0a\x3b\x16\x75\xfd\xea\x95\x41\x53\x39\xcf\x95\x1d\x57\xca\x29\x51\xa8\x1f\x32\xeb\x18\xb6\xb0\xb0\x51\x71\x4a\x21\xbe\x6b\x3a\x03\x8c\x2d\xf4\x6a\xb5\x7b\x25\xbc\x08\xce\x97\xda\x94\x90\x2e\x75\xf5\x7c\x0b\xb8\xe5\xdf\xab\xb2\x6c\x9c\x58\x74\x6d\xc4\xb0\x08\x36\x3b\xaf\xfc\x17\x2d\x3a\x1a\xaf\xc5\x9d\x0e\x7b\xd6\xee\x1c\x47\xaa\xea\x5c\x9a\xe3\x85\xb0\x72\xd7\x07\x5b\x67\xa4\x28\x8f\x19\x08\xa9\xe5\xe3\x93\xa3\x33\x83\xcf\x38\xa6\x72\xd8\x77\x42\xf1\x24\x6b\xea\xa2\xab\xd9\x1d\x3f\x59\x2f\x6e\x65\xea\xbe\x28\x97\xeb\xc6\x4d\x8c\xae\xa5\x01\xe0\xb3\x0b\x1a\x18\xb5\xf3\x0c\x7d\x6e\xfb\xea\xda\x29\x5d\x75\xed\x2f\x51\x65\xba\x5c\x3c\x3a\xf9\x02\xf8\xdd\xfe\x7c\x69\x8c\x36\xf6\x78\xaf\x3a\xaf\x9d\x32\x9b\x0b\xf8\xfd\xbc\xb0\x9f\x3f\x30\xea\x63\xf7\x58\xbf\x80\x90\xbc\x71\x0b\x1a\x23\x1e\x2f\xd4\x9d\x9c\xeb\x1e\x44\xff\x95\x4e\x6c\xa1\x52\x99\xfd\x9b\x3d\xe0\x67\xc0\x1a\x3b\xd7\x85\xec\x58\x05\x6f\xec\x42\x39\x69\xe0\x3f\xf3\x67\x5c\xa8\x52\xb9\x7f\xa5\xa3\xa6\xb2\x4d\x5d\x6b\xe3\x64\x36\xde\xec\xf3\x5f\xe9\xae\xd2\x95\xef\x66\x2a\x6d\xc7\x27\x05\x90\xfa\xd7\xec\x85\x02\x43\xb9\x56\x69\xc7\xc6\x26\x14\xf3\x18\xe1\xf7\xce\x3d\x25\xd7\x08\x7c\xe9\xd1\x09\xc8\x54\xb5\x4a\x32\x99\xea\x4c\x1a\xec\x7a\x33\xab\x63\x08\xda\xc8\x63\x80\xa6\xc7\xca\x06\xc8\xba\x0b\x17\x3b\x7e\xd0\x3b\x4f\x90\x27\x07\xd3\x2e\x20\x2d\x6c\x75\xe2\x0b\x43\xfc\x3d\x82\x6b\xea\xa8\x13\xbb\xc9\x64\x0a\xd8\xc7\xae\x41\x34\x95\xb2\x8e\x3e\x6b\xad\xac\xda\x89\x9d\x30\x1e\x7a\x5c\xc9\x07\xa7\xd2\xbb\x63\x61\x56\xbb\x01\x4c\x38\x2a\x8e\x05\x7c\x42\xd7\xf6\x92\xeb\x3a\x41\x10\xeb\xf4\x9d\x7c\xdc\x1f\x3f\x4a\x1b\xb3\x96\x38\x21\x5d\x67\xa1\xb1\xf2\x18\x67\xed\xdf\x03\x87\x88\x11\x0f\x44\x51\x0c\x72\x99\xde\xfd\x3b\x5d\xe0\x26\x18\x40\x47\xff\x4a\xfb\x2b\x09\xa7\xac\xd3\x70\x72\x5c\x2f\xff\x1d\x50\x68\xaf\x84\x53\x6b\x39\x95\xcb\x42\xa6\x6e\xa0\x2b\xeb\x4c\x93\xfe\x3b\xe0\x10\xbe\x43\xff\x3b\xdf\x51\x6b\x6b\xd5\xa2\x90\xe1\x03\xb4\x99\x4a\xd7\x98\x8e\xdd\xfb\x53\x7e\xfc\xac\xa9\x3b\x89\xbf\x37\x9e\xb2\xff\x1f\xfc\x78\x26\xe5\xf6\x41\xa6\x77\x6c\xd6\x96\xc4\xe8\x84\x2a\x2f\x91\xb0\x75\x63\xea\x4e\x44\xf2\x55\xcc\x9a\x71\x55\x37\x5d\x2b\xf7\xa5\xfa\xfd\xc6\xb9\x2e\x58\xff\x3a\xd2\xe2\x4c\x9b\x12\x61\xcd\x5b\x86\xa1\xa0\xee\x47\xa3\x9b\x9a\xbe\x06\xa3\xf3\x98\x43\xf3\x0c\x24\x95\x95\x7b\x91\xdb\x65\x64\x2d\x85\x3b\xa6\x83\x75\x57\x41\x40\xd9\x8f\x9d\x11\xaa\x50\xd5\xea\xb8\x50\xd5\x4b\xed\x96\xc2\xdc\x1d\xe3\x40\xc2\x0f\x7d\xaf\x2a\x27\x8d\x69\xea\x8e\x61\x3f\x5f\xa9\xd2\xa6\x44\xc2\xb1\x13\x3b\x4f\x1d\x9c\xf5\xbb\x4e\x44\x4f\x65\xfd\x80\xa0\x94\xd6\x8a\x55\xd7\x7a\x2c\xb3\xdf\xe1\x00\xdf\xf9\x6d\x4f\xe9\x01\xfc\xb2\x4a\x14\x4c\x7e\xd9\xf7\xb2\xca\x8e\xf5\x92\x8b\x74\xb4\xa3\x6a\x59\x66\x27\x7f\xfc\xba\x93\x9c\x23\x22\xe2\xe7\x11\x7c\x21\xbd\x9b\xe5\x78\x38\x15\x79\x6f\xd4\x0e\x42\x39\xc3\x79\xc7\x0a\x59\x20\x6a\x5f\x85\x97\xec\x66\xab\x6d\x96\x2d\x75\xf6\x02\x51\x65\x34\xd0\x8c\xaf\x44\x8b\xac\x5a\x55\xaf\x65\xc9\x76\xb5\x61\xac\xd8\x1b\x65\xda\x1b\xbb\xea\x58\xd3\xLine truncated
|
||||
|
||||
func publicStaticJs2D33d7d47ChunkJsMapBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticJs2D33d7d47ChunkJsMap,
|
||||
"public/static/js/2.d33d7d47.chunk.js.map",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticJs2D33d7d47ChunkJsMap() (*asset, error) {
|
||||
bytes, err := publicStaticJs2D33d7d47ChunkJsMapBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/js/2.d33d7d47.chunk.js.map", size: 6312587, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0xe8, 0xa1, 0xf9, 0x9c, 0x9e, 0xfc, 0xef, 0x92, 0x88, 0xf2, 0x97, 0xab, 0x2e, 0x1e, 0x57, 0xe4, 0xbf, 0xf, 0x4f, 0xa, 0xe1, 0x82, 0x74, 0xb6, 0xb7, 0xf9, 0x1e, 0xb7, 0x56, 0x49, 0xc7}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticJsMainB55c2acbChunkJs = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xbc\x3a\x6b\x73\xdb\xb6\xb2\xdf\xef\xaf\x80\xd1\x8e\x0b\x1c\x41\xb4\x28\x3f\x43\x95\xf1\x24\x4e\xda\xa6\x4d\x9c\x34\x4e\xfa\x38\x8a\x4e\x07\x22\x57\x12\x63\x0a\x60\x01\xc8\x8a\x6a\xf3\xbf\xdf\x01\x40\xea\x61\x51\x6e\x32\xf7\xf4\xfa\x83\x45\x2c\x16\x8b\xc5\x62\x9f\x00\x88\x99\x64\x3a\x98\xc3\xb0\xe0\xc9\xf5\x8f\x5a\x8a\xa2\xe0\xda\x40\xdc\x0c\xbe\xbb\xeb\x0f\x68\x50\xcc\xf4\x84\xf4\xfb\x9d\x01\xbb\x0d\xcf\x3a\xd1\x68\x26\x12\x93\x49\x41\x80\x19\x26\xe8\x2d\x04\xf0\xa9\x90\xca\xe8\x58\x90\xd3\x93\x90\x96\x2c\x3c\x3b\xde\xc2\xb2\xd0\x93\x06\xe8\xe1\xe9\x51\x03\xf4\xe4\x64\x73\x1e\x0f\x3b\x6e\x80\x9d\x6e\xc3\x4e\xcf\xb6\x61\x67\xdb\xf4\x4e\x3b\xdb\x63\x4f\x3b\x8f\xb6\x61\x61\xc3\xd8\xf0\xa4\x01\xb6\x3d\xef\xe9\x61\x03\xde\x61\x03\xde\x71\xc3\x1c\xc7\x87\xdb\xb0\x93\x70\x4b\x5a\x78\xa6\x01\x69\xa3\xb2\xc4\xe0\x9e\x08\x14\x31\xb4\x77\xc3\x15\xe2\x4c\xc5\x82\x74\x28\x93\xb1\x08\x04\x51\x94\x65\xb1\x20\xe1\x69\x48\x59\xe2\x20\x19\x65\x3a\x26\x82\x84\x67\xc7\x94\x09\x72\x7c\x4c\x29\xcb\x63\x41\x8e\x4f\x28\x9b\xd9\xdf\x33\xca\x0a\xfb\x7b\x4a\xd9\xd4\x0d\x3d\xa3\x6c\x12\x0b\x72\x42\x59\xea\x07\x9e\xd8\x81\xe1\x69\x97\x52\x36\x8a\x05\x39\x3c\xa3\x6c\x11\x0b\xd2\x0d\x29\xbb\xb1\x23\x1f\x51\x36\xb6\x98\x87\xa7\x47\x16\xf3\xf0\xf4\xd8\x0f\x38\xa4\x94\x0d\x1d\x13\x63\xca\x9e\x3b\xda\x47\x94\x7d\x72\x90\xe7\x94\xcd\x63\x41\x1e\x1d\x53\x76\xe5\x00\x73\xca\xae\x2d\xe0\x84\xb2\x4b\x07\xb8\xa6\xec\x22\xee\xf4\xc4\x2c\xcf\xe3\x38\xce\x65\xc2\xf3\x2b\x23\x15\x1f\x43\x30\x06\xf3\xc2\xc0\x94\x60\x0d\x5a\x67\x52\xb4\xb3\x14\xd3\x73\x1e\xf7\x49\x3f\x84\xd3\x41\xab\x1d\xc2\x61\xab\x7d\x64\xff\x9d\xd9\x7f\x21\x84\x21\x0d\x14\x14\x39\x4f\x80\x1c\xf4\x3b\xe1\xd9\xe0\x60\xcc\xc8\x4a\xc8\xf4\x56\x81\x99\x29\x41\x08\xfc\x27\x3c\xde\x4f\xd4\xa2\x30\xd2\xce\xf3\x96\x8b\x54\x4e\x7f\xe1\xf9\x0c\x34\x11\x30\x47\xef\x33\x61\xce\x9e\x28\xc5\x17\x24\xa4\xb4\xdf\x19\xd0\xc7\x8f\xe1\xe0\x88\x06\x46\x5e\x19\x95\x89\x31\x09\x4f\x68\x49\x29\xeb\x0c\x22\xc2\x3f\x83\xef\x40\x17\x79\x66\x08\x8e\x30\xa5\xfd\x70\x10\x93\x82\x2b\x0d\x2f\x84\x21\xbc\x1f\x0e\x58\x78\x42\x5b\xe1\x1a\xf5\xc3\x13\xbf\xf1\x1f\x63\x1e\x7c\x94\x99\x70\x03\x7b\xf5\x4a\xd0\x6b\x52\x2f\x05\xdd\x57\xa1\x1b\x99\xa5\xa8\x13\xc7\xb1\xd8\xdf\x27\x22\xbe\x2d\x29\x5b\x81\x82\x09\xf0\x14\x94\xb6\x5d\xf5\xb7\x45\xf1\x4a\x16\x6f\xd0\xe2\x4c\x31\xc9\x32\x7a\x3b\x92\x8a\xd8\xfe\x04\x65\x02\x2d\x69\xa9\xfd\x7d\xa2\x1c\x79\x45\xb3\x11\x51\xc1\x84\xeb\xd7\x73\xf1\x46\xc9\x02\x94\x59\x90\x84\xd2\x5b\x3b\x4a\xc7\x38\xc2\xad\xa4\xc7\x03\x0d\x5c\x25\x13\xa2\xe9\xe3\xce\xfe\x3e\xe1\x31\x5f\xee\x95\x66\xaa\x9f\x0c\x28\x4b\x21\x07\x03\xc8\x35\xca\x6a\x7d\x22\x98\x82\x99\xc8\x34\x36\xd5\x3a\xf6\xe2\x58\x3a\xfe\x87\x32\x5d\xc4\x58\x3b\x81\xe1\x38\x8e\xcd\xa2\x00\x39\x42\xf2\xee\x4e\xa2\x4c\x68\xc3\x45\x62\xdb\x5e\xa2\xe7\x32\xfa\xf1\xea\xf5\x65\xe0\xd1\xb3\xd1\x82\x48\x4a\x57\x14\xc1\x09\x0b\x88\xa0\x94\x2d\x25\xd3\x5f\xdf\xc1\x41\xfc\xb1\x65\x57\x42\x2e\x5a\xad\xcd\x8d\x62\x23\x30\xc9\x84\x70\x26\x68\xd9\xf3\x5c\xdf\x8e\xc1\xac\x8c\x5b\x30\xb5\xdc\x2e\x4e\x0c\xc3\xdf\x3f\x7f\x87\x19\x30\x51\xcd\x4f\x4b\x56\xcc\x36\xf1\x99\xdc\x1c\xf1\xe6\x7d\x35\x42\x59\x64\xa9\xff\x06\xfb\xf5\xd5\x3a\x3a\x37\xc9\xe4\x61\xfc\x27\xef\x2e\x7e\x58\x0d\x48\x21\x7f\x80\xf9\x67\xcf\x5f\x3e\x7f\xf7\xfc\x1e\xff\x7e\xe7\xbe\x74\x94\x82\xa9\xbc\xf9\xd2\x51\x65\x59\x6e\x98\x9b\x6e\x30\x37\xf6\xd1\xab\xf4\x1b\xe7\x8e\x8e\x29\x7b\xe7\x9c\xcd\x1b\xca\x9e\x59\xef\x73\x4a\xd9\x4b\x07\x78\x46\xd9\x13\xeb\x04\x3b\x94\xbd\x70\x80\x27\x94\xbd\xb5\x18\x47\x94\x3d\x75\x80\xb7\x94\xbd\x77\x44\x4e\x28\xfb\xcb\x41\xde\x53\xf6\x93\x83\x9c\x52\xf6\xab\x83\xfc\x44\xd9\x0f\xf1\x25\xa1\x84\xb2\x57\xf1\x6b\x42\xd9\x8f\xf1\xb6\xcf\x41\x70\xfe\x34\xe0\x6b\xfa\x07\xeb\xbe\x2a\x1e\xb4\x0e\x18\xc6\x6b\xa0\x0f\x07\x07\x63\x86\xff\xd8\x00\xb5\x2c\xa8\x8d\x69\x84\x71\xc9\xfe\x68\x9a\xe4\x47\xf2\x8e\x50\xf2\x92\x50\x02\x94\xd2\x92\xfd\xd2\x84\xb4\x0e\xaa\x8d\xdb\xc4\x18\x33\x61\x3d\xf1\xb7\x10\xe4\x20\xc6\x66\xd2\x13\xad\x16\x35\xad\x98\xe0\x0e\x6e\x41\x5f\x0c\x36\x9c\x1f\x0d\x74\x9e\x25\x40\xda\x5d\x5a\x29\x3d\xfa\x2b\xe0\x81\x73\x6b\xc4\xd0\x92\x5c\x05\x3c\x18\xff\x95\x15\x96\x93\x92\x7d\x1d\xdf\x77\x54\xd9\x88\x08\xef\x22\x78\xfc\x22\xe0\x41\x0a\xce\x1f\xbb\xf0\x58\x53\xe4\x1b\xec\x3b\x3e\x99\xb0\x9e\x29\x86\x60\x2e\x55\xaa\x6d\x40\xdc\x74\xd7\x47\xff\x52\x15\xff\x36\x48\x76\x7a\x76\x81\x7e\x5d\x35\xbc\xd7\x6a\x09\x6a\xc1\x26\x56\x7d\x31\x60\x3c\x3e\xec\xf1\xc7\x71\xa7\xd7\x6e\x73\x2a\xfb\x59\xab\x35\x88\xcd\xe3\xc7\x67\xff\xe2\xfb\xdd\xe3\xe3\x9a\x15\x59\x12\x4e\xd9\xdf\x8a\x6e\xb8\x30\xf0\x72\x25\x3e\xeb\x29\x49\xd8\x3d\xdb\xb7\xf2\xa3\xe7\xa6\x15\x7b\x09\x06\x23\x25\xa7\x17\x13\xae\x2e\x64\x0a\xc4\x75\x46\xe1\xa3\xae\xc5\xee\x76\x8f\x3c\xf6\xfe\x7e\xd8\x3d\x73\xe3\x1f\x75\x2d\xa4\x15\x0e\xe8\x39\xd9\x41\x82\x90\xc3\xd0\x0f\xfb\xf6\xdb\x13\xda\x22\x27\x87\xf5\x10\xca\x44\x2b\x0e\x69\xd4\xed\x1e\x39\xf2\x47\x9d\xdd\xe4\xb7\x60\xdd\x07\xa7\x0c\x8f\xeb\x29\xc3\x2e\x6d\x91\xLine truncated
|
||||
|
||||
func publicStaticJsMainB55c2acbChunkJsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticJsMainB55c2acbChunkJs,
|
||||
"public/static/js/main.b55c2acb.chunk.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticJsMainB55c2acbChunkJs() (*asset, error) {
|
||||
bytes, err := publicStaticJsMainB55c2acbChunkJsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/js/main.b55c2acb.chunk.js", size: 14020, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x38, 0xa2, 0x31, 0xa6, 0x58, 0x87, 0xc1, 0x7e, 0xa3, 0x3d, 0x8a, 0x46, 0x4b, 0xfa, 0x22, 0xa2, 0xc7, 0x54, 0xb3, 0x8f, 0xb8, 0x9f, 0x41, 0x93, 0xd4, 0x29, 0xaa, 0xfa, 0xbc, 0xf1, 0xf9, 0xf8}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticJsMainB55c2acbChunkJsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\xd4\xbd\x8b\x57\xe2\x4a\xf2\x38\xfe\xaf\xf4\xb0\xf7\x5c\xe0\x63\xe4\xe1\x7b\x1c\x75\x4e\x27\x44\x44\x44\x54\x74\x1c\x47\xfc\xec\x0d\xd0\x40\x24\x24\x99\x24\x80\x8f\xeb\xff\xfe\x3b\x55\xd5\x79\x82\xde\xb9\xbb\xfb\xd9\xef\xf9\xdd\x3d\xeb\x24\xdd\xd5\xd5\xd5\xd5\xf5\x4e\x27\xbc\xe6\xe6\xc2\xf3\x4d\xc7\xce\xed\x6f\x2a\x39\xdf\x99\x79\x7d\xe1\xe7\xf6\xef\x73\xae\xe1\x07\xa2\x7c\x25\xa6\x4e\x20\x3a\xc2\x9b\x9b\x7d\x51\x7a\xf4\x73\x8a\xec\xb8\x80\xbf\xd4\xc0\x5d\x97\x2e\x3c\x31\x32\xfd\x40\x78\x12\xfc\xd6\xf1\x26\xc2\xa3\x2e\xd3\x1e\x88\x27\xb8\x7c\x50\x72\xb6\x31\xa5\x29\xa0\x43\x6b\xdf\x9c\x5f\xeb\x57\x39\x25\x67\x39\x7d\xc3\xea\x04\x8e\x67\x8c\x44\x4e\xc9\x8d\x44\xd0\x08\xc4\x14\xd1\xba\x96\xd1\x87\xb6\x3e\xfc\xdf\x7b\x76\x03\x87\x00\xae\x0c\x7b\xe0\x4c\xbf\x19\xd6\x4c\x00\xae\x1b\xd3\x0e\xf6\xb8\xe7\x19\xcf\x39\x25\x17\x38\x9d\xc0\x33\xed\x51\x4e\xc9\xf9\xae\x65\x06\x48\xb9\xe7\x8b\x86\x0d\x97\x1d\xbd\xd3\x69\xb4\xcf\x73\x4a\xee\xd1\x31\x6d\x9c\x24\xb1\xd0\x9c\x92\x9b\x79\x56\x4e\xc9\x0d\xa1\xab\xef\xd8\x43\x13\xf0\xcc\xec\x81\x18\x9a\xb6\x18\xe4\x94\xdc\x58\x18\x03\xe1\xc1\xac\xe2\x49\xf4\x67\x01\x8c\x99\x8a\x60\xec\x40\xe7\xcf\x99\xf0\x9e\x71\xc2\x67\xcb\x31\xa0\xc5\x84\x21\x86\xdf\x5e\xd8\x17\x9e\xe3\x0a\x2f\x80\x6e\x5b\x88\x81\x05\x03\x7d\x61\x78\xfd\x71\x4e\xc9\xf5\x9c\x01\x74\x44\x94\x9f\x76\x90\x46\x1f\xef\xcd\x21\xf4\x0d\x45\x80\xa0\x23\x81\x4b\x9a\xe1\x5f\xc7\xa7\xf5\x51\xd7\x40\x58\x88\x34\x62\x20\x71\x41\x88\x81\x87\x0c\xc3\xe5\xfe\x84\xe9\x76\xb6\x72\x4a\x4e\xe5\x1d\x1d\x2f\xfa\xe3\x49\x4e\xc9\x5d\x35\x2e\xf4\x56\xad\xba\x53\x01\x42\x4e\xf8\xc6\xf6\x4e\x4e\xc9\xbd\x98\x2e\xf0\x54\x3c\xc1\x3c\x33\x03\xb6\x4b\xd8\xa3\x00\x66\xf3\x2d\xe2\xd8\x89\xfe\x3d\xe4\x31\xc0\x54\x77\x0c\xbc\x9d\xe0\x5e\xd1\xf8\x81\x80\x1d\x84\xab\x17\xc0\xf6\x04\xc2\xa3\x77\xa8\x03\xb6\x35\xa7\xe4\x16\x30\x6a\x0e\xfb\x02\x37\xf0\x7f\xc7\x1b\x00\x9b\x7b\x39\x25\x07\xe4\xcd\xf6\x00\xa2\xf7\x1c\x88\xb3\x90\x82\xa1\xe7\x4c\xb5\xb1\xe1\x69\xce\x40\x10\xb7\xf6\x50\xe4\x86\x96\x81\xfb\x72\x73\x7d\x0c\x0d\xbd\x88\x64\x20\x69\x16\x0c\xf7\xa2\x06\xdc\x66\x89\x81\x03\x19\x17\xbc\x73\xad\xff\x93\x5f\x34\x00\xdf\xb3\x1d\x18\x4f\xc0\x4b\xda\x6e\xd7\xf4\x44\x78\x87\x6a\xa0\x79\x82\x26\x12\x9e\xe7\x78\x80\xdf\xee\xcc\x7a\x53\x94\x39\xc7\xd6\xc6\x86\x8d\x12\x4d\x78\x22\x14\x40\xd1\xcc\x83\x99\x85\x1d\x78\x8e\x8b\x02\x63\x19\x28\x8d\x7d\xcb\xf0\xfd\x73\x63\x2a\x90\x23\x9e\x4d\xd2\x60\x53\xc3\x10\xe7\x30\x41\xac\xe6\x20\xfa\x20\x79\x06\x30\x75\x22\x50\xf0\x9f\x5d\x41\x3b\x3c\x33\x3d\x94\x55\xcf\x59\x00\xad\x63\x4f\x0c\x01\x9f\x69\x0f\x9c\x85\x54\xb8\x00\x34\x5f\xc9\x39\x9e\x39\xc2\x89\x07\xce\xc2\x96\x22\x8b\x4b\xfb\x66\x8a\x05\x89\xee\x38\xde\xa6\x26\xce\x43\xab\x00\xc4\x7d\xd3\x1d\x0b\x5a\xf7\x39\x82\x3b\xb6\x46\xeb\x81\x7d\x6f\xbb\x81\x4f\x6d\x96\xd9\x9f\x20\x65\xc6\xa0\x6d\x5b\x88\x03\xe8\x35\x3c\x92\x65\x5f\x58\xa2\x8f\x17\x68\x85\x42\x12\x80\x2d\x9e\xe3\x02\x0e\x7f\xd6\xf3\x23\xa5\x0e\x88\xe7\x7e\x60\x78\x81\x1e\x71\xb0\x67\xda\x40\xbc\x31\x18\xc4\x6d\xc2\x0e\xa5\x4b\xcc\x85\x8d\xd4\xf4\x9d\x19\xda\x01\xd2\x21\x5c\x9c\x6b\x8c\xc4\x77\xf9\xef\x1d\x71\x53\x0a\x54\x8d\x66\x0a\xc6\xa6\x8f\x2c\xea\xcf\xa6\x02\x47\xc3\x2c\x80\xf1\x0c\xcc\x9e\x8d\x2c\xf0\x45\xd0\x91\x94\xe1\x64\x28\x58\xa2\x3f\xc1\x8d\x70\x3d\x6c\xab\x89\xa1\x31\xb3\xa0\x6b\x6c\xfa\x81\x83\xa6\x22\x18\x0b\x3b\x32\x2b\xb0\x39\xd0\xe6\x99\xa0\xab\x03\x69\xc2\x90\x25\xe2\x09\x15\xd1\x39\x03\x6b\x29\x80\xb2\xc8\x58\x84\x8d\xd7\xe6\x34\x6e\xb4\x0c\xfc\xc7\xb4\xc9\x52\x78\xc8\x1d\x7f\x0c\x3a\x64\xa3\x14\xb4\x7b\x8f\xc4\x75\x90\x42\x13\xf7\xd3\x23\xa3\xe7\x3b\x68\x9c\x2c\x07\x10\x38\xb4\x73\xc8\x3b\x69\x66\x6c\xf1\x14\x5c\xc8\x9d\xd1\x9c\xa9\xeb\xd8\xb4\x5e\xee\x02\x89\x86\x6b\xd2\x08\xd7\xb1\xd1\x22\xf4\x0c\x5f\x48\x09\x3e\xf6\x8c\x91\x64\xa1\x6b\xa0\x02\xf6\x13\xe3\x4d\x1f\xd7\x31\x26\xa3\xa6\x3a\x8e\x25\x0c\xe4\x8d\xe3\x07\x12\xc1\x54\x92\x10\x7a\x9c\x6f\x86\x65\x0e\x3a\xb7\xb0\xb4\xc5\x0d\x5a\x6e\xdb\x98\x9b\x23\x23\x70\x68\x4f\x12\xfe\x28\x31\x2a\xba\xf4\x22\x3d\xb0\x67\xee\xc0\x08\xc4\xd0\x99\x21\xa3\x4c\xdb\x0f\x0c\xcb\x32\xed\x51\x34\x38\x6e\x42\x78\x14\xc3\x7e\xa8\xe2\x7d\x07\x84\xce\xb2\x10\xf2\x4a\x18\xfd\xa0\xd6\x6e\xe1\x34\x36\x6d\xeb\x48\x04\xba\x25\x60\xed\xea\x73\x03\x66\xb8\xb9\x3a\x23\x01\xef\x0b\xdf\x97\x62\x3d\x8b\x3c\x66\x7b\x28\xf5\xe5\x19\xdd\x4f\x8a\x70\xa9\xa6\x28\x5d\xb4\xfe\x77\x96\x99\x6e\x7f\x40\x6b\xe1\x9a\xf6\xc8\xcf\xed\xe7\x36\x04\x6f\x9a\x2a\x57\x74\x65\xe3\x9c\xf3\x9e\xa6\xe8\x9c\xdf\x28\x3a\xd7\x76\x54\xa5\xcd\xf9\x5c\xd3\x14\x83\x73\x43\x53\x2e\x39\xbf\x54\xfa\x5c\x9b\xab\x27\x00\xd3\x50\x74\x7e\x7e\xa2\x68\x9c\x6b\x4a\x8b\xf3\x96\xd2\xe4\xbc\x99\xf8\x03\x6d\x0d\x1a\x74\x03\x18\x3b\x1c\x20\xeb\xf0\xe7\x92\x6b\xdb\x1a\x07\x24\x4e\x0d\x5a\xca\x9a\x06\x53\xb5\x35\x65\xa4\x72\x3e\x52\x95\x06\xe7\x0d\x4d\xb9\xe5\xfc\x16\x2f\x01\xa1\x21\x27\xad\x73\x5e\x6f\x00\xb2\x8e\xd2\xe6\x4d\x5b\x57\x1a\x5c\xef\x5d\x63\x9f\x9e\x26\x94\xf7\xdb\x44\x58\x8b\x6b\x9b\x1a\x20\x6a\x6Line truncated
|
||||
|
||||
func publicStaticJsMainB55c2acbChunkJsMapBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticJsMainB55c2acbChunkJsMap,
|
||||
"public/static/js/main.b55c2acb.chunk.js.map",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticJsMainB55c2acbChunkJsMap() (*asset, error) {
|
||||
bytes, err := publicStaticJsMainB55c2acbChunkJsMapBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/js/main.b55c2acb.chunk.js.map", size: 36471, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xee, 0x1e, 0x38, 0xff, 0x34, 0xcb, 0xf5, 0x1a, 0x59, 0xc4, 0xbc, 0xe7, 0xa1, 0xf, 0x44, 0x23, 0x8b, 0xf0, 0xa0, 0x9f, 0x46, 0x76, 0xf5, 0x41, 0x81, 0x7f, 0x1, 0x44, 0xa4, 0xd3, 0xbc, 0xcd}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticJsRuntimeMainA4bc2b48Js = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x8c\x54\xdf\x8b\xe3\x36\x10\x7e\xef\x5f\x91\xb8\x20\x24\x32\xab\x75\x96\x7d\x38\xe2\x1d\xfa\x5e\x7a\x5c\xe9\xb5\x4f\xc6\x1c\x8a\x23\x27\xba\x2a\x92\x90\x47\x77\x5d\xbc\xfe\xdf\x8b\x9c\xd8\xb9\xdb\x76\xe1\x20\x90\xb1\x34\x3f\xbe\xf9\xbe\xd1\xac\xbb\xe4\x5a\x32\xde\x71\x2d\x86\xd9\x5e\x11\x27\x31\x74\x3e\xf2\x2f\x2a\xae\x1c\x58\x50\x48\x75\xd9\x80\x41\xaa\xb7\x0d\x04\xa4\xfa\xa1\x81\x16\x4b\xe8\xb1\x6e\xaa\xf6\x49\x49\xab\xdd\x91\x4e\x55\xbb\xd9\x08\x8b\xaa\x6e\x1b\xf8\xb0\xff\xac\x5b\x92\x21\x7a\xf2\xf4\x1c\xb4\x3c\xa9\xfe\xc3\x57\xf7\x7b\xf4\x41\x47\x7a\x96\xad\xb2\x96\x7b\xb0\x82\x31\x5f\xdb\x86\xb1\x5e\x86\xd4\x9f\x78\xfe\xa8\xcb\x46\x40\x36\xb0\xac\x32\x0e\xb7\x32\x6e\x65\xc4\x0f\xa5\x34\xe0\x04\x63\x5c\xd7\xae\x41\x53\xbb\x46\x4c\x19\x3a\xc6\x3a\x4e\xa2\xea\x67\xa4\xa2\x97\xfd\xc9\x74\xc4\x05\x17\x55\xd4\x94\xa2\x5b\xa5\x09\x81\x54\x21\xd8\x67\x9e\x20\xbc\xbc\xd4\x8d\x80\xc8\xc5\xb8\x50\x13\xf9\x8d\x19\x0d\x84\x65\x45\x4f\x69\xce\x49\x9b\xcd\xed\x36\x62\xaa\xa9\x01\x87\xeb\x12\x14\x6e\x2b\xf5\x14\x67\x3f\x95\xfd\xb2\x8f\xc1\x58\xab\xa6\x2a\xd7\x88\xbe\x36\x0d\x63\xdc\xe1\x7a\x2b\x46\xc7\x18\x4f\xb2\x0f\xd6\xb4\x9a\xd3\xdd\x1d\x6c\x05\x68\xb4\xdc\xca\x1e\x63\x26\x47\x8c\x57\xc8\x7a\x9c\x34\xc2\x61\x04\x8f\xc3\x76\x57\x8e\x90\xb2\x26\x0b\x60\x9b\xb5\x34\x1d\x77\x35\x35\xe2\x1a\x94\x6d\xa9\xff\x09\x3e\x52\x5f\x5d\xb0\xe6\x23\x1c\xcc\x8e\xc0\xee\xd6\x5b\xb8\x5e\xee\x86\x71\x9c\xc9\xd1\x39\x68\x62\x38\xce\xb1\x10\xe1\x66\x5b\x01\x51\xda\xdc\xed\x72\x36\x5a\x79\x46\x0d\x56\xb6\xe8\xc0\xca\x03\xde\xa6\x0d\x08\xa2\x18\xac\xf4\xd9\x14\x2f\x2f\x57\x69\x0f\xba\x33\x4e\xcf\x82\x4e\x6e\x83\x76\xe9\xac\xa3\xda\x5b\xbd\x5b\x97\x70\xd4\xb4\x8b\xa3\x18\xc1\xca\x88\xdf\x4e\x6f\x91\xdc\x25\xfa\x50\xac\x11\xf3\x78\xf8\x6e\xf5\xf1\xf9\xbc\xf7\x96\xb1\xcb\xbf\x24\xff\x91\xa2\x71\xc7\x3f\xd5\x91\xb1\xb7\x4a\xfe\xd7\x17\x86\x2f\xca\x26\xbd\x2b\xde\xfb\x43\xb2\xba\x18\x05\xbc\x15\x5c\x7c\xfa\xa4\xfb\xab\xdb\x1c\xb6\x2e\x2f\x78\xe9\xbb\xfe\x27\x55\xb6\x8c\xf2\xac\xa2\xe5\x5a\x08\x78\xc7\x68\x96\x48\x57\xa6\xe3\x8f\xf9\xb6\xf0\x53\xa9\x02\x97\xa6\x34\x63\xf9\x27\x6f\xa5\x6e\x51\x17\x35\xaf\xe8\xda\xa8\x15\x69\xee\x92\xb5\x22\xe7\xb3\x32\xf2\xf8\x16\xf6\x08\xc5\x41\x77\x2a\x59\x2a\x5e\x73\x7e\x69\x43\x8f\x02\x1e\x26\x44\xfd\x44\x4c\xb1\x5e\x00\x89\x65\x59\xe4\x87\xaa\x85\x95\x07\x1e\xc1\xc1\xd2\x2f\x89\xe1\x9b\x31\x1a\xe5\xde\xb8\xc3\x84\x0b\x9c\x58\x9e\x5f\xcc\x24\xb9\xef\x44\xcd\x39\x09\x5f\x75\xfb\xcb\xe2\x71\xcb\x2a\xaf\xd8\xc7\xdd\xff\x5c\x2e\x33\x9c\x71\x11\x14\xaa\x00\x12\x40\xb9\x9c\x7f\xa5\xc9\xd5\xf1\x87\x36\x4d\x0e\xc8\x39\x02\x16\xf7\xc9\xdc\x17\x13\xf9\x0a\xe9\x64\x7a\xf9\x55\xef\x83\x6a\xff\xfe\xb5\xf7\x2e\x04\xd5\x93\x7e\xe3\x38\xaf\x18\x30\xa8\x2e\x9b\x67\xa2\x45\x89\xea\xf2\x89\x04\x0a\x95\xec\xa7\x2d\x70\x59\x63\xb9\x42\xc0\xb2\x0a\xb7\x95\x1b\x36\x1b\x41\x5c\xd5\xa1\x11\x13\x80\x0e\x4d\x95\x57\x16\xaf\x1b\x51\xfd\x74\x7f\xff\xf3\xaa\xf7\x29\xb6\xfa\xbd\x0a\xc1\xb8\xe3\x5f\x7f\xfc\x86\x31\x39\x32\x67\x7d\x77\x56\xc6\x49\xf5\xb8\x6f\x1f\xf6\x8f\xef\xe4\xe7\x5e\x9e\x55\xf8\x37\x00\x00\xff\xff\xfb\x4d\x5a\xa6\x12\x06\x00\x00")
|
||||
|
||||
func publicStaticJsRuntimeMainA4bc2b48JsBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticJsRuntimeMainA4bc2b48Js,
|
||||
"public/static/js/runtime-main.a4bc2b48.js",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticJsRuntimeMainA4bc2b48Js() (*asset, error) {
|
||||
bytes, err := publicStaticJsRuntimeMainA4bc2b48JsBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/js/runtime-main.a4bc2b48.js", size: 1554, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0x1a, 0x26, 0xba, 0x1f, 0x3f, 0x83, 0x83, 0x6d, 0x2a, 0xd2, 0xf2, 0xc4, 0x3f, 0x58, 0x9b, 0x38, 0x6a, 0x1e, 0x62, 0xef, 0x38, 0x2e, 0x1b, 0xdf, 0x54, 0xf5, 0x76, 0xb8, 0x4c, 0x40, 0xb, 0xcc}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
var _publicStaticJsRuntimeMainA4bc2b48JsMap = []byte("\x1f\x8b\x08\x00\x00\x00\x00\x00\x00\xff\x94\x59\x7b\x53\xdb\x38\xb4\xff\x2a\x5a\xff\xb1\x24\xb3\x6a\x02\x94\x4e\xd9\x70\x33\x77\x64\x25\x18\x93\xd2\x34\xa4\x94\xb2\x84\x61\x9c\x44\x21\x06\xc7\x76\x6d\x85\x47\xbb\x7c\xf7\x3b\xe7\x48\xb2\xe5\xc4\xec\xee\xfd\x27\x24\xd2\x79\xfc\xce\x53\x47\xe2\x97\xf3\x28\xb2\x3c\x4c\x62\xa7\xf3\x9e\x3a\x79\xb2\xce\x66\x22\x77\x3a\xd7\x4e\xab\xd5\x7e\x12\xd3\x34\x98\x3d\xb4\xa7\x49\x22\x73\x99\x05\xa9\x73\x43\x9d\x38\x58\x29\x02\xbd\x7b\x9a\x27\x71\xca\x83\x28\x9a\x06\xb3\x07\x87\x3a\xf3\x40\x06\x0e\x75\x56\xc9\x7c\x1d\x09\x7f\xee\x50\x67\xb6\x5c\xc7\x0f\xf6\xb7\x1c\xf7\x33\x71\x86\x34\xf0\x4b\x3c\x8b\xd9\x5a\x5a\x0b\xa1\x43\x9d\x4c\xe4\x49\xf4\x88\x3f\x23\x11\xdf\xc9\xa5\x43\x9d\xe1\xf4\x5e\xcc\xa4\x43\x9d\x34\x4b\x64\x22\x5f\x52\xe1\x50\x67\x19\xe4\xc3\xa7\xf8\x4b\x96\xa4\x22\x93\x2f\xa0\x27\x88\x22\x10\x12\xe7\x32\x88\x22\x31\xe7\xa0\x17\xe4\xa4\xeb\x7c\x59\x80\xc3\x85\x20\x13\xb1\x44\x1b\x8e\xd7\xf1\x4c\x82\x23\xa8\x93\x2f\xc3\x05\x28\x99\x8b\x85\xc8\x32\x31\x2f\x71\x05\x69\x1a\xa1\x86\xa5\x98\x3d\xf4\xb6\xb6\x33\x91\xaf\xa3\x6d\x4e\x87\x3a\x8b\x75\xb4\x08\x01\x8b\x43\x9d\x7b\x24\x48\xd1\x25\x79\x1a\x85\x33\x20\xb8\xbd\xd5\x0e\xbd\xcd\xc4\x8f\x75\x98\x89\xdb\x5b\xd8\xb6\xcd\x28\xf5\xec\xa1\xcf\xd2\x24\x93\x79\x61\x0e\xb8\x09\x7e\x00\x3a\x50\xe0\xa8\x58\x39\xd4\xb9\x13\x52\x8a\xcc\xa1\x4e\xa2\x90\x85\xb1\xb0\x9c\x25\xe2\xf5\x4a\x64\xc1\x34\xd2\xa4\x60\x86\x43\x9d\xf1\xcb\x6a\x9a\x80\x40\x99\x8c\x65\x16\xc6\x77\x5f\x83\x3b\x87\x3a\x8f\x41\xb4\x06\x42\xa9\xf4\x2a\xe4\x22\x2f\xec\x8c\x01\xd0\x2c\x13\x81\x84\x5f\x0f\x02\x34\x4c\xc3\x18\xd1\x00\x02\x2b\x7e\x06\x40\x0a\x2e\x81\x08\xb0\x2c\x0b\x60\x41\x2e\x43\x90\x92\x44\xf3\xad\xc0\xa0\xb3\x6e\xa8\xb3\x0a\xd2\x34\x8c\xef\x72\xa7\xe3\x04\x8c\xf7\xe9\x98\xb1\x31\xa3\x7d\xc6\x7e\xb8\x9c\x7a\x6c\xf4\xd1\xa5\x3e\xfb\xc2\xa8\xcf\xce\x7c\x0e\xeb\x17\xf0\xf9\xf9\x1b\x7e\xbf\x3c\x81\xcf\x01\xf5\x18\x5f\xba\x3e\x7c\x9f\x9d\x16\x2b\xb1\x3b\x80\xef\xa1\xfb\xc9\x2c\xf9\x27\x67\xf0\x15\x09\x3d\x25\x00\x08\x53\xde\xc3\x65\x14\x36\x1e\xd0\x21\x63\xa3\x63\xea\x33\xfe\xd3\x3d\x2d\x34\xb2\xb1\xa7\xd4\x78\xb0\x3f\xe4\xf4\x02\x37\x04\x63\x82\xd3\x01\x63\x03\xae\x94\x7d\xa7\x3e\x63\x57\x97\xf0\xe3\x0e\x7f\xf0\xf4\x18\x71\x8c\x87\x48\xd6\x33\x3b\x1e\x63\x63\xea\xb3\xfe\x33\xbf\xb4\x96\xe0\x7b\xff\x03\xd8\xcc\xfc\x1e\x30\x5c\x79\xb4\xcf\xf8\x5f\x83\x37\xb4\x9e\x03\x6f\x70\x42\x07\x8c\xa7\xbd\x19\xfc\x18\xcd\x41\x0e\xb2\xb1\xab\x13\xea\xb3\x41\xc4\xa9\xcf\x8e\x3d\x01\xeb\x3f\x5c\x74\x6e\xe2\x2e\x5d\xea\xb1\xbe\xe4\x43\xc4\xc6\xe9\x88\xf1\x39\x62\x1b\x5f\x80\xaa\xaf\xdf\xa8\xc7\x86\x3d\x3a\x64\x27\x4c\xe3\x3b\x45\x85\x03\x7a\xc6\xd8\x59\x4f\x19\x3b\x05\x91\x0f\x80\xd6\x7b\xec\x09\xb0\xe6\x5c\x07\x10\xbf\xfa\xac\xc7\xd0\x12\xf0\x0d\xf7\x17\xa5\xf3\x11\x84\x7f\xa5\x04\x7f\x2b\x3c\xce\x06\x94\x33\xaf\x8d\x78\x15\xe7\x9d\xab\x34\x9d\x2a\xd2\xbf\x20\x06\xf7\x3c\x74\xd1\x46\x90\x7a\xce\x37\xa5\x1e\xc3\xa7\x98\xa3\xd0\x3b\xd7\x48\xe5\x7f\xf2\x02\x0a\x1b\x61\xa8\x45\x1f\xa4\x79\xb0\xfc\xde\xfd\xae\x14\x5c\x81\x91\xb3\x63\x25\xde\x63\xfd\xf7\x1c\x70\xf0\xe3\x4f\x6a\x7b\x84\x61\x48\xb5\x54\x8f\xf1\x0f\xae\x40\xa7\x9d\x29\xaf\x6a\xe7\x2a\x4c\x9f\x51\x09\x1d\x30\x5f\xf6\x91\x0f\xbc\xe6\x9f\x23\x8c\x11\xec\xad\xc0\x8c\x41\x0c\xb1\xe8\xa3\x1f\x39\xe3\x99\x1b\xe2\x2f\xc8\x36\x8f\xfd\xa5\x37\x3c\xe6\x49\x17\x5d\x3b\x56\x1a\xf6\x70\xed\x03\xfa\xc1\x3b\xd0\x4e\xc2\x9f\x3c\x76\x51\x59\x65\x91\x5d\x1c\xba\x74\xc4\xbc\xd8\x72\xc2\xf8\xc4\x26\xb8\x02\xe5\x3f\x39\xa6\xaa\x07\xd6\xf2\x93\x3b\x8e\xd2\xf1\xfb\x31\x1d\xa9\x7c\xbd\x80\x68\x7d\x66\x0a\xb2\xca\xb5\x8b\x4b\xcc\x8c\x04\x97\x86\x3d\xa4\x54\x6e\x66\xd6\xca\x29\x00\x6e\xf7\x50\xc1\x10\x25\x43\xd0\xbc\xd3\x5e\x41\x33\x58\x9c\x2a\xe3\x30\x27\xfd\x18\xe4\x79\xcf\xee\x95\x5a\x1c\x15\x3e\xf5\x9e\xdd\x63\xb5\x36\x56\xb1\x07\xbf\x7c\x2a\xc3\x70\x06\xd2\xf9\x7b\xfe\x5d\x11\x21\x7f\xff\x5c\xef\xfb\x8c\x47\xfc\x83\x72\xd1\x1f\x2e\x56\xd2\x57\x8b\x95\x72\xc6\xfa\x3e\xbd\x52\xd9\x05\xa2\x20\xd2\x90\xfa\x83\x65\x5f\x0b\x54\x39\xa9\xd4\x62\x42\x7e\xa7\x3f\x5c\xc6\xbe\x07\x60\xe7\xae\xcb\x74\xa9\x06\x8c\xef\xf1\x94\x6f\x6b\x0a\x34\xc1\x15\x63\x01\xea\xe3\x50\x53\x43\x7a\xc9\xfa\x1f\x7b\x59\x0d\x03\x0d\x18\x9b\x21\xa5\xc0\x4d\x3a\x60\xa3\xc7\x1e\xfa\x87\x25\x6e\x62\xc1\x51\xce\x84\xbc\xee\x3f\x82\x17\x7a\x17\xb0\x80\xed\x93\x5d\xa0\xd3\x46\x86\x6d\x05\x49\xcc\xdb\xf8\xeb\x4b\x1f\xfb\x1c\x0a\x07\x2a\x9e\xba\xa6\x19\xc1\x9e\xc7\xd8\xa1\x4b\x1f\x5c\xc6\xbe\x61\x65\xe4\x2e\xc3\xf6\x85\xe1\x3d\xf3\xe8\x25\x78\x0b\x78\x21\xa3\xf8\x12\x2b\xd9\xc7\x92\x1c\xfc\x54\xe6\xec\xaa\x3f\xf4\x8c\x79\x8f\x20\xfa\x98\x3d\xbb\xb6\x33\xfb\x43\xf0\xa3\x74\x7f\x56\xac\xbf\x50\x86\x5d\x00\x12\xb0\xfe\x6b\x19\x17\x6c\x43\x43\xac\x4d\xd9\x2b\x61\x1e\xb8\x34\x74\x19\xfb\x7a\xac\xcb\x0b\x80\xe0\xc7\x19\xa4\xe8\x10\x2b\x72\x68\x3c\x80\xd9\xd3\xc7\xa6\xe9\xf7\xd5\x19\xa1\x9a\x97\x07\x50\x87\x86\xfe\x0c\x92\x86\x8d\x54\xbf\x85\x8f\xb3\x1e\xa8\xfd\xd3\xd7\xee\xf2\x98\x7f\xfe\xa8\x45\xee\x5b\xb1\x90\x58\x8d\x4b\xae\Line truncated
|
||||
|
||||
func publicStaticJsRuntimeMainA4bc2b48JsMapBytes() ([]byte, error) {
|
||||
return bindataRead(
|
||||
_publicStaticJsRuntimeMainA4bc2b48JsMap,
|
||||
"public/static/js/runtime-main.a4bc2b48.js.map",
|
||||
)
|
||||
}
|
||||
|
||||
func publicStaticJsRuntimeMainA4bc2b48JsMap() (*asset, error) {
|
||||
bytes, err := publicStaticJsRuntimeMainA4bc2b48JsMapBytes()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
info := bindataFileInfo{name: "public/static/js/runtime-main.a4bc2b48.js.map", size: 8273, mode: os.FileMode(0644), modTime: time.Unix(1603758878, 0)}
|
||||
a := &asset{bytes: bytes, info: info, digest: [32]uint8{0xc4, 0x2c, 0x1c, 0x4e, 0xe5, 0xf2, 0x3e, 0xe3, 0x30, 0xa8, 0xf3, 0xf4, 0x8b, 0x41, 0x1c, 0xe1, 0x86, 0xb1, 0x6d, 0xa4, 0x96, 0xef, 0x83, 0x52, 0x62, 0x6c, 0xde, 0x2b, 0x9b, 0xe, 0x91, 0x63}}
|
||||
return a, nil
|
||||
}
|
||||
|
||||
// Asset loads and returns the asset for the given name.
|
||||
// It returns an error if the asset could not be found or
|
||||
// could not be loaded.
|
||||
func Asset(name string) ([]byte, error) {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
if f, ok := _bindata[canonicalName]; ok {
|
||||
a, err := f()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("Asset %s can't read by error: %v", name, err)
|
||||
}
|
||||
return a.bytes, nil
|
||||
}
|
||||
return nil, fmt.Errorf("Asset %s not found", name)
|
||||
}
|
||||
|
||||
// AssetString returns the asset contents as a string (instead of a []byte).
|
||||
func AssetString(name string) (string, error) {
|
||||
data, err := Asset(name)
|
||||
return string(data), err
|
||||
}
|
||||
|
||||
// MustAsset is like Asset but panics when Asset would return an error.
|
||||
// It simplifies safe initialization of global variables.
|
||||
func MustAsset(name string) []byte {
|
||||
a, err := Asset(name)
|
||||
if err != nil {
|
||||
panic("asset: Asset(" + name + "): " + err.Error())
|
||||
}
|
||||
|
||||
return a
|
||||
}
|
||||
|
||||
// MustAssetString is like AssetString but panics when Asset would return an
|
||||
// error. It simplifies safe initialization of global variables.
|
||||
func MustAssetString(name string) string {
|
||||
return string(MustAsset(name))
|
||||
}
|
||||
|
||||
// AssetInfo loads and returns the asset info for the given name.
|
||||
// It returns an error if the asset could not be found or
|
||||
// could not be loaded.
|
||||
func AssetInfo(name string) (os.FileInfo, error) {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
if f, ok := _bindata[canonicalName]; ok {
|
||||
a, err := f()
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("AssetInfo %s can't read by error: %v", name, err)
|
||||
}
|
||||
return a.info, nil
|
||||
}
|
||||
return nil, fmt.Errorf("AssetInfo %s not found", name)
|
||||
}
|
||||
|
||||
// AssetDigest returns the digest of the file with the given name. It returns an
|
||||
// error if the asset could not be found or the digest could not be loaded.
|
||||
func AssetDigest(name string) ([sha256.Size]byte, error) {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
if f, ok := _bindata[canonicalName]; ok {
|
||||
a, err := f()
|
||||
if err != nil {
|
||||
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s can't read by error: %v", name, err)
|
||||
}
|
||||
return a.digest, nil
|
||||
}
|
||||
return [sha256.Size]byte{}, fmt.Errorf("AssetDigest %s not found", name)
|
||||
}
|
||||
|
||||
// Digests returns a map of all known files and their checksums.
|
||||
func Digests() (map[string][sha256.Size]byte, error) {
|
||||
mp := make(map[string][sha256.Size]byte, len(_bindata))
|
||||
for name := range _bindata {
|
||||
a, err := _bindata[name]()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
mp[name] = a.digest
|
||||
}
|
||||
return mp, nil
|
||||
}
|
||||
|
||||
// AssetNames returns the names of the assets.
|
||||
func AssetNames() []string {
|
||||
names := make([]string, 0, len(_bindata))
|
||||
for name := range _bindata {
|
||||
names = append(names, name)
|
||||
}
|
||||
return names
|
||||
}
|
||||
|
||||
// _bindata is a table, holding each asset generator, mapped to its name.
|
||||
var _bindata = map[string]func() (*asset, error){
|
||||
"public/asset-manifest.json": publicAssetManifestJson,
|
||||
|
||||
"public/favicon.ico": publicFaviconIco,
|
||||
|
||||
"public/index.html": publicIndexHtml,
|
||||
|
||||
"public/manifest.json": publicManifestJson,
|
||||
|
||||
"public/paste.sh": publicPasteSh,
|
||||
|
||||
"public/precache-manifest.e794d1c73b51f3f24235495e349fce44.js": publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js,
|
||||
|
||||
"public/service-worker.js": publicServiceWorkerJs,
|
||||
|
||||
"public/static/css/2.1d5ea050.chunk.css": publicStaticCss21d5ea050ChunkCss,
|
||||
|
||||
"public/static/css/2.1d5ea050.chunk.css.map": publicStaticCss21d5ea050ChunkCssMap,
|
||||
|
||||
"public/static/css/main.bea1604d.chunk.css": publicStaticCssMainBea1604dChunkCss,
|
||||
|
||||
"public/static/css/main.bea1604d.chunk.css.map": publicStaticCssMainBea1604dChunkCssMap,
|
||||
|
||||
"public/static/js/2.d33d7d47.chunk.js": publicStaticJs2D33d7d47ChunkJs,
|
||||
|
||||
"public/static/js/2.d33d7d47.chunk.js.LICENSE.txt": publicStaticJs2D33d7d47ChunkJsLicenseTxt,
|
||||
|
||||
"public/static/js/2.d33d7d47.chunk.js.map": publicStaticJs2D33d7d47ChunkJsMap,
|
||||
|
||||
"public/static/js/main.b55c2acb.chunk.js": publicStaticJsMainB55c2acbChunkJs,
|
||||
|
||||
"public/static/js/main.b55c2acb.chunk.js.map": publicStaticJsMainB55c2acbChunkJsMap,
|
||||
|
||||
"public/static/js/runtime-main.a4bc2b48.js": publicStaticJsRuntimeMainA4bc2b48Js,
|
||||
|
||||
"public/static/js/runtime-main.a4bc2b48.js.map": publicStaticJsRuntimeMainA4bc2b48JsMap,
|
||||
}
|
||||
|
||||
// AssetDir returns the file names below a certain
|
||||
// directory embedded in the file by go-bindata.
|
||||
// For example if you run go-bindata on data/... and data contains the
|
||||
// following hierarchy:
|
||||
// data/
|
||||
// foo.txt
|
||||
// img/
|
||||
// a.png
|
||||
// b.png
|
||||
// then AssetDir("data") would return []string{"foo.txt", "img"},
|
||||
// AssetDir("data/img") would return []string{"a.png", "b.png"},
|
||||
// AssetDir("foo.txt") and AssetDir("notexist") would return an error, and
|
||||
// AssetDir("") will return []string{"data"}.
|
||||
func AssetDir(name string) ([]string, error) {
|
||||
node := _bintree
|
||||
if len(name) != 0 {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
pathList := strings.Split(canonicalName, "/")
|
||||
for _, p := range pathList {
|
||||
node = node.Children[p]
|
||||
if node == nil {
|
||||
return nil, fmt.Errorf("Asset %s not found", name)
|
||||
}
|
||||
}
|
||||
}
|
||||
if node.Func != nil {
|
||||
return nil, fmt.Errorf("Asset %s not found", name)
|
||||
}
|
||||
rv := make([]string, 0, len(node.Children))
|
||||
for childName := range node.Children {
|
||||
rv = append(rv, childName)
|
||||
}
|
||||
return rv, nil
|
||||
}
|
||||
|
||||
type bintree struct {
|
||||
Func func() (*asset, error)
|
||||
Children map[string]*bintree
|
||||
}
|
||||
|
||||
var _bintree = &bintree{nil, map[string]*bintree{
|
||||
"public": &bintree{nil, map[string]*bintree{
|
||||
"asset-manifest.json": &bintree{publicAssetManifestJson, map[string]*bintree{}},
|
||||
"favicon.ico": &bintree{publicFaviconIco, map[string]*bintree{}},
|
||||
"index.html": &bintree{publicIndexHtml, map[string]*bintree{}},
|
||||
"manifest.json": &bintree{publicManifestJson, map[string]*bintree{}},
|
||||
"paste.sh": &bintree{publicPasteSh, map[string]*bintree{}},
|
||||
"precache-manifest.e794d1c73b51f3f24235495e349fce44.js": &bintree{publicPrecacheManifestE794d1c73b51f3f24235495e349fce44Js, map[string]*bintree{}},
|
||||
"service-worker.js": &bintree{publicServiceWorkerJs, map[string]*bintree{}},
|
||||
"static": &bintree{nil, map[string]*bintree{
|
||||
"css": &bintree{nil, map[string]*bintree{
|
||||
"2.1d5ea050.chunk.css": &bintree{publicStaticCss21d5ea050ChunkCss, map[string]*bintree{}},
|
||||
"2.1d5ea050.chunk.css.map": &bintree{publicStaticCss21d5ea050ChunkCssMap, map[string]*bintree{}},
|
||||
"main.bea1604d.chunk.css": &bintree{publicStaticCssMainBea1604dChunkCss, map[string]*bintree{}},
|
||||
"main.bea1604d.chunk.css.map": &bintree{publicStaticCssMainBea1604dChunkCssMap, map[string]*bintree{}},
|
||||
}},
|
||||
"js": &bintree{nil, map[string]*bintree{
|
||||
"2.d33d7d47.chunk.js": &bintree{publicStaticJs2D33d7d47ChunkJs, map[string]*bintree{}},
|
||||
"2.d33d7d47.chunk.js.LICENSE.txt": &bintree{publicStaticJs2D33d7d47ChunkJsLicenseTxt, map[string]*bintree{}},
|
||||
"2.d33d7d47.chunk.js.map": &bintree{publicStaticJs2D33d7d47ChunkJsMap, map[string]*bintree{}},
|
||||
"main.b55c2acb.chunk.js": &bintree{publicStaticJsMainB55c2acbChunkJs, map[string]*bintree{}},
|
||||
"main.b55c2acb.chunk.js.map": &bintree{publicStaticJsMainB55c2acbChunkJsMap, map[string]*bintree{}},
|
||||
"runtime-main.a4bc2b48.js": &bintree{publicStaticJsRuntimeMainA4bc2b48Js, map[string]*bintree{}},
|
||||
"runtime-main.a4bc2b48.js.map": &bintree{publicStaticJsRuntimeMainA4bc2b48JsMap, map[string]*bintree{}},
|
||||
}},
|
||||
}},
|
||||
}},
|
||||
}}
|
||||
|
||||
// RestoreAsset restores an asset under the given directory.
|
||||
func RestoreAsset(dir, name string) error {
|
||||
data, err := Asset(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
info, err := AssetInfo(name)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = os.MkdirAll(_filePath(dir, filepath.Dir(name)), os.FileMode(0755))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
err = ioutil.WriteFile(_filePath(dir, name), data, info.Mode())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
return os.Chtimes(_filePath(dir, name), info.ModTime(), info.ModTime())
|
||||
}
|
||||
|
||||
// RestoreAssets restores an asset under the given directory recursively.
|
||||
func RestoreAssets(dir, name string) error {
|
||||
children, err := AssetDir(name)
|
||||
// File
|
||||
if err != nil {
|
||||
return RestoreAsset(dir, name)
|
||||
}
|
||||
// Dir
|
||||
for _, child := range children {
|
||||
err = RestoreAssets(dir, filepath.Join(name, child))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func _filePath(dir, name string) string {
|
||||
canonicalName := strings.Replace(name, "\\", "/", -1)
|
||||
return filepath.Join(append([]string{dir}, strings.Split(canonicalName, "/")...)...)
|
||||
}
|
||||
|
||||
func assetFS() *assetfs.AssetFS {
|
||||
assetInfo := func(path string) (os.FileInfo, error) {
|
||||
return os.Stat(path)
|
||||
}
|
||||
for k := range _bintree.Children {
|
||||
return &assetfs.AssetFS{Asset: Asset, AssetDir: AssetDir, AssetInfo: assetInfo, Prefix: k}
|
||||
}
|
||||
panic("unreachable")
|
||||
}
|
||||
@@ -1,698 +0,0 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"context"
|
||||
"crypto/md5"
|
||||
"crypto/sha1"
|
||||
"fmt"
|
||||
"io"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/mail"
|
||||
"net/url"
|
||||
"strings"
|
||||
"text/template"
|
||||
"time"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/lucasb-eyer/go-colorful"
|
||||
"github.com/sour-is/crypto/openpgp"
|
||||
"github.com/tv42/zbase32"
|
||||
"golang.org/x/crypto/openpgp/armor"
|
||||
|
||||
"go.sour.is/paste/src/pkg/cache"
|
||||
"go.sour.is/paste/src/pkg/promise"
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
"sour.is/x/toolbox/log"
|
||||
)
|
||||
|
||||
var expireAfter = 20 * time.Minute
|
||||
|
||||
func init() {
|
||||
cache, err := cache.NewARC(2048)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
tasker := promise.NewRunner(context.TODO(), promise.Timeout(30*time.Second), promise.WithCache(cache, expireAfter))
|
||||
|
||||
s := &identity{
|
||||
cache: cache,
|
||||
tasker: tasker,
|
||||
}
|
||||
|
||||
httpsrv.RegisterModule("identity", s.config)
|
||||
|
||||
httpsrv.HttpRegister("identity", httpsrv.HttpRoutes{
|
||||
{Name: "get", Method: "GET", Pattern: "/id/{id}", HandlerFunc: s.get},
|
||||
})
|
||||
}
|
||||
|
||||
var pixl = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII="
|
||||
|
||||
var defaultStyle = &Style{
|
||||
Avatar: pixl,
|
||||
Cover: pixl,
|
||||
Background: pixl,
|
||||
Palette: getPalette("#93CCEA"),
|
||||
}
|
||||
|
||||
type identity struct {
|
||||
cache cache.Cacher
|
||||
tasker promise.Tasker
|
||||
}
|
||||
|
||||
type page struct {
|
||||
Entity *Entity
|
||||
Style *Style
|
||||
Proofs *Proofs
|
||||
|
||||
IsComplete bool
|
||||
Err error
|
||||
}
|
||||
type Proofs map[string]*Proof
|
||||
|
||||
func (s *identity) config(config map[string]string) {}
|
||||
|
||||
// func (s *identity) runtoCache()
|
||||
|
||||
func (s *identity) get(w http.ResponseWriter, r *http.Request) {
|
||||
secHeaders(w)
|
||||
|
||||
vars := mux.Vars(r)
|
||||
id := vars["id"]
|
||||
|
||||
ctx, cancel := context.WithTimeout(r.Context(), 2*time.Second)
|
||||
defer cancel()
|
||||
|
||||
task := s.tasker.Run(EntityKey(id), func(q promise.Q) {
|
||||
ctx := q.Context()
|
||||
key := q.Key().(EntityKey)
|
||||
|
||||
log.Infos("start task", fmt.Sprintf("%T", key), key)
|
||||
|
||||
entity, err := s.getOpenPGPkey(ctx, string(key))
|
||||
if err != nil {
|
||||
q.Reject(err)
|
||||
return
|
||||
}
|
||||
|
||||
log.Infos("Scheduling Style", "email", entity.Primary.Address)
|
||||
q.Run(StyleKey(entity.Primary.Address), func(q promise.Q) {
|
||||
ctx := q.Context()
|
||||
key := q.Key().(StyleKey)
|
||||
|
||||
log.Infos("start task", fmt.Sprintf("%T", key), key)
|
||||
style, err := s.getStyle(ctx, string(key))
|
||||
if err != nil {
|
||||
q.Reject(err)
|
||||
return
|
||||
}
|
||||
|
||||
log.Notice("Resolving Style")
|
||||
q.Resolve(style)
|
||||
})
|
||||
|
||||
go func() {
|
||||
|
||||
log.Infos("Scheduling Proofs", "num", len(entity.Proofs))
|
||||
for i := range entity.Proofs {
|
||||
q.Run(ProofKey(entity.Proofs[i]), func(q promise.Q) {
|
||||
key := q.Key().(ProofKey)
|
||||
proof := NewProof(string(key))
|
||||
proof.Checked = true
|
||||
proof.Verified = true
|
||||
log.Notice("Resolving Proof")
|
||||
q.Resolve(proof)
|
||||
})
|
||||
}
|
||||
}()
|
||||
|
||||
log.Notice("Resolving Entity")
|
||||
q.Resolve(entity)
|
||||
})
|
||||
|
||||
page := page{Style: defaultStyle}
|
||||
|
||||
select {
|
||||
case <-task.Await():
|
||||
log.Info("Tasks Competed")
|
||||
if err := task.Err(); err != nil {
|
||||
page.Err = err
|
||||
page.IsComplete = true
|
||||
break
|
||||
}
|
||||
page.Entity = task.Result().(*Entity)
|
||||
|
||||
case <-ctx.Done():
|
||||
log.Info("Deadline Timeout")
|
||||
if e, ok := s.cache.Get(EntityKey(id)); ok {
|
||||
page.Entity = e.Value().(*Entity)
|
||||
}
|
||||
}
|
||||
|
||||
if page.Entity != nil {
|
||||
var gotStyle, gotProofs bool
|
||||
|
||||
if s, ok := s.cache.Get(StyleKey(page.Entity.Primary.Address)); ok {
|
||||
page.Style = s.Value().(*Style)
|
||||
gotStyle = true
|
||||
}
|
||||
|
||||
// TODO: Proofs
|
||||
gotProofs = true
|
||||
if len(page.Entity.Proofs) > 0 {
|
||||
proofs := make(Proofs, len(page.Entity.Proofs))
|
||||
for i := range page.Entity.Proofs {
|
||||
p := page.Entity.Proofs[i]
|
||||
|
||||
proofs[p] = NewProof(p)
|
||||
if s, ok := s.cache.Get(ProofKey(p)); ok {
|
||||
proofs[p] = s.Value().(*Proof)
|
||||
} else {
|
||||
log.Info("Missing proof", p)
|
||||
gotProofs = false
|
||||
}
|
||||
}
|
||||
page.Proofs = &proofs
|
||||
}
|
||||
|
||||
page.IsComplete = gotStyle && gotProofs
|
||||
}
|
||||
|
||||
// e := json.NewEncoder(w)
|
||||
// e.SetIndent("", " ")
|
||||
// e.Encode(entity)
|
||||
|
||||
t, err := template.New("identity").Parse(identityTPL)
|
||||
if err != nil {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
err = t.Execute(w, page)
|
||||
if err != nil {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
func (s *identity) getOpenPGPkey(ctx context.Context, id string) (entity *Entity, err error) {
|
||||
useArmored := false
|
||||
addr := ""
|
||||
|
||||
if isFingerprint(id) {
|
||||
addr = "https://keys.openpgp.org/vks/v1/by-fingerprint/" + strings.ToUpper(id)
|
||||
useArmored = true
|
||||
} else if email, err := mail.ParseAddress(id); err == nil {
|
||||
addr = getWKDPubKeyAddr(email)
|
||||
useArmored = false
|
||||
} else {
|
||||
return entity, fmt.Errorf("Parse address: %w", err)
|
||||
}
|
||||
|
||||
req, err := http.NewRequestWithContext(ctx, http.MethodGet, addr, nil)
|
||||
if err != nil {
|
||||
return entity, err
|
||||
}
|
||||
cl := http.Client{}
|
||||
resp, err := cl.Do(req)
|
||||
if err != nil {
|
||||
return entity, fmt.Errorf("Requesting key: %w\nRemote URL: %v", err, addr)
|
||||
}
|
||||
|
||||
if resp.StatusCode != 200 {
|
||||
return entity, fmt.Errorf("bad response from remote: %s\nRemote URL: %v", resp.Status, addr)
|
||||
}
|
||||
|
||||
defer resp.Body.Close()
|
||||
|
||||
if resp.Header.Get("Content-Type") == "application/pgp-keys" {
|
||||
useArmored = true
|
||||
}
|
||||
log.Infos("getIdentity", "id", id, "useArmored", useArmored, "status", resp.Status, "addr", addr)
|
||||
|
||||
entity, err = ReadKey(resp.Body, useArmored)
|
||||
|
||||
return entity, err
|
||||
}
|
||||
|
||||
type EntityKey string
|
||||
|
||||
func (k EntityKey) Key() interface{} {
|
||||
return k
|
||||
}
|
||||
|
||||
type Entity struct {
|
||||
Primary *mail.Address
|
||||
Emails []*mail.Address
|
||||
Fingerprint string
|
||||
Proofs []string
|
||||
ArmorText string
|
||||
}
|
||||
|
||||
func getEntity(lis openpgp.EntityList) (*Entity, error) {
|
||||
entity := &Entity{}
|
||||
var err error
|
||||
|
||||
for _, e := range lis {
|
||||
if e == nil {
|
||||
continue
|
||||
}
|
||||
if e.PrimaryKey == nil {
|
||||
continue
|
||||
}
|
||||
|
||||
entity.Fingerprint = fmt.Sprintf("%X", e.PrimaryKey.Fingerprint)
|
||||
|
||||
for name, ident := range e.Identities {
|
||||
// Pick first identity
|
||||
if entity.Primary == nil {
|
||||
entity.Primary, err = mail.ParseAddress(name)
|
||||
if err != nil {
|
||||
return entity, err
|
||||
}
|
||||
}
|
||||
// If one is marked primary use that
|
||||
if ident.SelfSignature != nil && ident.SelfSignature.IsPrimaryId != nil && *ident.SelfSignature.IsPrimaryId {
|
||||
entity.Primary, err = mail.ParseAddress(name)
|
||||
if err != nil {
|
||||
return entity, err
|
||||
}
|
||||
|
||||
} else {
|
||||
var email *mail.Address
|
||||
if email, err = mail.ParseAddress(name); err != nil {
|
||||
return entity, err
|
||||
}
|
||||
|
||||
entity.Emails = append(entity.Emails, email)
|
||||
}
|
||||
|
||||
// If identity is self signed read notation data.
|
||||
if ident.SelfSignature != nil && ident.SelfSignature.NotationData != nil {
|
||||
// Get proofs and append to list.
|
||||
if proofs, ok := ident.SelfSignature.NotationData["proof@metacode.biz"]; ok {
|
||||
entity.Proofs = append(entity.Proofs, proofs...)
|
||||
}
|
||||
}
|
||||
}
|
||||
break
|
||||
}
|
||||
|
||||
if entity.Primary == nil {
|
||||
entity.Primary, _ = mail.ParseAddress("nobody@nodomain.xyz")
|
||||
}
|
||||
|
||||
return entity, err
|
||||
}
|
||||
|
||||
func ReadKey(r io.Reader, useArmored bool) (e *Entity, err error) {
|
||||
var buf bytes.Buffer
|
||||
|
||||
var w io.Writer = &buf
|
||||
|
||||
if !useArmored {
|
||||
var aw io.WriteCloser
|
||||
aw, err = armor.Encode(&buf, "PGP PUBLIC KEY BLOCK", nil)
|
||||
if err != nil {
|
||||
return e, fmt.Errorf("Read key: %w", err)
|
||||
}
|
||||
defer func() { aw.Close(); e.ArmorText = buf.String() }()
|
||||
w = aw
|
||||
} else {
|
||||
defer func() { e.ArmorText = buf.String() }()
|
||||
}
|
||||
|
||||
r = io.TeeReader(r, w)
|
||||
|
||||
var lis openpgp.EntityList
|
||||
|
||||
if useArmored {
|
||||
lis, err = openpgp.ReadArmoredKeyRing(r)
|
||||
} else {
|
||||
lis, err = openpgp.ReadKeyRing(r)
|
||||
}
|
||||
if err != nil {
|
||||
return e, fmt.Errorf("Read key: %w", err)
|
||||
}
|
||||
|
||||
e, err = getEntity(lis)
|
||||
if err != nil {
|
||||
return e, fmt.Errorf("Parse key: %w", err)
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
func isFingerprint(s string) bool {
|
||||
for _, r := range s {
|
||||
switch r {
|
||||
case '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'A', 'B', 'C', 'D', 'E', 'F':
|
||||
default:
|
||||
return false
|
||||
}
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func getWKDPubKeyAddr(email *mail.Address) string {
|
||||
parts := strings.SplitN(email.Address, "@", 2)
|
||||
|
||||
hash := sha1.Sum([]byte(parts[0]))
|
||||
lp := zbase32.EncodeToString(hash[:])
|
||||
|
||||
return fmt.Sprintf("https://%s/.well-known/openpgpkey/hu/%s", parts[1], lp)
|
||||
}
|
||||
|
||||
type StyleKey string
|
||||
|
||||
func (s StyleKey) Key() interface{} {
|
||||
return s
|
||||
}
|
||||
|
||||
type Style struct {
|
||||
Avatar,
|
||||
Cover,
|
||||
Background string
|
||||
|
||||
Palette []string
|
||||
}
|
||||
|
||||
func (s *identity) getStyle(ctx context.Context, email string) (*Style, error) {
|
||||
avatarHost, styleHost, err := styleSRV(ctx, email)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
log.Infos("getStyle", "avatar", avatarHost, "style", styleHost)
|
||||
|
||||
hash := md5.New()
|
||||
email = strings.TrimSpace(strings.ToLower(email))
|
||||
_, _ = hash.Write([]byte(email))
|
||||
|
||||
id := hash.Sum(nil)
|
||||
|
||||
style := &Style{}
|
||||
|
||||
style.Palette = getPalette(fmt.Sprintf("#%x", id[:3]))
|
||||
style.Avatar = fmt.Sprintf("https://%s/avatar/%x", avatarHost, id)
|
||||
style.Cover = pixl
|
||||
style.Background = "https://lavana.sour.is/bg/52548b3dcb032882675afe1e4bcba0e9"
|
||||
|
||||
if styleHost != "" {
|
||||
style.Cover = fmt.Sprintf("https://%s/cover/%x", styleHost, id)
|
||||
style.Background = fmt.Sprintf("https://%s/bg/%x", styleHost, id)
|
||||
}
|
||||
|
||||
return style, err
|
||||
}
|
||||
|
||||
func styleSRV(ctx context.Context, email string) (avatar string, style string, err error) {
|
||||
|
||||
// Defaults
|
||||
style = ""
|
||||
avatar = "www.gravatar.com"
|
||||
|
||||
parts := strings.SplitN(email, "@", 2)
|
||||
if _, srv, err := net.DefaultResolver.LookupSRV(ctx, "style-sec", "tcp", parts[1]); err == nil {
|
||||
if len(srv) > 0 {
|
||||
style = strings.TrimSuffix(srv[0].Target, ".")
|
||||
avatar = strings.TrimSuffix(srv[0].Target, ".")
|
||||
|
||||
return avatar, style, err
|
||||
}
|
||||
}
|
||||
|
||||
if _, srv, err := net.DefaultResolver.LookupSRV(ctx, "avatars-sec", "tcp", parts[1]); err == nil {
|
||||
if len(srv) > 0 {
|
||||
avatar = strings.TrimSuffix(srv[0].Target, ".")
|
||||
|
||||
return avatar, style, err
|
||||
}
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// getPalette maes a complementary color palette. https://play.golang.org/p/nBXLUocGsU5
|
||||
func getPalette(hex string) []string {
|
||||
reference, _ := colorful.Hex(hex)
|
||||
reference = sat(lum(reference, 0, .5), 0, .5)
|
||||
|
||||
white := colorful.Color{R: 1, G: 1, B: 1}
|
||||
black := colorful.Color{R: 0, G: 0, B: 0}
|
||||
accentA := hue(reference, 60)
|
||||
accentB := hue(reference, -60)
|
||||
accentC := hue(reference, -180)
|
||||
|
||||
return append(
|
||||
[]string{},
|
||||
|
||||
white.Hex(),
|
||||
lum(reference, .4, .6).Hex(),
|
||||
reference.Hex(),
|
||||
lum(reference, .4, 0).Hex(),
|
||||
black.Hex(),
|
||||
|
||||
lum(accentA, .4, .6).Hex(),
|
||||
accentA.Hex(),
|
||||
lum(accentA, .4, 0).Hex(),
|
||||
|
||||
lum(accentB, .4, .6).Hex(),
|
||||
accentB.Hex(),
|
||||
lum(accentB, .4, 0).Hex(),
|
||||
|
||||
lum(accentC, .4, .6).Hex(),
|
||||
accentC.Hex(),
|
||||
lum(accentC, .4, 0).Hex(),
|
||||
)
|
||||
}
|
||||
func hue(in colorful.Color, H float64) colorful.Color {
|
||||
h, s, l := in.Hsl()
|
||||
return colorful.Hsl(h+H, s, l)
|
||||
}
|
||||
func sat(in colorful.Color, S, V float64) colorful.Color {
|
||||
h, s, l := in.Hsl()
|
||||
return colorful.Hsl(h, V+s*S, l)
|
||||
}
|
||||
func lum(in colorful.Color, L, V float64) colorful.Color {
|
||||
h, s, l := in.Hsl()
|
||||
return colorful.Hsl(h, s, V+l*L)
|
||||
}
|
||||
|
||||
type ProofKey string
|
||||
|
||||
func (k ProofKey) Key() interface{} {
|
||||
return k
|
||||
}
|
||||
|
||||
type Proof struct {
|
||||
Icon string
|
||||
Service string
|
||||
Name string
|
||||
URI string
|
||||
Link string
|
||||
Checked bool
|
||||
Verified bool
|
||||
}
|
||||
|
||||
func NewProof(uri string) *Proof {
|
||||
p := &Proof{URI: uri}
|
||||
|
||||
u, err := url.Parse(uri)
|
||||
if err != nil {
|
||||
p.Icon = "exclamation-triangle"
|
||||
p.Service = "error"
|
||||
p.Name = err.Error()
|
||||
|
||||
return p
|
||||
}
|
||||
|
||||
p.Service = u.Scheme
|
||||
|
||||
switch u.Scheme {
|
||||
case "dns":
|
||||
p.Icon = "fas fa-globe"
|
||||
p.Name = u.Opaque
|
||||
p.Link = fmt.Sprintf("https://%s", u.Hostname())
|
||||
|
||||
case "xmpp":
|
||||
p.Icon = "fas fa-comments"
|
||||
p.Name = u.Opaque
|
||||
|
||||
case "https":
|
||||
p.Icon = "fas fa-atlas"
|
||||
p.Name = u.Hostname()
|
||||
p.Link = fmt.Sprintf("https://%s", u.Hostname())
|
||||
|
||||
switch {
|
||||
case strings.HasPrefix(u.Host, "twitter.com"):
|
||||
p.Icon = "fab fa-twitter"
|
||||
p.Service = "Twitter"
|
||||
case strings.HasPrefix(u.Host, "news.ycombinator.com"):
|
||||
p.Icon = "fab fa-hacker-news"
|
||||
p.Service = "HackerNews"
|
||||
case strings.HasPrefix(u.Host, "dev.to"):
|
||||
p.Icon = "fab fa-dev"
|
||||
p.Service = "dev.to"
|
||||
case strings.HasPrefix(u.Host, "reddit.com"), strings.HasPrefix(u.Host, "www.reddit.com"):
|
||||
p.Icon = "fab fa-reddit"
|
||||
p.Service = "Reddit"
|
||||
case strings.HasPrefix(u.Host, "gist.github.com"):
|
||||
p.Icon = "fab fa-github"
|
||||
p.Service = "GitHub"
|
||||
case strings.HasPrefix(u.Host, "lobste.rs"):
|
||||
p.Icon = "fas fa-list-ul"
|
||||
p.Service = "Lobsters"
|
||||
case strings.HasSuffix(u.Host, "/gitlab_proof/"):
|
||||
p.Icon = "fab fa-gitlab"
|
||||
p.Service = "GetLab"
|
||||
case strings.HasSuffix(u.Host, "/gitea_proof/"):
|
||||
p.Icon = "fas fa-mug-hot"
|
||||
p.Service = "Gitea"
|
||||
default:
|
||||
p.Icon = "fas fa-project-diagram"
|
||||
p.Service = "fediverse"
|
||||
}
|
||||
}
|
||||
|
||||
return p
|
||||
}
|
||||
|
||||
func secHeaders(w http.ResponseWriter) {
|
||||
w.Header().Set("X-XSS-Protection", "1; mode=block")
|
||||
w.Header().Set("X-Frame-Options", "DENY")
|
||||
w.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
// w.Header().Set("Content-Security-Policy", "default-src 'self';")
|
||||
w.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
}
|
||||
|
||||
var identityTPL = `
|
||||
<html>
|
||||
<head>
|
||||
{{if not .IsComplete}}<meta http-equiv="refresh" content="1">{{end}}
|
||||
<script src="https://pagecdn.io/lib/font-awesome/5.14.0/js/fontawesome.min.js" crossorigin="anonymous" integrity="sha256-dNZKI9qQEpJG03MLdR2Rg9Dva1o+50fN3zmlDP+3I+Y="></script>
|
||||
|
||||
<link href="https://pagecdn.io/lib/bootstrap/4.5.1/css/bootstrap.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-VoFZSlmyTXsegReQCNmbXrS4hBBUl/cexZvPmPWoJsY=" >
|
||||
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/fontawesome.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-7YMlwkILTJEm0TSengNDszUuNSeZu4KTN3z7XrhUQvc=" >
|
||||
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/solid.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-s0DhrAmIsT5gZ3X4f+9wIXUbH52CMiqFAwgqCmdPoec=" >
|
||||
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/regular.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-FAKIbnpfWhK6v5Re+NAi9n+5+dXanJvXVFohtH6WAuw=" >
|
||||
<link href="https://pagecdn.io/lib/font-awesome/5.14.0/css/brands.min.css" rel="stylesheet" crossorigin="anonymous" integrity="sha256-xN44ju35FR+kTO/TP/UkqrVbM3LpqUI1VJCWDGbG1ew=" >
|
||||
|
||||
{{ with .Style }}
|
||||
<style>
|
||||
{{range $i, $val := .Palette}}.fg-color-{{$i}} { color: {{$val}}; }
|
||||
{{end}}
|
||||
|
||||
{{range $i, $val := .Palette}}.bg-color-{{$i}} { background-color: {{$val}}; }
|
||||
{{end}}
|
||||
|
||||
body {
|
||||
background-image: url('{{.Background}}');
|
||||
background-repeat: repeat;
|
||||
background-color: {{index .Palette 7}};
|
||||
padding-top: 1em;
|
||||
}
|
||||
.heading {
|
||||
background-image: url('{{.Cover}}');
|
||||
background-size: cover;
|
||||
background-repeat: no-repeat;
|
||||
background-color: {{index .Palette 3}};
|
||||
}
|
||||
.shade { background-color: {{index .Palette 3}}80; border-radius: .25rem;}
|
||||
.lead { padding:0; margin:0; }
|
||||
|
||||
// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
|
||||
@media only screen and (max-width: 576px) {
|
||||
.h1, .h2, .h3, .h4, .h5, h6 { font-size: 50% }
|
||||
}
|
||||
</style>
|
||||
{{end}}
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="container">
|
||||
<div class="card">
|
||||
<div class="jumbotron heading">
|
||||
<div class="container">
|
||||
<div class="row shade">
|
||||
|
||||
{{ with .Err }}
|
||||
<div class="col-xs">
|
||||
<i class="fas fa-exclamation-triangle fa-4x fg-color-11"></i>
|
||||
</div>
|
||||
|
||||
<div class="col-lg">
|
||||
<h1 class="display-8 fg-color-8">Something went wrong...</h1>
|
||||
<pre class="fg-color-11">{{.}}</pre>
|
||||
</div>
|
||||
{{else}}
|
||||
{{ with .Style }}
|
||||
<div class="col-xs">
|
||||
<img src="{{.Avatar}}" class="img-thumbnail" alt="avatar" style="width:88px; height:88px">
|
||||
</div>
|
||||
{{end}}
|
||||
|
||||
|
||||
{{with .Entity}}
|
||||
<div class="col-lg">
|
||||
<h1 class="display-8 fg-color-8">{{.Primary.Name}}</h1>
|
||||
<p class="lead fg-color-11"><i class="fas fa-fingerprint"></i> {{.Fingerprint}}</p>
|
||||
</div>
|
||||
{{else}}
|
||||
<div class="col-lg">
|
||||
<h1 class="display-8 fg-color-8">Loading...</h1>
|
||||
<p class="lead fg-color-11">Reading key from remote service.</p>
|
||||
</div>
|
||||
{{end}}
|
||||
{{end}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="container">
|
||||
{{ with .Entity }}
|
||||
<div class="card">
|
||||
<div class="card-header">Contact</div>
|
||||
<div class="list-group list-group-flush">
|
||||
{{with .Primary}}<a href="mailto:{{.Address}}" class="list-group-item list-group-item-action"><i class="fas fa-envelope"></i> <b>{{.Name}} <{{.Address}}></b> <span class="badge badge-secondary">Primary</span></a>{{end}}
|
||||
{{range .Emails}}<a href="mailto:{{.Address}}" class="list-group-item list-group-item-action"><i class="far fa-envelope"></i> {{.Name}} <{{.Address}}></a>{{end}}
|
||||
</div>
|
||||
</div>
|
||||
<br />
|
||||
{{end}}
|
||||
|
||||
{{with .Proofs}}
|
||||
<div class="card">
|
||||
<div class="card-header">Proofs</div>
|
||||
<ul class="list-group list-group-flush">
|
||||
{{range .}}
|
||||
<li class="list-group-item">
|
||||
<i class="{{.Icon}}"></i>
|
||||
<span class="badge badge-secondary">{{.Service}}</span>
|
||||
{{.Name}}
|
||||
{{if .Checked}}
|
||||
{{if .Verified}}Verified{{else}}Invalid{{end}}
|
||||
{{else}}Checking...{{end}}
|
||||
</li>
|
||||
{{end}}
|
||||
</ul>
|
||||
</div>
|
||||
<br/>
|
||||
{{else}}
|
||||
<div class="card">
|
||||
<div class="card-header">Proofs</div>
|
||||
<div class="card-body">Loading...</div>
|
||||
</div>
|
||||
<br/>
|
||||
{{end}}
|
||||
</div>
|
||||
|
||||
<div class="card-footer text-muted text-center">
|
||||
© 2020 Sour.is
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
`
|
||||
@@ -1,156 +0,0 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/h2non/filetype"
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
"sour.is/x/toolbox/log"
|
||||
|
||||
"go.sour.is/paste/src/pkg/readutil"
|
||||
)
|
||||
|
||||
func init() {
|
||||
a := &image{}
|
||||
httpsrv.RegisterModule("image", a.config)
|
||||
|
||||
httpsrv.HttpRegister("image", httpsrv.HttpRoutes{
|
||||
{Name: "getImage", Method: "GET", Pattern: "/i/{name}", HandlerFunc: a.get},
|
||||
{Name: "putImage", Method: "PUT", Pattern: "/i", HandlerFunc: a.put},
|
||||
{Name: "getStyle", Method: "GET", Pattern: "/{style:avatar|bg|cover}/", HandlerFunc: a.getStyle},
|
||||
})
|
||||
}
|
||||
|
||||
type image struct {
|
||||
store string
|
||||
maxSize int64
|
||||
}
|
||||
|
||||
func (a *image) config(config map[string]string) {
|
||||
a.store = "data/"
|
||||
if config["store"] != "" {
|
||||
a.store = config["store"]
|
||||
}
|
||||
|
||||
if !chkStore(a.store) {
|
||||
log.Criticalf("Image: store location [%s] does not exist or is not writable.", a.store)
|
||||
}
|
||||
log.Noticef("Image: store location set to [%s]", a.store)
|
||||
|
||||
a.maxSize = 10 * 1024 * 1024
|
||||
if s, ok := config["max-size"]; ok {
|
||||
if i, err := strconv.Atoi(s); err == nil {
|
||||
a.maxSize = int64(i)
|
||||
}
|
||||
}
|
||||
log.Noticef("Image: store max-size set to [%d]", a.maxSize)
|
||||
}
|
||||
|
||||
func (a *image) get(w http.ResponseWriter, r *http.Request) {
|
||||
vars := mux.Vars(r)
|
||||
|
||||
name := vars["name"]
|
||||
|
||||
ext := filepath.Ext(name)
|
||||
id := strings.TrimSuffix(name, ext)
|
||||
|
||||
fname := filepath.Join(a.store, id)
|
||||
|
||||
if !chkFile(fname) {
|
||||
httpsrv.WriteError(w, http.StatusNotFound, "Not Found")
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
if chkGone(fname) {
|
||||
httpsrv.WriteError(w, http.StatusGone, "Gone")
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
f, err := os.Open(fname)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
pr := readutil.NewPreviewReader(f)
|
||||
|
||||
mime, _ := readutil.ReadMIME(pr, name)
|
||||
w.Header().Set("Content-Type", mime)
|
||||
w.Header().Set("X-Content-Type-Options", "nosniff")
|
||||
|
||||
_, _ = io.Copy(w, pr.Drain())
|
||||
}
|
||||
|
||||
func (a *image) put(w http.ResponseWriter, r *http.Request) {
|
||||
defer r.Body.Close()
|
||||
|
||||
if h := r.Header.Get("Content-Length"); h != "" {
|
||||
log.Debugs("Artifact:", "content-length", h, "max-length", a.maxSize)
|
||||
if i, err := strconv.Atoi(h); err == nil {
|
||||
if int64(i) > a.maxSize {
|
||||
log.Error("ERR Size Too Large")
|
||||
http.Error(w, "ERR Size Too Large", http.StatusRequestEntityTooLarge)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
rdr := io.LimitReader(r.Body, a.maxSize)
|
||||
pr := readutil.NewPreviewReader(rdr)
|
||||
if !isImageOrVideo(pr) {
|
||||
httpsrv.WriteError(w, http.StatusUnsupportedMediaType, "ERR Not Image")
|
||||
return
|
||||
}
|
||||
rdr = pr.Drain()
|
||||
|
||||
s256 := sha256.New()
|
||||
tmp, err := ioutil.TempFile(a.store, "image-")
|
||||
if err != nil {
|
||||
httpsrv.WriteError(w, 400, err.Error())
|
||||
return
|
||||
}
|
||||
defer os.Remove(tmp.Name())
|
||||
|
||||
m := io.MultiWriter(s256, tmp)
|
||||
if _, err = io.Copy(m, rdr); err != nil {
|
||||
httpsrv.WriteError(w, 400, err.Error())
|
||||
return
|
||||
}
|
||||
tmp.Close()
|
||||
|
||||
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
|
||||
fname := filepath.Join(a.store, id)
|
||||
|
||||
log.Debugs("Image: moving file", "src", tmp.Name(), "dst", fname)
|
||||
err = os.Rename(tmp.Name(), fname)
|
||||
if err != nil {
|
||||
httpsrv.WriteError(w, 400, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
httpsrv.WriteText(w, http.StatusCreated, id)
|
||||
}
|
||||
|
||||
func isImageOrVideo(in io.Reader) bool {
|
||||
buf := make([]byte, 320)
|
||||
_, err := in.Read(buf)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return filetype.IsImage(buf) || filetype.IsVideo(buf)
|
||||
}
|
||||
|
||||
func (a *image) getStyle(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
}
|
||||
@@ -1,259 +0,0 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"bufio"
|
||||
"crypto/rand"
|
||||
"crypto/sha256"
|
||||
"encoding/base64"
|
||||
"fmt"
|
||||
"io"
|
||||
"io/ioutil"
|
||||
"net/http"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"golang.org/x/sys/unix"
|
||||
"go.sour.is/paste/src/pkg/readutil"
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
"sour.is/x/toolbox/log"
|
||||
|
||||
"github.com/yeqown/go-qrcode/v2"
|
||||
"github.com/yeqown/go-qrcode/writer/standard"
|
||||
)
|
||||
|
||||
func init() {
|
||||
p := &Paste{}
|
||||
|
||||
httpsrv.RegisterModule("paste", p.setConfig)
|
||||
|
||||
httpsrv.HttpRegister("paste", httpsrv.HttpRoutes{
|
||||
{Name: "getRandom", Method: "GET", Pattern: "/paste/rng", HandlerFunc: p.getRandom},
|
||||
{Name: "getPaste", Method: "GET", Pattern: "/paste/{id}", HandlerFunc: p.getPaste},
|
||||
{Name: "getPaste", Method: "GET", Pattern: "/paste/get/{id}", HandlerFunc: p.getPaste},
|
||||
{Name: "postPaste", Method: "POST", Pattern: "/paste", HandlerFunc: p.postPaste},
|
||||
|
||||
{Name: "getRandom", Method: "GET", Pattern: "/api/rng", HandlerFunc: p.getRandom},
|
||||
{Name: "getPaste", Method: "GET", Pattern: "/api/{id}", HandlerFunc: p.getPaste},
|
||||
{Name: "getPaste", Method: "GET", Pattern: "/api/get/{id}", HandlerFunc: p.getPaste},
|
||||
{Name: "postPaste", Method: "POST", Pattern: "/api", HandlerFunc: p.postPaste},
|
||||
})
|
||||
}
|
||||
|
||||
type Paste struct {
|
||||
store string
|
||||
randBytes int
|
||||
}
|
||||
|
||||
func (p *Paste) setConfig(config map[string]string) {
|
||||
p.store = "data/"
|
||||
if config["store"] != "" {
|
||||
p.store = config["store"]
|
||||
}
|
||||
|
||||
if !chkStore(p.store) {
|
||||
log.Criticalf("Paste: store location [%s] does not exist or is not writable.", p.store)
|
||||
}
|
||||
log.Noticef("Paste: store location set to [%s]", p.store)
|
||||
|
||||
p.randBytes = 1024
|
||||
if config["random"] != "" {
|
||||
p.randBytes, _ = strconv.Atoi(config["random"])
|
||||
log.Noticef("Paste: set random size to %d bytes", p.randBytes)
|
||||
}
|
||||
}
|
||||
|
||||
func chkStore(path string) bool {
|
||||
file, err := os.Stat(path)
|
||||
|
||||
if err != nil && os.IsNotExist(err) {
|
||||
err = os.MkdirAll(path, 0744)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
file, err = os.Stat(path)
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
if !file.IsDir() {
|
||||
return false
|
||||
}
|
||||
|
||||
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func chkFile(path string) bool {
|
||||
file, err := os.Stat(path)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
if file.IsDir() {
|
||||
return false
|
||||
}
|
||||
|
||||
if unix.Access(path, unix.W_OK&unix.R_OK) != nil {
|
||||
return false
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
func chkGone(path string) bool {
|
||||
file, err := os.Stat(path)
|
||||
if err != nil {
|
||||
return true
|
||||
}
|
||||
|
||||
if file.Size() == 0 {
|
||||
return true
|
||||
}
|
||||
|
||||
return false
|
||||
}
|
||||
|
||||
type noop struct {
|
||||
io.Writer
|
||||
}
|
||||
|
||||
func (noop) Close() error { return nil }
|
||||
|
||||
func (p *Paste) qrcode(w http.ResponseWriter, r *http.Request) {
|
||||
qrc, err := qrcode.New(r.URL.Query().Get("u"))
|
||||
if err != nil {
|
||||
w.WriteHeader(http.StatusUnprocessableEntity)
|
||||
fmt.Fprintf(w, "could not generate QRCode: %v", err)
|
||||
return
|
||||
}
|
||||
|
||||
wr := standard.NewWithWriter(noop{w}, standard.WithCircleShape())
|
||||
w.WriteHeader(http.StatusOK)
|
||||
_ = qrc.Save(wr)
|
||||
}
|
||||
|
||||
func (p *Paste) getRandom(w http.ResponseWriter, _ *http.Request) {
|
||||
s := make([]byte, p.randBytes)
|
||||
_, _ = rand.Read(s)
|
||||
|
||||
w.Header().Set("content-type", "application/octet-stream")
|
||||
w.WriteHeader(http.StatusOK)
|
||||
_, _ = w.Write(s)
|
||||
}
|
||||
|
||||
func (p *Paste) getPaste(w http.ResponseWriter, r *http.Request) {
|
||||
vars := mux.Vars(r)
|
||||
id := vars["id"]
|
||||
|
||||
fname := filepath.Join(p.store, id)
|
||||
|
||||
if !chkFile(fname) {
|
||||
httpsrv.WriteText(w, http.StatusNotFound, "ERR Not Found")
|
||||
return
|
||||
}
|
||||
|
||||
if chkGone(fname) {
|
||||
httpsrv.WriteText(w, http.StatusGone, "ERR Gone")
|
||||
return
|
||||
}
|
||||
|
||||
f, err := os.Open(fname)
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
httpsrv.WriteText(w, http.StatusInternalServerError, "ERR Reading Content")
|
||||
}
|
||||
defer f.Close()
|
||||
|
||||
pr := readutil.NewPreviewReader(f)
|
||||
|
||||
keep := true
|
||||
scanner := bufio.NewScanner(pr)
|
||||
for scanner.Scan() {
|
||||
txt := scanner.Text()
|
||||
log.Debug(txt)
|
||||
|
||||
// End of header found
|
||||
if txt == "" {
|
||||
break
|
||||
}
|
||||
|
||||
if strings.HasPrefix(txt, "exp:") {
|
||||
now := time.Now().Unix()
|
||||
exp, err := strconv.ParseInt(strings.TrimSpace(strings.TrimPrefix(txt, "exp:")), 10, 64)
|
||||
if err != nil {
|
||||
log.Warning(err)
|
||||
}
|
||||
|
||||
log.Debugf("%d > %d", now, exp)
|
||||
if now > exp {
|
||||
w.WriteHeader(http.StatusGone)
|
||||
_, _ = w.Write([]byte("ERR Gone"))
|
||||
|
||||
deleteFile(fname)
|
||||
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
if strings.HasPrefix(txt, "burn:") {
|
||||
burn := strings.TrimSpace(strings.TrimPrefix(txt, "burn:"))
|
||||
|
||||
if burn == "true" {
|
||||
keep = false
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
w.WriteHeader(http.StatusOK)
|
||||
_, _ = io.Copy(w, pr.Drain())
|
||||
|
||||
if !keep {
|
||||
deleteFile(fname)
|
||||
}
|
||||
}
|
||||
|
||||
func (p *Paste) postPaste(w http.ResponseWriter, r *http.Request) {
|
||||
defer r.Body.Close()
|
||||
|
||||
rdr := io.LimitReader(r.Body, 1048576)
|
||||
|
||||
s256 := sha256.New()
|
||||
tmp, _ := ioutil.TempFile(p.store, "arch-")
|
||||
defer os.Remove(tmp.Name())
|
||||
|
||||
m := io.MultiWriter(s256, tmp)
|
||||
if _, err := io.Copy(m, rdr); err != nil {
|
||||
httpsrv.WriteError(w, 400, err.Error())
|
||||
}
|
||||
tmp.Close()
|
||||
|
||||
id := base64.RawURLEncoding.EncodeToString(s256.Sum(nil)[12:])
|
||||
fname := filepath.Join(p.store, id)
|
||||
|
||||
_ = os.Rename(tmp.Name(), fname)
|
||||
|
||||
httpsrv.WriteText(w, http.StatusCreated, "OK "+id)
|
||||
}
|
||||
|
||||
// func checkErr(err error, w http.ResponseWriter) bool {
|
||||
// if err != nil {
|
||||
// httpsrv.WriteObject(w, http.StatusBadRequest, err)
|
||||
// return true
|
||||
// }
|
||||
|
||||
// return false
|
||||
// }
|
||||
|
||||
func deleteFile(path string) {
|
||||
_ = ioutil.WriteFile(path, nil, 0644)
|
||||
}
|
||||
@@ -1,26 +0,0 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"net/http"
|
||||
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
)
|
||||
|
||||
func init() {
|
||||
asset := assetFS()
|
||||
fmt.Printf("%#v\n", asset)
|
||||
|
||||
httpsrv.HttpRegister("ui", httpsrv.HttpRoutes{
|
||||
{
|
||||
Name: "Assets",
|
||||
Method: "GET",
|
||||
Pattern: "/ui{path:.*}",
|
||||
HandlerFunc: http.StripPrefix("/ui", http.FileServer(httpsrv.FsHtml5(asset))).ServeHTTP,
|
||||
},
|
||||
|
||||
{Name: "Root", Method: "GET", Pattern: "/", HandlerFunc: http.RedirectHandler("/ui/", http.StatusFound).ServeHTTP},
|
||||
})
|
||||
}
|
||||
|
||||
//go:generate go run github.com/sour-is/go-assetfs/cmd/assetfs -pkg routes -prefix ../../ ../../public/...
|
||||
@@ -1,167 +0,0 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"regexp"
|
||||
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/timshannon/badgerhold"
|
||||
|
||||
"sour.is/x/toolbox/httpsrv"
|
||||
"sour.is/x/toolbox/log"
|
||||
"sour.is/x/toolbox/uuid"
|
||||
)
|
||||
|
||||
type logger struct{}
|
||||
|
||||
func (logger) Errorf(s string, o ...interface{}) { log.Errorf(s, o...) }
|
||||
func (logger) Warningf(s string, o ...interface{}) { log.Warningf(s, o...) }
|
||||
func (logger) Infof(s string, o ...interface{}) { log.Infof(s, o...) }
|
||||
func (logger) Debugf(s string, o ...interface{}) { log.Debugf(s, o...) }
|
||||
|
||||
func init() {
|
||||
s := &shortDB{}
|
||||
httpsrv.RegisterModule("short", s.config)
|
||||
|
||||
httpsrv.HttpRegister("short", httpsrv.HttpRoutes{
|
||||
{Name: "get", Method: "GET", Pattern: "/s/{id}", HandlerFunc: s.get},
|
||||
{Name: "put", Method: "PUT", Pattern: "/s/{id}", HandlerFunc: s.put},
|
||||
})
|
||||
}
|
||||
|
||||
type shortDB struct {
|
||||
options badgerhold.Options
|
||||
}
|
||||
|
||||
func (s *shortDB) config(config map[string]string) {
|
||||
s.options = badgerhold.DefaultOptions
|
||||
s.options.Options = s.options.WithLogger(logger{})
|
||||
|
||||
var ok bool
|
||||
if s.options.Dir, ok = config["index"]; !ok {
|
||||
s.options.Dir = "data"
|
||||
}
|
||||
|
||||
if s.options.ValueDir, ok = config["value"]; !ok {
|
||||
s.options.ValueDir = "data"
|
||||
}
|
||||
|
||||
store, err := badgerhold.Open(s.options)
|
||||
defer func() {
|
||||
if err = store.Close(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
||||
func (s *shortDB) get(w http.ResponseWriter, r *http.Request) {
|
||||
vars := mux.Vars(r)
|
||||
|
||||
id := vars["id"]
|
||||
|
||||
store, err := badgerhold.Open(s.options)
|
||||
defer func() {
|
||||
if err = store.Close(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}()
|
||||
if err != nil {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
var url shortURL
|
||||
err = store.Get(id, &url)
|
||||
if err != nil && err != badgerhold.ErrNotFound {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
if err == badgerhold.ErrNotFound {
|
||||
httpsrv.WriteText(w, 404, "not found")
|
||||
return
|
||||
}
|
||||
|
||||
w.Header().Set("Location", url.URL)
|
||||
w.WriteHeader(http.StatusFound)
|
||||
}
|
||||
func (s *shortDB) put(w http.ResponseWriter, r *http.Request) {
|
||||
vars := mux.Vars(r)
|
||||
|
||||
id := vars["id"]
|
||||
secret := r.FormValue("secret")
|
||||
u, err := url.Parse(r.FormValue("url"))
|
||||
if err != nil {
|
||||
httpsrv.WriteText(w, 400, "bad url")
|
||||
return
|
||||
}
|
||||
|
||||
store, err := badgerhold.Open(s.options)
|
||||
defer func() {
|
||||
if err = store.Close(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}()
|
||||
if err != nil {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
url := &shortURL{}
|
||||
err = store.Get(id, url)
|
||||
if err != nil && err != badgerhold.ErrNotFound {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
if err == badgerhold.ErrNotFound {
|
||||
url = newShortURL(id, secret, u.String())
|
||||
|
||||
err := store.Insert(url.ID, url)
|
||||
if err != nil {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
httpsrv.WriteObject(w, 200, url)
|
||||
return
|
||||
}
|
||||
|
||||
if secret == "" {
|
||||
httpsrv.WriteError(w, 401, "no auth")
|
||||
return
|
||||
}
|
||||
|
||||
if secret != url.Secret {
|
||||
httpsrv.WriteError(w, 403, "forbidden")
|
||||
return
|
||||
}
|
||||
|
||||
err = store.Upsert(url.ID, url)
|
||||
if err != nil {
|
||||
httpsrv.WriteText(w, 500, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
httpsrv.WriteObject(w, 200, url)
|
||||
}
|
||||
|
||||
type shortURL struct {
|
||||
ID string `badgerhold:"unique"`
|
||||
URL string
|
||||
Secret string
|
||||
}
|
||||
|
||||
func newShortURL(id, secret, u string) *shortURL {
|
||||
m, err := regexp.MatchString("[a-z-]{1,64}", id)
|
||||
if id == "" || !m || err != nil {
|
||||
id = uuid.V4()
|
||||
}
|
||||
m, err = regexp.MatchString("[a-z-]{1,64}", secret)
|
||||
if secret == "" || !m || err != nil {
|
||||
secret = uuid.V4()
|
||||
}
|
||||
return &shortURL{ID: id, Secret: secret, URL: u}
|
||||
}
|
||||
File renamed without changes.
Reference in new issue
Block a user