diff --git a/README.md b/README.md index e2ff88dfa..9e2d7c15b 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,7 @@ Gin-vue-admin 的成长离不开大家的支持,如果你愿意为 gin-vue-adm > **使用docker-compose进行部署本项目需注意的问题** +- dockerfile_server使用了多阶段构建,这是docker 17.05后引入的,因此安装的docker版本需要高于17.05 - mysql数据库请使用装在服务器磁盘的本地数据库. - 避免使用docker容器内的mysql,可能会出现写入的问题, io比宿主机低 docker的持久化机制问题 - [init.sql](.docker-compose/docker-entrypoint-initdb.d/init.sql)是给docker-compose进行体验本项目的, 禁止[init.sql](.docker-compose/docker-entrypoint-initdb.d/init.sql)使用进行项目数据的初始化, 数据库初始化[请使用此方法](https://www.gin-vue-admin.com/docs/help#step1%EF%BC%9A%E6%95%B0%E6%8D%AE%E5%BA%93%E5%88%9D%E5%A7%8B%E5%8C%96) @@ -165,7 +166,7 @@ npm run serve ### 2.2 server端 -使用 goland等编辑工具,打开server目录,不可以打开 gin-vue-admin跟目录 +使用 goland等编辑工具,打开server目录,不可以打开 gin-vue-admin 根目录 ```bash # 使用 go.mod @@ -222,12 +223,12 @@ zap: #### 2.3.1 安装 swagger -##### (1)可以翻墙 +##### (1)可以科学上网 ```` go get -u github.com/swaggo/swag/cmd/swag ```` -##### (2)无法翻墙 +##### (2)无法科学上网 由于国内没法安装 go.org/x 包下面的东西,推荐使用 [goproxy.io](https://goproxy.io/zh/) @@ -248,7 +249,7 @@ go get -u github.com/swaggo/swag/cmd/swag cd server swag init ```` -执行上面的命令后,server目录下会出现docs文件夹,登录http://localhost:8888/swagger/index.html,即可查看swagger文档 +执行上面的命令后,server目录下会出现docs文件夹,登录 http://localhost:8888/swagger/index.html ,即可查看swagger文档 ## 3. 技术选型 diff --git a/dockerfile_server b/dockerfile_server index 54d23ddad..17cc2372b 100644 --- a/dockerfile_server +++ b/dockerfile_server @@ -12,7 +12,7 @@ RUN sh ./server-handle.sh RUN rm -f server-handle.sh RUN cat ./config.yaml -RUN go env && go build -o server . +RUN go env && go mod tidy && go build -o server . FROM alpine:latest LABEL MAINTAINER="SliverHorn@sliver_horn@qq.com" diff --git a/server/README.md b/server/README.md new file mode 100644 index 000000000..2305e4942 --- /dev/null +++ b/server/README.md @@ -0,0 +1,44 @@ + +整理代码结构 +``` lua +web +├── api/v1 -- 主要API +| ├── sys_initdb.go -- ico +| └── sys_user.go -- +├── config -- 配置文件 设定操作的结构体 +| ├── auto_code.go -- ico captcha.go +| ├── ... -- ico captcha.go +| └── zap.go -- core +├── core -- 主要结构代码 +| ├── server_other.go -- ico captcha.go +| ├── ... -- ico captcha.go +| └── zap.go -- +├── docs -- 文档系统 +| ├── docs.go -- ico captcha.go +| ├── swagger.json -- json +| └── swagger.yaml -- yaml +├── global -- global +├── initialize -- initialize +├── middleware -- 中间键 +├── model -- global +│ ├── request -- 所有请求model结构体 +| | ├── common.go +| | ├── ... +| | └── sys_user.go -- yaml +| ├── response -- 返回数据 +| | ├── common.go +| | ├── ... +| | └── sys_user.go -- yaml +├── packfile -- 文件写入 +├── resource -- 资源文件 +├── router -- 路由 +├── service -- service层 +├── source -- 文件目录操作 +├── utils +├── config.yaml -- +├── Dockerfile -- docker配置 +├── go.mod -- mod 配置 +├── go.sum -- sum +├── latest_log -- vue-cli 配置 +└── main.go -- package.json +``` \ No newline at end of file diff --git a/server/api/v1/exa_breakpoint_continue.go b/server/api/v1/exa_breakpoint_continue.go index e134f86d3..91f5d55f4 100644 --- a/server/api/v1/exa_breakpoint_continue.go +++ b/server/api/v1/exa_breakpoint_continue.go @@ -82,7 +82,7 @@ func FindFile(c *gin.Context) { global.GVA_LOG.Error("查找失败!", zap.Any("err", err)) response.FailWithMessage("查找失败", c) } else { - response.OkWithDetailed(response.FileResponse{File: file},"查找成功", c) + response.OkWithDetailed(response.FileResponse{File: file}, "查找成功", c) } } @@ -122,7 +122,7 @@ func RemoveChunk(c *gin.Context) { err = service.DeleteFileChunk(fileMd5, fileName, filePath) if err != nil { global.GVA_LOG.Error("缓存切片删除失败!", zap.Any("err", err)) - response.FailWithDetailed(response.FilePathResponse{FilePath: filePath},"缓存切片删除失败", c) + response.FailWithDetailed(response.FilePathResponse{FilePath: filePath}, "缓存切片删除失败", c) } else { response.OkWithDetailed(response.FilePathResponse{FilePath: filePath}, "缓存切片删除成功", c) } diff --git a/server/api/v1/exa_simple_uploader.go b/server/api/v1/exa_simple_uploader.go index 984d0b792..cf86477c9 100644 --- a/server/api/v1/exa_simple_uploader.go +++ b/server/api/v1/exa_simple_uploader.go @@ -69,7 +69,7 @@ func CheckFileMd5(c *gin.Context) { response.OkWithDetailed(gin.H{ "chunks": chunks, "isDone": isDone, - },"查询成功", c) + }, "查询成功", c) } } diff --git a/server/api/v1/sys_api.go b/server/api/v1/sys_api.go index aa5d3bd36..325736444 100644 --- a/server/api/v1/sys_api.go +++ b/server/api/v1/sys_api.go @@ -7,6 +7,7 @@ import ( "gin-vue-admin/model/response" "gin-vue-admin/service" "gin-vue-admin/utils" + "github.com/gin-gonic/gin" "go.uber.org/zap" ) @@ -100,7 +101,7 @@ func GetApiById(c *gin.Context) { response.FailWithMessage(err.Error(), c) return } - err, api := service.GetApiById(idInfo.Id) + err, api := service.GetApiById(idInfo.ID) if err != nil { global.GVA_LOG.Error("获取失败!", zap.Any("err", err)) response.FailWithMessage("获取失败", c) @@ -147,3 +148,22 @@ func GetAllApis(c *gin.Context) { response.OkWithDetailed(response.SysAPIListResponse{Apis: apis}, "获取成功", c) } } + +// @Tags SysApi +// @Summary 删除选中Api +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body request.IdsReq true "ID" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}" +// @Router /api/deleteApisByIds [delete] +func DeleteApisByIds(c *gin.Context) { + var ids request.IdsReq + _ = c.ShouldBindJSON(&ids) + if err := service.DeleteApisByIds(ids); err != nil { + global.GVA_LOG.Error("删除失败!", zap.Any("err", err)) + response.FailWithMessage("删除失败", c) + } else { + response.OkWithMessage("删除成功", c) + } +} diff --git a/server/api/v1/sys_casbin.go b/server/api/v1/sys_casbin.go index e9bba8f8b..24e0ba5e8 100644 --- a/server/api/v1/sys_casbin.go +++ b/server/api/v1/sys_casbin.go @@ -51,4 +51,3 @@ func GetPolicyPathByAuthorityId(c *gin.Context) { paths := service.GetPolicyPathByAuthorityId(casbin.AuthorityId) response.OkWithDetailed(response.PolicyPathResponse{Paths: paths}, "获取成功", c) } - diff --git a/server/api/v1/sys_menu.go b/server/api/v1/sys_menu.go index 765c61cdb..4f920d7be 100644 --- a/server/api/v1/sys_menu.go +++ b/server/api/v1/sys_menu.go @@ -7,6 +7,7 @@ import ( "gin-vue-admin/model/response" "gin-vue-admin/service" "gin-vue-admin/utils" + "github.com/gin-gonic/gin" "go.uber.org/zap" ) @@ -132,7 +133,7 @@ func DeleteBaseMenu(c *gin.Context) { response.FailWithMessage(err.Error(), c) return } - if err := service.DeleteBaseMenu(menu.Id); err != nil { + if err := service.DeleteBaseMenu(menu.ID); err != nil { global.GVA_LOG.Error("删除失败!", zap.Any("err", err)) response.FailWithMessage("删除失败", c) } else { @@ -182,7 +183,7 @@ func GetBaseMenuById(c *gin.Context) { response.FailWithMessage(err.Error(), c) return } - if err, menu := service.GetBaseMenuById(idInfo.Id); err != nil { + if err, menu := service.GetBaseMenuById(idInfo.ID); err != nil { global.GVA_LOG.Error("获取失败!", zap.Any("err", err)) response.FailWithMessage("获取失败", c) } else { @@ -214,6 +215,6 @@ func GetMenuList(c *gin.Context) { Total: total, Page: pageInfo.Page, PageSize: pageInfo.PageSize, - },"获取成功", c) + }, "获取成功", c) } -} \ No newline at end of file +} diff --git a/server/api/v1/sys_user.go b/server/api/v1/sys_user.go index 5712646c7..7b5dd6a87 100644 --- a/server/api/v1/sys_user.go +++ b/server/api/v1/sys_user.go @@ -8,11 +8,12 @@ import ( "gin-vue-admin/model/response" "gin-vue-admin/service" "gin-vue-admin/utils" + "time" + "github.com/dgrijalva/jwt-go" "github.com/gin-gonic/gin" "github.com/go-redis/redis" "go.uber.org/zap" - "time" ) // @Tags Base @@ -217,11 +218,11 @@ func DeleteUser(c *gin.Context) { return } jwtId := getUserID(c) - if jwtId == uint(reqId.Id) { + if jwtId == uint(reqId.ID) { response.FailWithMessage("删除失败, 自杀失败", c) return } - if err := service.DeleteUser(reqId.Id); err != nil { + if err := service.DeleteUser(reqId.ID); err != nil { global.GVA_LOG.Error("删除失败!", zap.Any("err", err)) response.FailWithMessage("删除失败", c) } else { diff --git a/server/config.yaml b/server/config.yaml index bb2244d7a..7d0057640 100644 --- a/server/config.yaml +++ b/server/config.yaml @@ -114,4 +114,17 @@ tencent-cos: # excel configuration excel: - dir: './resource/excel/' \ No newline at end of file + dir: './resource/excel/' + + +# timer task db clear table +Timer: + spec: "@daily" # 定时任务详细配置参考 https://pkg.go.dev/github.com/robfig/cron?utm_source=godoc + detail: [ + # tableName: 需要清理的表名 + # compareField: 需要比较时间的字段 + # interval: 时间间隔, 具体配置详看 time.ParseDuration() 中字符串表示 且不能为负数 + # 2160h = 24 * 30 * 3 -> 三个月 + { tableName: "sys_operation_records" , compareField: "created_at", interval: "2160h" }, + #{ tableName: "log2" , compareField: "created_at", interval: "2160h" } + ] diff --git a/server/config/captcha.go b/server/config/captcha.go index 1238f1e6c..76ed3cc4f 100644 --- a/server/config/captcha.go +++ b/server/config/captcha.go @@ -1,7 +1,7 @@ package config type Captcha struct { - KeyLong int `mapstructure:"key-long" json:"keyLong" yaml:"key-long"` - ImgWidth int `mapstructure:"img-width" json:"imgWidth" yaml:"img-width"` - ImgHeight int `mapstructure:"img-height" json:"imgHeight" yaml:"img-height"` + KeyLong int `mapstructure:"key-long" json:"keyLong" yaml:"key-long"` // 验证码长度 + ImgWidth int `mapstructure:"img-width" json:"imgWidth" yaml:"img-width"` // 图片宽度 + ImgHeight int `mapstructure:"img-height" json:"imgHeight" yaml:"img-height"` // 图片高度 } diff --git a/server/config/casbin.go b/server/config/casbin.go index 67e45b034..ad548dc09 100644 --- a/server/config/casbin.go +++ b/server/config/casbin.go @@ -1,5 +1,5 @@ package config type Casbin struct { - ModelPath string `mapstructure:"model-path" json:"modelPath" yaml:"model-path"` + ModelPath string `mapstructure:"model-path" json:"modelPath" yaml:"model-path"` // Model路径 } diff --git a/server/config/config.go b/server/config/config.go index e2e557de0..83d256f49 100644 --- a/server/config/config.go +++ b/server/config/config.go @@ -18,4 +18,5 @@ type Server struct { AliyunOSS AliyunOSS `mapstructure:"aliyun-oss" json:"aliyunOSS" yaml:"aliyun-oss"` TencentCOS TencentCOS `mapstructure:"tencent-cos" json:"tencentCOS" yaml:"tencent-cos"` Excel Excel `mapstructure:"excel" json:"excel" yaml:"excel"` + Timer Timer `mapstructure:"timer" json:"timer" yaml:"timer"` } diff --git a/server/config/email.go b/server/config/email.go index 1da737ef1..6b3d3956f 100644 --- a/server/config/email.go +++ b/server/config/email.go @@ -1,11 +1,11 @@ package config type Email struct { - To string `mapstructure:"to" json:"to" yaml:"to"` - Port int `mapstructure:"port" json:"port" yaml:"port"` - From string `mapstructure:"from" json:"from" yaml:"from"` - Host string `mapstructure:"host" json:"host" yaml:"host"` - IsSSL bool `mapstructure:"is-ssl" json:"isSSL" yaml:"is-ssl"` - Secret string `mapstructure:"secret" json:"secret" yaml:"secret"` - Nickname string `mapstructure:"nickname" json:"nickname" yaml:"nickname"` + To string `mapstructure:"to" json:"to" yaml:"to"` // 收件人 + Port int `mapstructure:"port" json:"port" yaml:"port"` // 端口 + From string `mapstructure:"from" json:"from" yaml:"from"` // 收件人 + Host string `mapstructure:"host" json:"host" yaml:"host"` // 服务器地址 + IsSSL bool `mapstructure:"is-ssl" json:"isSSL" yaml:"is-ssl"` // 是否SSL + Secret string `mapstructure:"secret" json:"secret" yaml:"secret"` // 密钥 + Nickname string `mapstructure:"nickname" json:"nickname" yaml:"nickname"` // 昵称 } diff --git a/server/config/excel.go b/server/config/excel.go index a5a84234f..13caab7f5 100644 --- a/server/config/excel.go +++ b/server/config/excel.go @@ -2,4 +2,4 @@ package config type Excel struct { Dir string `mapstructure:"dir" json:"dir" yaml:"dir"` -} \ No newline at end of file +} diff --git a/server/config/gorm.go b/server/config/gorm.go index 4522461b0..263625fc9 100644 --- a/server/config/gorm.go +++ b/server/config/gorm.go @@ -1,11 +1,11 @@ package config type Mysql struct { - Path string `mapstructure:"path" json:"path" yaml:"path"` + Path string `mapstructure:"path" json:"path" yaml:"path"` // 服务器地址:端口 Config string `mapstructure:"config" json:"config" yaml:"config"` - Dbname string `mapstructure:"db-name" json:"dbname" yaml:"db-name"` - Username string `mapstructure:"username" json:"username" yaml:"username"` - Password string `mapstructure:"password" json:"password" yaml:"password"` + Dbname string `mapstructure:"db-name" json:"dbname" yaml:"db-name"` // 数据库名 + Username string `mapstructure:"username" json:"username" yaml:"username"` // 数据库用户名 + Password string `mapstructure:"password" json:"password" yaml:"password"` // 数据库密码 MaxIdleConns int `mapstructure:"max-idle-conns" json:"maxIdleConns" yaml:"max-idle-conns"` MaxOpenConns int `mapstructure:"max-open-conns" json:"maxOpenConns" yaml:"max-open-conns"` LogMode bool `mapstructure:"log-mode" json:"logMode" yaml:"log-mode"` @@ -14,4 +14,4 @@ type Mysql struct { func (m *Mysql) Dsn() string { return m.Username + ":" + m.Password + "@tcp(" + m.Path + ")/" + m.Dbname + "?" + m.Config -} \ No newline at end of file +} diff --git a/server/config/jwt.go b/server/config/jwt.go index 58b3df16b..0ac7168fb 100644 --- a/server/config/jwt.go +++ b/server/config/jwt.go @@ -1,7 +1,7 @@ package config type JWT struct { - SigningKey string `mapstructure:"signing-key" json:"signingKey" yaml:"signing-key"` - ExpiresTime int64 `mapstructure:"expires-time" json:"expiresTime" yaml:"expires-time"` - BufferTime int64 `mapstructure:"buffer-time" json:"bufferTime" yaml:"buffer-time"` + SigningKey string `mapstructure:"signing-key" json:"signingKey" yaml:"signing-key"` // jwt签名 + ExpiresTime int64 `mapstructure:"expires-time" json:"expiresTime" yaml:"expires-time"` // 过期时间 + BufferTime int64 `mapstructure:"buffer-time" json:"bufferTime" yaml:"buffer-time"` // 缓冲时间 } diff --git a/server/config/oss.go b/server/config/oss.go index 0a8af1cbe..e7c2de2f1 100644 --- a/server/config/oss.go +++ b/server/config/oss.go @@ -1,17 +1,17 @@ package config type Local struct { - Path string `mapstructure:"path" json:"path" yaml:"path" ` + Path string `mapstructure:"path" json:"path" yaml:"path"` // 本地文件路径 } type Qiniu struct { - Zone string `mapstructure:"zone" json:"zone" yaml:"zone"` - Bucket string `mapstructure:"bucket" json:"bucket" yaml:"bucket"` - ImgPath string `mapstructure:"img-path" json:"imgPath" yaml:"img-path"` - UseHTTPS bool `mapstructure:"use-https" json:"useHttps" yaml:"use-https"` - AccessKey string `mapstructure:"access-key" json:"accessKey" yaml:"access-key"` - SecretKey string `mapstructure:"secret-key" json:"secretKey" yaml:"secret-key"` - UseCdnDomains bool `mapstructure:"use-cdn-domains" json:"useCdnDomains" yaml:"use-cdn-domains"` + Zone string `mapstructure:"zone" json:"zone" yaml:"zone"` // 存储区域 + Bucket string `mapstructure:"bucket" json:"bucket" yaml:"bucket"` // 空间名称 + ImgPath string `mapstructure:"img-path" json:"imgPath" yaml:"img-path"` // CDN加速域名 + UseHTTPS bool `mapstructure:"use-https" json:"useHttps" yaml:"use-https"` // 是否使用https + AccessKey string `mapstructure:"access-key" json:"accessKey" yaml:"access-key"` // accessKey + SecretKey string `mapstructure:"secret-key" json:"secretKey" yaml:"secret-key"` // secretKey + UseCdnDomains bool `mapstructure:"use-cdn-domains" json:"useCdnDomains" yaml:"use-cdn-domains"` // 上传是否使用CDN上传加速 } type AliyunOSS struct { diff --git a/server/config/redis.go b/server/config/redis.go index 9f725a482..b5bacebd8 100644 --- a/server/config/redis.go +++ b/server/config/redis.go @@ -2,6 +2,6 @@ package config type Redis struct { DB int `mapstructure:"db" json:"db" yaml:"db"` - Addr string `mapstructure:"addr" json:"addr" yaml:"addr"` - Password string `mapstructure:"password" json:"password" yaml:"password"` -} \ No newline at end of file + Addr string `mapstructure:"addr" json:"addr" yaml:"addr"` // 服务器地址:端口 + Password string `mapstructure:"password" json:"password" yaml:"password"` // 密码 +} diff --git a/server/config/system.go b/server/config/system.go index d072379ad..768788ab0 100644 --- a/server/config/system.go +++ b/server/config/system.go @@ -1,9 +1,9 @@ package config type System struct { - Env string `mapstructure:"env" json:"env" yaml:"env"` - Addr int `mapstructure:"addr" json:"addr" yaml:"addr"` - DbType string `mapstructure:"db-type" json:"dbType" yaml:"db-type"` - OssType string `mapstructure:"oss-type" json:"ossType" yaml:"oss-type"` - UseMultipoint bool `mapstructure:"use-multipoint" json:"useMultipoint" yaml:"use-multipoint"` + Env string `mapstructure:"env" json:"env" yaml:"env"` // 环境值 + Addr int `mapstructure:"addr" json:"addr" yaml:"addr"` // 端口值 + DbType string `mapstructure:"db-type" json:"dbType" yaml:"db-type"` // 数据库类型:mysql(默认)|sqlite|sqlserver|postgresql + OssType string `mapstructure:"oss-type" json:"ossType" yaml:"oss-type"` // Oss类型 + UseMultipoint bool `mapstructure:"use-multipoint" json:"useMultipoint" yaml:"use-multipoint"` // 多点登录拦截 } diff --git a/server/config/timer.go b/server/config/timer.go new file mode 100644 index 000000000..f83d6bf08 --- /dev/null +++ b/server/config/timer.go @@ -0,0 +1,13 @@ +package config + +type Timer struct { + Start bool `mapstructure:"start" json:"start" yaml:"start"` + Spec string `mapstructure:"spec" json:"spec" yaml:"spec"` + Detail []Detail `mapstructure:"detail" json:"detail" yaml:"detail"` +} + +type Detail struct { + TableName string `mapstructure:"tableName" json:"tableName" yaml:"tableName"` + CompareField string `mapstructure:"compareField" json:"compareField" yaml:"compareField"` + Interval string `mapstructure:"interval" json:"interval" yaml:"interval"` +} diff --git a/server/config/zap.go b/server/config/zap.go index f83b6fb10..f681ca837 100644 --- a/server/config/zap.go +++ b/server/config/zap.go @@ -1,13 +1,13 @@ package config type Zap struct { - Level string `mapstructure:"level" json:"level" yaml:"level"` - Format string `mapstructure:"format" json:"format" yaml:"format"` - Prefix string `mapstructure:"prefix" json:"prefix" yaml:"prefix"` - Director string `mapstructure:"director" json:"director" yaml:"director"` - LinkName string `mapstructure:"link-name" json:"linkName" yaml:"link-name"` - ShowLine bool `mapstructure:"show-line" json:"showLine" yaml:"showLine"` - EncodeLevel string `mapstructure:"encode-level" json:"encodeLevel" yaml:"encode-level"` - StacktraceKey string `mapstructure:"stacktrace-key" json:"stacktraceKey" yaml:"stacktrace-key"` - LogInConsole bool `mapstructure:"log-in-console" json:"logInConsole" yaml:"log-in-console"` + Level string `mapstructure:"level" json:"level" yaml:"level"` // 级别 + Format string `mapstructure:"format" json:"format" yaml:"format"` // 输出 + Prefix string `mapstructure:"prefix" json:"prefix" yaml:"prefix"` // 日志前缀 + Director string `mapstructure:"director" json:"director" yaml:"director"` // 日志文件夹 + LinkName string `mapstructure:"link-name" json:"linkName" yaml:"link-name"` // 软链接名称 + ShowLine bool `mapstructure:"show-line" json:"showLine" yaml:"showLine"` // 显示行 + EncodeLevel string `mapstructure:"encode-level" json:"encodeLevel" yaml:"encode-level"` // 编码级 + StacktraceKey string `mapstructure:"stacktrace-key" json:"stacktraceKey" yaml:"stacktrace-key"` // 栈名 + LogInConsole bool `mapstructure:"log-in-console" json:"logInConsole" yaml:"log-in-console"` // 输出控制台 } diff --git a/server/core/server.go b/server/core/server.go index d6a3d8ee4..573d32f16 100644 --- a/server/core/server.go +++ b/server/core/server.go @@ -29,7 +29,7 @@ func RunWindowsServer() { fmt.Printf(` 欢迎使用 Gin-Vue-Admin - 当前版本:V2.4.0 + 当前版本:V2.4.1 加群方式:微信号:shouzi_1994 QQ群:622360840 默认自动化文档地址:http://127.0.0.1%s/swagger/index.html 默认前端文件运行地址:http://127.0.0.1:8080 diff --git a/server/core/server_other.go b/server/core/server_other.go index 67cdac75d..baa722203 100644 --- a/server/core/server_other.go +++ b/server/core/server_other.go @@ -14,4 +14,4 @@ func initServer(address string, router *gin.Engine) server { s.WriteTimeout = 10 * time.Second s.MaxHeaderBytes = 1 << 20 return s -} \ No newline at end of file +} diff --git a/server/core/server_win.go b/server/core/server_win.go index 501128af6..ada3c4bf5 100644 --- a/server/core/server_win.go +++ b/server/core/server_win.go @@ -16,4 +16,4 @@ func initServer(address string, router *gin.Engine) server { WriteTimeout: 10 * time.Second, MaxHeaderBytes: 1 << 20, } -} \ No newline at end of file +} diff --git a/server/docs/docs.go b/server/docs/docs.go index b392f782b..b78c9334a 100644 --- a/server/docs/docs.go +++ b/server/docs/docs.go @@ -1,5 +1,6 @@ // GENERATED BY THE COMMAND ABOVE; DO NOT EDIT -// This file was generated by swaggo/swag +// This file was generated by swaggo/swag at +// 2021-04-30 13:57:23.4731221 +0800 CST m=+1.258292701 package docs @@ -19,7 +20,6 @@ var doc = `{ "description": "{{.Description}}", "title": "{{.Title}}", "contact": {}, - "license": {}, "version": "{{.Version}}" }, "host": "{{.Host}}", @@ -101,6 +101,44 @@ var doc = `{ } } }, + "/api/deleteApisByIds": { + "delete": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "SysApi" + ], + "summary": "删除选中Api", + "parameters": [ + { + "description": "ID", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.IdsReq" + } + } + ], + "responses": { + "200": { + "description": "{\"success\":true,\"data\":{},\"msg\":\"删除成功\"}", + "schema": { + "type": "string" + } + } + } + } + }, "/api/getAllApis": { "post": { "security": [ @@ -2720,418 +2758,6 @@ var doc = `{ } } } - }, - "/workflowProcess/completeWorkflowMove": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "提交工作流", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/createWorkflowProcess": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "创建WorkflowProcess", - "parameters": [ - { - "description": "创建WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/deleteWorkflowProcess": { - "delete": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "删除WorkflowProcess", - "parameters": [ - { - "description": "删除WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"删除成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/deleteWorkflowProcessByIds": { - "delete": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "批量删除WorkflowProcess", - "parameters": [ - { - "description": "批量删除WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.IdsReq" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"删除成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/findWorkflowProcess": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "用id查询WorkflowProcess", - "parameters": [ - { - "description": "用id查询WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"查询成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/findWorkflowStep": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "用id查询工作流步骤", - "parameters": [ - { - "description": "用id查询WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"查询成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getMyNeed": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "我的待办", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getMyStated": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "我发起的工作流", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getWorkflowMoveByID": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "根据id获取当前节点详情和历史", - "parameters": [ - { - "description": "根据id获取当前节点详情和过往", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.GetById" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getWorkflowProcessList": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "分页获取WorkflowProcess列表", - "parameters": [ - { - "description": "分页获取WorkflowProcess列表", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WorkflowProcessSearch" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/startWorkflow": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "开启工作流", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/updateWorkflowProcess": { - "put": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "更新WorkflowProcess", - "parameters": [ - { - "description": "更新WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"更新成功\"}", - "schema": { - "type": "string" - } - } - } - } } }, "definitions": { @@ -3155,16 +2781,63 @@ var doc = `{ } } }, + "config.Autocode": { + "type": "object", + "properties": { + "root": { + "type": "string" + }, + "server": { + "type": "string" + }, + "serverApi": { + "type": "string" + }, + "serverInitialize": { + "type": "string" + }, + "serverModel": { + "type": "string" + }, + "serverRequest": { + "type": "string" + }, + "serverRouter": { + "type": "string" + }, + "serverService": { + "type": "string" + }, + "web": { + "type": "string" + }, + "webApi": { + "type": "string" + }, + "webFlow": { + "type": "string" + }, + "webForm": { + "type": "string" + }, + "webTable": { + "type": "string" + } + } + }, "config.Captcha": { "type": "object", "properties": { "imgHeight": { + "description": "图片高度", "type": "integer" }, "imgWidth": { + "description": "图片宽度", "type": "integer" }, "keyLong": { + "description": "验证码长度", "type": "integer" } } @@ -3173,6 +2846,21 @@ var doc = `{ "type": "object", "properties": { "modelPath": { + "description": "Model路径", + "type": "string" + } + } + }, + "config.Detail": { + "type": "object", + "properties": { + "compareField": { + "type": "string" + }, + "interval": { + "type": "string" + }, + "tableName": { "type": "string" } } @@ -3181,24 +2869,31 @@ var doc = `{ "type": "object", "properties": { "from": { + "description": "收件人", "type": "string" }, "host": { + "description": "服务器地址", "type": "string" }, "isSSL": { + "description": "是否SSL", "type": "boolean" }, "nickname": { + "description": "昵称", "type": "string" }, "port": { + "description": "端口", "type": "integer" }, "secret": { + "description": "密钥", "type": "string" }, "to": { + "description": "收件人", "type": "string" } } @@ -3215,12 +2910,15 @@ var doc = `{ "type": "object", "properties": { "bufferTime": { + "description": "缓冲时间", "type": "integer" }, "expiresTime": { + "description": "过期时间", "type": "integer" }, "signingKey": { + "description": "jwt签名", "type": "string" } } @@ -3229,6 +2927,7 @@ var doc = `{ "type": "object", "properties": { "path": { + "description": "本地文件路径", "type": "string" } } @@ -3240,6 +2939,7 @@ var doc = `{ "type": "string" }, "dbname": { + "description": "数据库名", "type": "string" }, "logMode": { @@ -3255,12 +2955,15 @@ var doc = `{ "type": "integer" }, "password": { + "description": "数据库密码", "type": "string" }, "path": { + "description": "服务器地址:端口", "type": "string" }, "username": { + "description": "数据库用户名", "type": "string" } } @@ -3269,24 +2972,31 @@ var doc = `{ "type": "object", "properties": { "accessKey": { + "description": "accessKey", "type": "string" }, "bucket": { + "description": "空间名称", "type": "string" }, "imgPath": { + "description": "CDN加速域名", "type": "string" }, "secretKey": { + "description": "secretKey", "type": "string" }, "useCdnDomains": { + "description": "上传是否使用CDN上传加速", "type": "boolean" }, "useHttps": { + "description": "是否使用https", "type": "boolean" }, "zone": { + "description": "存储区域", "type": "string" } } @@ -3295,12 +3005,14 @@ var doc = `{ "type": "object", "properties": { "addr": { + "description": "服务器地址:端口", "type": "string" }, "db": { "type": "integer" }, "password": { + "description": "密码", "type": "string" } } @@ -3309,57 +3021,51 @@ var doc = `{ "type": "object", "properties": { "aliyunOSS": { - "type": "object", "$ref": "#/definitions/config.AliyunOSS" }, + "autoCode": { + "description": "auto", + "$ref": "#/definitions/config.Autocode" + }, "captcha": { - "type": "object", "$ref": "#/definitions/config.Captcha" }, "casbin": { - "type": "object", "$ref": "#/definitions/config.Casbin" }, "email": { - "type": "object", "$ref": "#/definitions/config.Email" }, "excel": { - "type": "object", "$ref": "#/definitions/config.Excel" }, "jwt": { - "type": "object", "$ref": "#/definitions/config.JWT" }, "local": { "description": "oss", - "type": "object", "$ref": "#/definitions/config.Local" }, "mysql": { "description": "gorm", - "type": "object", "$ref": "#/definitions/config.Mysql" }, "qiniu": { - "type": "object", "$ref": "#/definitions/config.Qiniu" }, "redis": { - "type": "object", "$ref": "#/definitions/config.Redis" }, "system": { - "type": "object", "$ref": "#/definitions/config.System" }, "tencentCOS": { - "type": "object", "$ref": "#/definitions/config.TencentCOS" }, + "timer": { + "$ref": "#/definitions/config.Timer" + }, "zap": { - "type": "object", "$ref": "#/definitions/config.Zap" } } @@ -3368,18 +3074,23 @@ var doc = `{ "type": "object", "properties": { "addr": { + "description": "端口值", "type": "integer" }, "dbType": { + "description": "数据库类型:mysql(默认)|sqlite|sqlserver|postgresql", "type": "string" }, "env": { + "description": "环境值", "type": "string" }, "ossType": { + "description": "Oss类型", "type": "string" }, "useMultipoint": { + "description": "多点登录拦截", "type": "boolean" } } @@ -3407,34 +3118,60 @@ var doc = `{ } } }, + "config.Timer": { + "type": "object", + "properties": { + "detail": { + "type": "array", + "items": { + "$ref": "#/definitions/config.Detail" + } + }, + "spec": { + "type": "string" + }, + "start": { + "type": "boolean" + } + } + }, "config.Zap": { "type": "object", "properties": { "director": { + "description": "日志文件夹", "type": "string" }, "encodeLevel": { + "description": "编码级", "type": "string" }, "format": { + "description": "输出", "type": "string" }, "level": { + "description": "级别", "type": "string" }, "linkName": { + "description": "软链接名称", "type": "string" }, "logInConsole": { + "description": "输出控制台", "type": "boolean" }, "prefix": { + "description": "日志前缀", "type": "string" }, "showLine": { + "description": "显示行", "type": "boolean" }, "stacktraceKey": { + "description": "栈名", "type": "string" } } @@ -3443,15 +3180,19 @@ var doc = `{ "type": "object", "properties": { "abbreviation": { + "description": "Struct简称", "type": "string" }, "autoCreateApiToSql": { + "description": "是否自动创建api", "type": "boolean" }, "autoMoveFile": { + "description": "是否自动移动文件", "type": "boolean" }, "description": { + "description": "Struct中文名称", "type": "string" }, "fields": { @@ -3461,12 +3202,15 @@ var doc = `{ } }, "packageName": { + "description": "文件名称", "type": "string" }, "structName": { + "description": "Struct名称", "type": "string" }, "tableName": { + "description": "表名", "type": "string" } } @@ -3475,28 +3219,35 @@ var doc = `{ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "customerName": { + "description": "客户名", "type": "string" }, "customerPhoneData": { + "description": "客户手机号", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "sysUser": { - "type": "object", + "description": "管理详情", "$ref": "#/definitions/model.SysUser" }, "sysUserAuthorityID": { + "description": "管理角色ID", "type": "string" }, "sysUserId": { + "description": "管理ID", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3505,24 +3256,31 @@ var doc = `{ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "key": { + "description": "编号", "type": "string" }, "name": { + "description": "文件名", "type": "string" }, "tag": { + "description": "文件标签", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "url": { + "description": "文件地址", "type": "string" } } @@ -3531,6 +3289,7 @@ var doc = `{ "type": "object", "properties": { "fileName": { + "description": "文件名", "type": "string" }, "infoList": { @@ -3545,33 +3304,43 @@ var doc = `{ "type": "object", "properties": { "columnName": { + "description": "数据库字段", "type": "string" }, "comment": { + "description": "数据库字段描述", "type": "string" }, "dataType": { + "description": "数据库字段类型", "type": "string" }, "dataTypeLong": { + "description": "数据库字段长度", "type": "string" }, "dictType": { + "description": "字典", "type": "string" }, "fieldDesc": { + "description": "中文名", "type": "string" }, "fieldJson": { + "description": "FieldJson", "type": "string" }, "fieldName": { + "description": "Field名", "type": "string" }, "fieldSearchType": { + "description": "搜索条件", "type": "string" }, "fieldType": { + "description": "Field数据类型", "type": "string" } } @@ -3580,24 +3349,31 @@ var doc = `{ "type": "object", "properties": { "apiGroup": { + "description": "api组", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "description": { + "description": "api中文描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "method": { + "description": "方法:创建POST(默认)|查看GET|更新PUT|删除DELETE", "type": "string" }, "path": { + "description": "api路径", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3606,9 +3382,11 @@ var doc = `{ "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" }, "authorityName": { + "description": "角色名", "type": "string" }, "children": { @@ -3627,6 +3405,7 @@ var doc = `{ } }, "defaultRouter": { + "description": "默认菜单(默认dashboard)", "type": "string" }, "deletedAt": { @@ -3639,6 +3418,7 @@ var doc = `{ } }, "parentId": { + "description": "父角色ID", "type": "string" }, "updatedAt": { @@ -3662,30 +3442,39 @@ var doc = `{ } }, "closeTab": { + "description": "自动关闭tab", "type": "boolean" }, "component": { + "description": "对应前端文件路径", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "defaultMenu": { + "description": "是否是基础路由(开发中)", "type": "boolean" }, "hidden": { + "description": "是否在列表隐藏", "type": "boolean" }, "icon": { + "description": "菜单图标", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "keepAlive": { + "description": "是否缓存", "type": "boolean" }, "name": { + "description": "路由name", "type": "string" }, "parameters": { @@ -3695,18 +3484,23 @@ var doc = `{ } }, "parentId": { + "description": "父菜单ID", "type": "string" }, "path": { + "description": "路由path", "type": "string" }, "sort": { + "description": "排序标记", "type": "integer" }, "title": { + "description": "菜单名", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3715,24 +3509,30 @@ var doc = `{ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "key": { + "description": "地址栏携带参数的key", "type": "string" }, "sysBaseMenuID": { "type": "integer" }, "type": { + "description": "地址栏携带参数为params还是query", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "value": { + "description": "地址栏携带参数的值", "type": "string" } } @@ -3741,18 +3541,23 @@ var doc = `{ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "desc": { + "description": "描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "name": { + "description": "字典名(中)", "type": "string" }, "status": { + "description": "状态", "type": "boolean" }, "sysDictionaryDetails": { @@ -3762,9 +3567,11 @@ var doc = `{ } }, "type": { + "description": "字典名(英)", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3773,27 +3580,35 @@ var doc = `{ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "label": { + "description": "展示值", "type": "string" }, "sort": { + "description": "排序标记", "type": "integer" }, "status": { + "description": "启用状态", "type": "boolean" }, "sysDictionaryID": { + "description": "关联标记", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "value": { + "description": "字典值", "type": "integer" } } @@ -3802,46 +3617,58 @@ var doc = `{ "type": "object", "properties": { "agent": { + "description": "代理", "type": "string" }, "body": { + "description": "请求Body", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "error_message": { + "description": "错误信息", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "ip": { + "description": "请求ip", "type": "string" }, "latency": { + "description": "延迟", "type": "string" }, "method": { + "description": "请求方法", "type": "string" }, "path": { + "description": "请求路径", "type": "string" }, "resp": { + "description": "响应Body", "type": "string" }, "status": { + "description": "请求状态", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "user": { - "type": "object", "$ref": "#/definitions/model.SysUser" }, "user_id": { + "description": "用户id", "type": "integer" } } @@ -3850,31 +3677,38 @@ var doc = `{ "type": "object", "properties": { "authority": { - "type": "object", "$ref": "#/definitions/model.SysAuthority" }, "authorityId": { + "description": "用户角色ID", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "headerImg": { + "description": "用户头像", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "nickName": { + "description": "用户昵称\"", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "userName": { + "description": "用户登录名", "type": "string" }, "uuid": { + "description": "用户UUID", "type": "string" } } @@ -3883,253 +3717,15 @@ var doc = `{ "type": "object", "properties": { "config": { - "type": "object", "$ref": "#/definitions/config.Server" } } }, - "model.WorkflowEdge": { - "type": "object", - "properties": { - "clazz": { - "type": "string" - }, - "conditionExpression": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "endPoint": { - "description": "终点信息", - "type": "object", - "$ref": "#/definitions/model.WorkflowEndPoint" - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "reverse": { - "type": "boolean" - }, - "seq": { - "type": "string" - }, - "shape": { - "type": "string" - }, - "source": { - "type": "string" - }, - "sourceAnchor": { - "type": "integer" - }, - "startPoint": { - "description": "起点信息", - "type": "object", - "$ref": "#/definitions/model.WorkflowStartPoint" - }, - "target": { - "type": "string" - }, - "targetAnchor": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.WorkflowEndPoint": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "index": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "workflowEdgeID": { - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - }, - "model.WorkflowNode": { - "type": "object", - "properties": { - "assignType": { - "type": "string" - }, - "assignValue": { - "type": "string" - }, - "clazz": { - "type": "string" - }, - "content": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "cycle": { - "type": "string" - }, - "description": { - "type": "string" - }, - "dueDate": { - "type": "string" - }, - "duration": { - "type": "string" - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "shape": { - "type": "string" - }, - "stateValue": { - "type": "string" - }, - "subject": { - "type": "string" - }, - "success": { - "type": "boolean" - }, - "to": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "view": { - "type": "string" - }, - "waitState": { - "type": "string" - }, - "workflowProcessID": { - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - }, - "model.WorkflowProcess": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "clazz": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "edges": { - "description": "流程链接数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowEdge" - } - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "nodes": { - "description": "流程节点数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowNode" - } - }, - "updatedAt": { - "type": "string" - }, - "view": { - "type": "string" - } - } - }, - "model.WorkflowStartPoint": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "index": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "workflowEdgeID": { - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - }, "request.AddMenuAuthorityInfo": { "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" }, "menus": { @@ -4144,6 +3740,7 @@ var doc = `{ "type": "object", "properties": { "authorityId": { + "description": "权限id", "type": "string" }, "casbinInfos": { @@ -4158,9 +3755,11 @@ var doc = `{ "type": "object", "properties": { "method": { + "description": "方法", "type": "string" }, "path": { + "description": "路径", "type": "string" } } @@ -4169,12 +3768,15 @@ var doc = `{ "type": "object", "properties": { "newPassword": { + "description": "新密码", "type": "string" }, "password": { + "description": "密码", "type": "string" }, "username": { + "description": "用户名", "type": "string" } } @@ -4186,6 +3788,7 @@ var doc = `{ "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" } } @@ -4194,6 +3797,7 @@ var doc = `{ "type": "object", "properties": { "id": { + "description": "主键ID", "type": "number" } } @@ -4217,18 +3821,23 @@ var doc = `{ ], "properties": { "dbName": { + "description": "数据库名", "type": "string" }, "host": { + "description": "服务器地址", "type": "string" }, "password": { + "description": "数据库密码", "type": "string" }, "port": { + "description": "数据库连接端口", "type": "string" }, "userName": { + "description": "数据库用户名", "type": "string" } } @@ -4237,15 +3846,19 @@ var doc = `{ "type": "object", "properties": { "captcha": { + "description": "验证码", "type": "string" }, "captchaId": { + "description": "验证码ID", "type": "string" }, "password": { + "description": "密码", "type": "string" }, "username": { + "description": "用户名", "type": "string" } } @@ -4254,9 +3867,11 @@ var doc = `{ "type": "object", "properties": { "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" } } @@ -4265,36 +3880,47 @@ var doc = `{ "type": "object", "properties": { "apiGroup": { + "description": "api组", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "desc": { + "description": "排序方式:升序false(默认)|降序true", "type": "boolean" }, "description": { + "description": "api中文描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "method": { + "description": "方法:创建POST(默认)|查看GET|更新PUT|删除DELETE", "type": "string" }, "orderKey": { + "description": "排序", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "path": { + "description": "api路径", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -4303,9 +3929,11 @@ var doc = `{ "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" }, "uuid": { + "description": "用户UUID", "type": "string" } } @@ -4314,33 +3942,43 @@ var doc = `{ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "label": { + "description": "展示值", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "sort": { + "description": "排序标记", "type": "integer" }, "status": { + "description": "启用状态", "type": "boolean" }, "sysDictionaryID": { + "description": "关联标记", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "value": { + "description": "字典值", "type": "integer" } } @@ -4349,24 +3987,31 @@ var doc = `{ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "desc": { + "description": "描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "name": { + "description": "字典名(中)", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "status": { + "description": "状态", "type": "boolean" }, "sysDictionaryDetails": { @@ -4376,9 +4021,11 @@ var doc = `{ } }, "type": { + "description": "字典名(英)", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -4387,116 +4034,74 @@ var doc = `{ "type": "object", "properties": { "agent": { + "description": "代理", "type": "string" }, "body": { + "description": "请求Body", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "error_message": { + "description": "错误信息", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "ip": { + "description": "请求ip", "type": "string" }, "latency": { + "description": "延迟", "type": "string" }, "method": { + "description": "请求方法", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "path": { + "description": "请求路径", "type": "string" }, "resp": { + "description": "响应Body", "type": "string" }, "status": { + "description": "请求状态", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "user": { - "type": "object", "$ref": "#/definitions/model.SysUser" }, "user_id": { + "description": "用户id", "type": "integer" } } }, - "request.WorkflowProcessSearch": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "clazz": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "edges": { - "description": "流程链接数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowEdge" - } - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "nodes": { - "description": "流程节点数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowNode" - } - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "view": { - "type": "string" - } - } - }, "response.SysAuthorityCopyResponse": { "type": "object", "properties": { "authority": { - "type": "object", "$ref": "#/definitions/model.SysAuthority" }, "oldAuthorityId": { diff --git a/server/docs/swagger.json b/server/docs/swagger.json index b90baea63..efac867bf 100644 --- a/server/docs/swagger.json +++ b/server/docs/swagger.json @@ -4,7 +4,6 @@ "description": "This is a sample Server pets", "title": "Swagger Example API", "contact": {}, - "license": {}, "version": "0.0.1" }, "basePath": "/", @@ -85,6 +84,44 @@ } } }, + "/api/deleteApisByIds": { + "delete": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "SysApi" + ], + "summary": "删除选中Api", + "parameters": [ + { + "description": "ID", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/request.IdsReq" + } + } + ], + "responses": { + "200": { + "description": "{\"success\":true,\"data\":{},\"msg\":\"删除成功\"}", + "schema": { + "type": "string" + } + } + } + } + }, "/api/getAllApis": { "post": { "security": [ @@ -2704,418 +2741,6 @@ } } } - }, - "/workflowProcess/completeWorkflowMove": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "提交工作流", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/createWorkflowProcess": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "创建WorkflowProcess", - "parameters": [ - { - "description": "创建WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/deleteWorkflowProcess": { - "delete": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "删除WorkflowProcess", - "parameters": [ - { - "description": "删除WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"删除成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/deleteWorkflowProcessByIds": { - "delete": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "批量删除WorkflowProcess", - "parameters": [ - { - "description": "批量删除WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.IdsReq" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"删除成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/findWorkflowProcess": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "用id查询WorkflowProcess", - "parameters": [ - { - "description": "用id查询WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"查询成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/findWorkflowStep": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "用id查询工作流步骤", - "parameters": [ - { - "description": "用id查询WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"查询成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getMyNeed": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "我的待办", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getMyStated": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "我发起的工作流", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getWorkflowMoveByID": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "根据id获取当前节点详情和历史", - "parameters": [ - { - "description": "根据id获取当前节点详情和过往", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.GetById" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/getWorkflowProcessList": { - "get": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "分页获取WorkflowProcess列表", - "parameters": [ - { - "description": "分页获取WorkflowProcess列表", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/request.WorkflowProcessSearch" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/startWorkflow": { - "post": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "开启工作流", - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"获取成功\"}", - "schema": { - "type": "string" - } - } - } - } - }, - "/workflowProcess/updateWorkflowProcess": { - "put": { - "security": [ - { - "ApiKeyAuth": [] - } - ], - "consumes": [ - "application/json" - ], - "produces": [ - "application/json" - ], - "tags": [ - "WorkflowProcess" - ], - "summary": "更新WorkflowProcess", - "parameters": [ - { - "description": "更新WorkflowProcess", - "name": "data", - "in": "body", - "required": true, - "schema": { - "$ref": "#/definitions/model.WorkflowProcess" - } - } - ], - "responses": { - "200": { - "description": "{\"success\":true,\"data\":{},\"msg\":\"更新成功\"}", - "schema": { - "type": "string" - } - } - } - } } }, "definitions": { @@ -3139,16 +2764,63 @@ } } }, + "config.Autocode": { + "type": "object", + "properties": { + "root": { + "type": "string" + }, + "server": { + "type": "string" + }, + "serverApi": { + "type": "string" + }, + "serverInitialize": { + "type": "string" + }, + "serverModel": { + "type": "string" + }, + "serverRequest": { + "type": "string" + }, + "serverRouter": { + "type": "string" + }, + "serverService": { + "type": "string" + }, + "web": { + "type": "string" + }, + "webApi": { + "type": "string" + }, + "webFlow": { + "type": "string" + }, + "webForm": { + "type": "string" + }, + "webTable": { + "type": "string" + } + } + }, "config.Captcha": { "type": "object", "properties": { "imgHeight": { + "description": "图片高度", "type": "integer" }, "imgWidth": { + "description": "图片宽度", "type": "integer" }, "keyLong": { + "description": "验证码长度", "type": "integer" } } @@ -3157,6 +2829,21 @@ "type": "object", "properties": { "modelPath": { + "description": "Model路径", + "type": "string" + } + } + }, + "config.Detail": { + "type": "object", + "properties": { + "compareField": { + "type": "string" + }, + "interval": { + "type": "string" + }, + "tableName": { "type": "string" } } @@ -3165,24 +2852,31 @@ "type": "object", "properties": { "from": { + "description": "收件人", "type": "string" }, "host": { + "description": "服务器地址", "type": "string" }, "isSSL": { + "description": "是否SSL", "type": "boolean" }, "nickname": { + "description": "昵称", "type": "string" }, "port": { + "description": "端口", "type": "integer" }, "secret": { + "description": "密钥", "type": "string" }, "to": { + "description": "收件人", "type": "string" } } @@ -3199,12 +2893,15 @@ "type": "object", "properties": { "bufferTime": { + "description": "缓冲时间", "type": "integer" }, "expiresTime": { + "description": "过期时间", "type": "integer" }, "signingKey": { + "description": "jwt签名", "type": "string" } } @@ -3213,6 +2910,7 @@ "type": "object", "properties": { "path": { + "description": "本地文件路径", "type": "string" } } @@ -3224,6 +2922,7 @@ "type": "string" }, "dbname": { + "description": "数据库名", "type": "string" }, "logMode": { @@ -3239,12 +2938,15 @@ "type": "integer" }, "password": { + "description": "数据库密码", "type": "string" }, "path": { + "description": "服务器地址:端口", "type": "string" }, "username": { + "description": "数据库用户名", "type": "string" } } @@ -3253,24 +2955,31 @@ "type": "object", "properties": { "accessKey": { + "description": "accessKey", "type": "string" }, "bucket": { + "description": "空间名称", "type": "string" }, "imgPath": { + "description": "CDN加速域名", "type": "string" }, "secretKey": { + "description": "secretKey", "type": "string" }, "useCdnDomains": { + "description": "上传是否使用CDN上传加速", "type": "boolean" }, "useHttps": { + "description": "是否使用https", "type": "boolean" }, "zone": { + "description": "存储区域", "type": "string" } } @@ -3279,12 +2988,14 @@ "type": "object", "properties": { "addr": { + "description": "服务器地址:端口", "type": "string" }, "db": { "type": "integer" }, "password": { + "description": "密码", "type": "string" } } @@ -3293,57 +3004,51 @@ "type": "object", "properties": { "aliyunOSS": { - "type": "object", "$ref": "#/definitions/config.AliyunOSS" }, + "autoCode": { + "description": "auto", + "$ref": "#/definitions/config.Autocode" + }, "captcha": { - "type": "object", "$ref": "#/definitions/config.Captcha" }, "casbin": { - "type": "object", "$ref": "#/definitions/config.Casbin" }, "email": { - "type": "object", "$ref": "#/definitions/config.Email" }, "excel": { - "type": "object", "$ref": "#/definitions/config.Excel" }, "jwt": { - "type": "object", "$ref": "#/definitions/config.JWT" }, "local": { "description": "oss", - "type": "object", "$ref": "#/definitions/config.Local" }, "mysql": { "description": "gorm", - "type": "object", "$ref": "#/definitions/config.Mysql" }, "qiniu": { - "type": "object", "$ref": "#/definitions/config.Qiniu" }, "redis": { - "type": "object", "$ref": "#/definitions/config.Redis" }, "system": { - "type": "object", "$ref": "#/definitions/config.System" }, "tencentCOS": { - "type": "object", "$ref": "#/definitions/config.TencentCOS" }, + "timer": { + "$ref": "#/definitions/config.Timer" + }, "zap": { - "type": "object", "$ref": "#/definitions/config.Zap" } } @@ -3352,18 +3057,23 @@ "type": "object", "properties": { "addr": { + "description": "端口值", "type": "integer" }, "dbType": { + "description": "数据库类型:mysql(默认)|sqlite|sqlserver|postgresql", "type": "string" }, "env": { + "description": "环境值", "type": "string" }, "ossType": { + "description": "Oss类型", "type": "string" }, "useMultipoint": { + "description": "多点登录拦截", "type": "boolean" } } @@ -3391,34 +3101,60 @@ } } }, + "config.Timer": { + "type": "object", + "properties": { + "detail": { + "type": "array", + "items": { + "$ref": "#/definitions/config.Detail" + } + }, + "spec": { + "type": "string" + }, + "start": { + "type": "boolean" + } + } + }, "config.Zap": { "type": "object", "properties": { "director": { + "description": "日志文件夹", "type": "string" }, "encodeLevel": { + "description": "编码级", "type": "string" }, "format": { + "description": "输出", "type": "string" }, "level": { + "description": "级别", "type": "string" }, "linkName": { + "description": "软链接名称", "type": "string" }, "logInConsole": { + "description": "输出控制台", "type": "boolean" }, "prefix": { + "description": "日志前缀", "type": "string" }, "showLine": { + "description": "显示行", "type": "boolean" }, "stacktraceKey": { + "description": "栈名", "type": "string" } } @@ -3427,15 +3163,19 @@ "type": "object", "properties": { "abbreviation": { + "description": "Struct简称", "type": "string" }, "autoCreateApiToSql": { + "description": "是否自动创建api", "type": "boolean" }, "autoMoveFile": { + "description": "是否自动移动文件", "type": "boolean" }, "description": { + "description": "Struct中文名称", "type": "string" }, "fields": { @@ -3445,12 +3185,15 @@ } }, "packageName": { + "description": "文件名称", "type": "string" }, "structName": { + "description": "Struct名称", "type": "string" }, "tableName": { + "description": "表名", "type": "string" } } @@ -3459,28 +3202,35 @@ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "customerName": { + "description": "客户名", "type": "string" }, "customerPhoneData": { + "description": "客户手机号", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "sysUser": { - "type": "object", + "description": "管理详情", "$ref": "#/definitions/model.SysUser" }, "sysUserAuthorityID": { + "description": "管理角色ID", "type": "string" }, "sysUserId": { + "description": "管理ID", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3489,24 +3239,31 @@ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "key": { + "description": "编号", "type": "string" }, "name": { + "description": "文件名", "type": "string" }, "tag": { + "description": "文件标签", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "url": { + "description": "文件地址", "type": "string" } } @@ -3515,6 +3272,7 @@ "type": "object", "properties": { "fileName": { + "description": "文件名", "type": "string" }, "infoList": { @@ -3529,33 +3287,43 @@ "type": "object", "properties": { "columnName": { + "description": "数据库字段", "type": "string" }, "comment": { + "description": "数据库字段描述", "type": "string" }, "dataType": { + "description": "数据库字段类型", "type": "string" }, "dataTypeLong": { + "description": "数据库字段长度", "type": "string" }, "dictType": { + "description": "字典", "type": "string" }, "fieldDesc": { + "description": "中文名", "type": "string" }, "fieldJson": { + "description": "FieldJson", "type": "string" }, "fieldName": { + "description": "Field名", "type": "string" }, "fieldSearchType": { + "description": "搜索条件", "type": "string" }, "fieldType": { + "description": "Field数据类型", "type": "string" } } @@ -3564,24 +3332,31 @@ "type": "object", "properties": { "apiGroup": { + "description": "api组", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "description": { + "description": "api中文描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "method": { + "description": "方法:创建POST(默认)|查看GET|更新PUT|删除DELETE", "type": "string" }, "path": { + "description": "api路径", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3590,9 +3365,11 @@ "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" }, "authorityName": { + "description": "角色名", "type": "string" }, "children": { @@ -3611,6 +3388,7 @@ } }, "defaultRouter": { + "description": "默认菜单(默认dashboard)", "type": "string" }, "deletedAt": { @@ -3623,6 +3401,7 @@ } }, "parentId": { + "description": "父角色ID", "type": "string" }, "updatedAt": { @@ -3646,30 +3425,39 @@ } }, "closeTab": { + "description": "自动关闭tab", "type": "boolean" }, "component": { + "description": "对应前端文件路径", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "defaultMenu": { + "description": "是否是基础路由(开发中)", "type": "boolean" }, "hidden": { + "description": "是否在列表隐藏", "type": "boolean" }, "icon": { + "description": "菜单图标", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "keepAlive": { + "description": "是否缓存", "type": "boolean" }, "name": { + "description": "路由name", "type": "string" }, "parameters": { @@ -3679,18 +3467,23 @@ } }, "parentId": { + "description": "父菜单ID", "type": "string" }, "path": { + "description": "路由path", "type": "string" }, "sort": { + "description": "排序标记", "type": "integer" }, "title": { + "description": "菜单名", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3699,24 +3492,30 @@ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "key": { + "description": "地址栏携带参数的key", "type": "string" }, "sysBaseMenuID": { "type": "integer" }, "type": { + "description": "地址栏携带参数为params还是query", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "value": { + "description": "地址栏携带参数的值", "type": "string" } } @@ -3725,18 +3524,23 @@ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "desc": { + "description": "描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "name": { + "description": "字典名(中)", "type": "string" }, "status": { + "description": "状态", "type": "boolean" }, "sysDictionaryDetails": { @@ -3746,9 +3550,11 @@ } }, "type": { + "description": "字典名(英)", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -3757,27 +3563,35 @@ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "label": { + "description": "展示值", "type": "string" }, "sort": { + "description": "排序标记", "type": "integer" }, "status": { + "description": "启用状态", "type": "boolean" }, "sysDictionaryID": { + "description": "关联标记", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "value": { + "description": "字典值", "type": "integer" } } @@ -3786,46 +3600,58 @@ "type": "object", "properties": { "agent": { + "description": "代理", "type": "string" }, "body": { + "description": "请求Body", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "error_message": { + "description": "错误信息", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "ip": { + "description": "请求ip", "type": "string" }, "latency": { + "description": "延迟", "type": "string" }, "method": { + "description": "请求方法", "type": "string" }, "path": { + "description": "请求路径", "type": "string" }, "resp": { + "description": "响应Body", "type": "string" }, "status": { + "description": "请求状态", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "user": { - "type": "object", "$ref": "#/definitions/model.SysUser" }, "user_id": { + "description": "用户id", "type": "integer" } } @@ -3834,31 +3660,38 @@ "type": "object", "properties": { "authority": { - "type": "object", "$ref": "#/definitions/model.SysAuthority" }, "authorityId": { + "description": "用户角色ID", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "headerImg": { + "description": "用户头像", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "nickName": { + "description": "用户昵称\"", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "userName": { + "description": "用户登录名", "type": "string" }, "uuid": { + "description": "用户UUID", "type": "string" } } @@ -3867,253 +3700,15 @@ "type": "object", "properties": { "config": { - "type": "object", "$ref": "#/definitions/config.Server" } } }, - "model.WorkflowEdge": { - "type": "object", - "properties": { - "clazz": { - "type": "string" - }, - "conditionExpression": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "endPoint": { - "description": "终点信息", - "type": "object", - "$ref": "#/definitions/model.WorkflowEndPoint" - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "reverse": { - "type": "boolean" - }, - "seq": { - "type": "string" - }, - "shape": { - "type": "string" - }, - "source": { - "type": "string" - }, - "sourceAnchor": { - "type": "integer" - }, - "startPoint": { - "description": "起点信息", - "type": "object", - "$ref": "#/definitions/model.WorkflowStartPoint" - }, - "target": { - "type": "string" - }, - "targetAnchor": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - } - } - }, - "model.WorkflowEndPoint": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "index": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "workflowEdgeID": { - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - }, - "model.WorkflowNode": { - "type": "object", - "properties": { - "assignType": { - "type": "string" - }, - "assignValue": { - "type": "string" - }, - "clazz": { - "type": "string" - }, - "content": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "cycle": { - "type": "string" - }, - "description": { - "type": "string" - }, - "dueDate": { - "type": "string" - }, - "duration": { - "type": "string" - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "shape": { - "type": "string" - }, - "stateValue": { - "type": "string" - }, - "subject": { - "type": "string" - }, - "success": { - "type": "boolean" - }, - "to": { - "type": "string" - }, - "type": { - "type": "string" - }, - "updatedAt": { - "type": "string" - }, - "view": { - "type": "string" - }, - "waitState": { - "type": "string" - }, - "workflowProcessID": { - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - }, - "model.WorkflowProcess": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "clazz": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "edges": { - "description": "流程链接数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowEdge" - } - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "nodes": { - "description": "流程节点数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowNode" - } - }, - "updatedAt": { - "type": "string" - }, - "view": { - "type": "string" - } - } - }, - "model.WorkflowStartPoint": { - "type": "object", - "properties": { - "createdAt": { - "type": "string" - }, - "id": { - "type": "integer" - }, - "index": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "workflowEdgeID": { - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - } - }, "request.AddMenuAuthorityInfo": { "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" }, "menus": { @@ -4128,6 +3723,7 @@ "type": "object", "properties": { "authorityId": { + "description": "权限id", "type": "string" }, "casbinInfos": { @@ -4142,9 +3738,11 @@ "type": "object", "properties": { "method": { + "description": "方法", "type": "string" }, "path": { + "description": "路径", "type": "string" } } @@ -4153,12 +3751,15 @@ "type": "object", "properties": { "newPassword": { + "description": "新密码", "type": "string" }, "password": { + "description": "密码", "type": "string" }, "username": { + "description": "用户名", "type": "string" } } @@ -4170,6 +3771,7 @@ "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" } } @@ -4178,6 +3780,7 @@ "type": "object", "properties": { "id": { + "description": "主键ID", "type": "number" } } @@ -4201,18 +3804,23 @@ ], "properties": { "dbName": { + "description": "数据库名", "type": "string" }, "host": { + "description": "服务器地址", "type": "string" }, "password": { + "description": "数据库密码", "type": "string" }, "port": { + "description": "数据库连接端口", "type": "string" }, "userName": { + "description": "数据库用户名", "type": "string" } } @@ -4221,15 +3829,19 @@ "type": "object", "properties": { "captcha": { + "description": "验证码", "type": "string" }, "captchaId": { + "description": "验证码ID", "type": "string" }, "password": { + "description": "密码", "type": "string" }, "username": { + "description": "用户名", "type": "string" } } @@ -4238,9 +3850,11 @@ "type": "object", "properties": { "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" } } @@ -4249,36 +3863,47 @@ "type": "object", "properties": { "apiGroup": { + "description": "api组", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "desc": { + "description": "排序方式:升序false(默认)|降序true", "type": "boolean" }, "description": { + "description": "api中文描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "method": { + "description": "方法:创建POST(默认)|查看GET|更新PUT|删除DELETE", "type": "string" }, "orderKey": { + "description": "排序", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "path": { + "description": "api路径", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -4287,9 +3912,11 @@ "type": "object", "properties": { "authorityId": { + "description": "角色ID", "type": "string" }, "uuid": { + "description": "用户UUID", "type": "string" } } @@ -4298,33 +3925,43 @@ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "label": { + "description": "展示值", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "sort": { + "description": "排序标记", "type": "integer" }, "status": { + "description": "启用状态", "type": "boolean" }, "sysDictionaryID": { + "description": "关联标记", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "value": { + "description": "字典值", "type": "integer" } } @@ -4333,24 +3970,31 @@ "type": "object", "properties": { "createdAt": { + "description": "创建时间", "type": "string" }, "desc": { + "description": "描述", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "name": { + "description": "字典名(中)", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "status": { + "description": "状态", "type": "boolean" }, "sysDictionaryDetails": { @@ -4360,9 +4004,11 @@ } }, "type": { + "description": "字典名(英)", "type": "string" }, "updatedAt": { + "description": "更新时间", "type": "string" } } @@ -4371,116 +4017,74 @@ "type": "object", "properties": { "agent": { + "description": "代理", "type": "string" }, "body": { + "description": "请求Body", "type": "string" }, "createdAt": { + "description": "创建时间", "type": "string" }, "error_message": { + "description": "错误信息", "type": "string" }, "id": { + "description": "主键ID", "type": "integer" }, "ip": { + "description": "请求ip", "type": "string" }, "latency": { + "description": "延迟", "type": "string" }, "method": { + "description": "请求方法", "type": "string" }, "page": { + "description": "页码", "type": "integer" }, "pageSize": { + "description": "每页大小", "type": "integer" }, "path": { + "description": "请求路径", "type": "string" }, "resp": { + "description": "响应Body", "type": "string" }, "status": { + "description": "请求状态", "type": "integer" }, "updatedAt": { + "description": "更新时间", "type": "string" }, "user": { - "type": "object", "$ref": "#/definitions/model.SysUser" }, "user_id": { + "description": "用户id", "type": "integer" } } }, - "request.WorkflowProcessSearch": { - "type": "object", - "properties": { - "category": { - "type": "string" - }, - "clazz": { - "type": "string" - }, - "createdAt": { - "type": "string" - }, - "description": { - "type": "string" - }, - "edges": { - "description": "流程链接数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowEdge" - } - }, - "hideIcon": { - "type": "boolean" - }, - "id": { - "type": "string" - }, - "label": { - "type": "string" - }, - "name": { - "type": "string" - }, - "nodes": { - "description": "流程节点数据", - "type": "array", - "items": { - "$ref": "#/definitions/model.WorkflowNode" - } - }, - "page": { - "type": "integer" - }, - "pageSize": { - "type": "integer" - }, - "updatedAt": { - "type": "string" - }, - "view": { - "type": "string" - } - } - }, "response.SysAuthorityCopyResponse": { "type": "object", "properties": { "authority": { - "type": "object", "$ref": "#/definitions/model.SysAuthority" }, "oldAuthorityId": { diff --git a/server/docs/swagger.yaml b/server/docs/swagger.yaml index 03318a514..325899ca0 100644 --- a/server/docs/swagger.yaml +++ b/server/docs/swagger.yaml @@ -13,35 +13,84 @@ definitions: endpoint: type: string type: object + config.Autocode: + properties: + root: + type: string + server: + type: string + serverApi: + type: string + serverInitialize: + type: string + serverModel: + type: string + serverRequest: + type: string + serverRouter: + type: string + serverService: + type: string + web: + type: string + webApi: + type: string + webFlow: + type: string + webForm: + type: string + webTable: + type: string + type: object config.Captcha: properties: imgHeight: + description: 图片高度 type: integer imgWidth: + description: 图片宽度 type: integer keyLong: + description: 验证码长度 type: integer type: object config.Casbin: properties: modelPath: + description: Model路径 + type: string + type: object + config.Detail: + properties: + compareField: + type: string + interval: + type: string + tableName: type: string type: object config.Email: properties: from: + description: 收件人 type: string host: + description: 服务器地址 type: string isSSL: + description: 是否SSL type: boolean nickname: + description: 昵称 type: string port: + description: 端口 type: integer secret: + description: 密钥 type: string to: + description: 收件人 type: string type: object config.Excel: @@ -52,15 +101,19 @@ definitions: config.JWT: properties: bufferTime: + description: 缓冲时间 type: integer expiresTime: + description: 过期时间 type: integer signingKey: + description: jwt签名 type: string type: object config.Local: properties: path: + description: 本地文件路径 type: string type: object config.Mysql: @@ -68,6 +121,7 @@ definitions: config: type: string dbname: + description: 数据库名 type: string logMode: type: boolean @@ -78,93 +132,102 @@ definitions: maxOpenConns: type: integer password: + description: 数据库密码 type: string path: + description: 服务器地址:端口 type: string username: + description: 数据库用户名 type: string type: object config.Qiniu: properties: accessKey: + description: accessKey type: string bucket: + description: 空间名称 type: string imgPath: + description: CDN加速域名 type: string secretKey: + description: secretKey type: string useCdnDomains: + description: 上传是否使用CDN上传加速 type: boolean useHttps: + description: 是否使用https type: boolean zone: + description: 存储区域 type: string type: object config.Redis: properties: addr: + description: 服务器地址:端口 type: string db: type: integer password: + description: 密码 type: string type: object config.Server: properties: aliyunOSS: $ref: '#/definitions/config.AliyunOSS' - type: object + autoCode: + $ref: '#/definitions/config.Autocode' + description: auto captcha: $ref: '#/definitions/config.Captcha' - type: object casbin: $ref: '#/definitions/config.Casbin' - type: object email: $ref: '#/definitions/config.Email' - type: object excel: $ref: '#/definitions/config.Excel' - type: object jwt: $ref: '#/definitions/config.JWT' - type: object local: $ref: '#/definitions/config.Local' description: oss - type: object mysql: $ref: '#/definitions/config.Mysql' description: gorm - type: object qiniu: $ref: '#/definitions/config.Qiniu' - type: object redis: $ref: '#/definitions/config.Redis' - type: object system: $ref: '#/definitions/config.System' - type: object tencentCOS: $ref: '#/definitions/config.TencentCOS' - type: object + timer: + $ref: '#/definitions/config.Timer' zap: $ref: '#/definitions/config.Zap' - type: object type: object config.System: properties: addr: + description: 端口值 type: integer dbType: + description: 数据库类型:mysql(默认)|sqlite|sqlserver|postgresql type: string env: + description: 环境值 type: string ossType: + description: Oss类型 type: string useMultipoint: + description: 多点登录拦截 type: boolean type: object config.TencentCOS: @@ -182,88 +245,130 @@ definitions: secretKey: type: string type: object + config.Timer: + properties: + detail: + items: + $ref: '#/definitions/config.Detail' + type: array + spec: + type: string + start: + type: boolean + type: object config.Zap: properties: director: + description: 日志文件夹 type: string encodeLevel: + description: 编码级 type: string format: + description: 输出 type: string level: + description: 级别 type: string linkName: + description: 软链接名称 type: string logInConsole: + description: 输出控制台 type: boolean prefix: + description: 日志前缀 type: string showLine: + description: 显示行 type: boolean stacktraceKey: + description: 栈名 type: string type: object model.AutoCodeStruct: properties: abbreviation: + description: Struct简称 type: string autoCreateApiToSql: + description: 是否自动创建api type: boolean autoMoveFile: + description: 是否自动移动文件 type: boolean description: + description: Struct中文名称 type: string fields: items: $ref: '#/definitions/model.Field' type: array packageName: + description: 文件名称 type: string structName: + description: Struct名称 type: string tableName: + description: 表名 type: string type: object model.ExaCustomer: properties: createdAt: + description: 创建时间 type: string customerName: + description: 客户名 type: string customerPhoneData: + description: 客户手机号 type: string id: + description: 主键ID type: integer sysUser: $ref: '#/definitions/model.SysUser' - type: object + description: 管理详情 sysUserAuthorityID: + description: 管理角色ID type: string sysUserId: + description: 管理ID type: integer updatedAt: + description: 更新时间 type: string type: object model.ExaFileUploadAndDownload: properties: createdAt: + description: 创建时间 type: string id: + description: 主键ID type: integer key: + description: 编号 type: string name: + description: 文件名 type: string tag: + description: 文件标签 type: string updatedAt: + description: 更新时间 type: string url: + description: 文件地址 type: string type: object model.ExcelInfo: properties: fileName: + description: 文件名 type: string infoList: items: @@ -273,48 +378,67 @@ definitions: model.Field: properties: columnName: + description: 数据库字段 type: string comment: + description: 数据库字段描述 type: string dataType: + description: 数据库字段类型 type: string dataTypeLong: + description: 数据库字段长度 type: string dictType: + description: 字典 type: string fieldDesc: + description: 中文名 type: string fieldJson: + description: FieldJson type: string fieldName: + description: Field名 type: string fieldSearchType: + description: 搜索条件 type: string fieldType: + description: Field数据类型 type: string type: object model.SysApi: properties: apiGroup: + description: api组 type: string createdAt: + description: 创建时间 type: string description: + description: api中文描述 type: string id: + description: 主键ID type: integer method: + description: 方法:创建POST(默认)|查看GET|更新PUT|删除DELETE type: string path: + description: api路径 type: string updatedAt: + description: 更新时间 type: string type: object model.SysAuthority: properties: authorityId: + description: 角色ID type: string authorityName: + description: 角色名 type: string children: items: @@ -327,6 +451,7 @@ definitions: $ref: '#/definitions/model.SysAuthority' type: array defaultRouter: + description: 默认菜单(默认dashboard) type: string deletedAt: type: string @@ -335,6 +460,7 @@ definitions: $ref: '#/definitions/model.SysBaseMenu' type: array parentId: + description: 父角色ID type: string updatedAt: type: string @@ -350,317 +476,212 @@ definitions: $ref: '#/definitions/model.SysBaseMenu' type: array closeTab: + description: 自动关闭tab type: boolean component: + description: 对应前端文件路径 type: string createdAt: + description: 创建时间 type: string defaultMenu: + description: 是否是基础路由(开发中) type: boolean hidden: + description: 是否在列表隐藏 type: boolean icon: + description: 菜单图标 type: string id: + description: 主键ID type: integer keepAlive: + description: 是否缓存 type: boolean name: + description: 路由name type: string parameters: items: $ref: '#/definitions/model.SysBaseMenuParameter' type: array parentId: + description: 父菜单ID type: string path: + description: 路由path type: string sort: + description: 排序标记 type: integer title: + description: 菜单名 type: string updatedAt: + description: 更新时间 type: string type: object model.SysBaseMenuParameter: properties: createdAt: + description: 创建时间 type: string id: + description: 主键ID type: integer key: + description: 地址栏携带参数的key type: string sysBaseMenuID: type: integer type: + description: 地址栏携带参数为params还是query type: string updatedAt: + description: 更新时间 type: string value: + description: 地址栏携带参数的值 type: string type: object model.SysDictionary: properties: createdAt: + description: 创建时间 type: string desc: + description: 描述 type: string id: + description: 主键ID type: integer name: + description: 字典名(中) type: string status: + description: 状态 type: boolean sysDictionaryDetails: items: $ref: '#/definitions/model.SysDictionaryDetail' type: array type: + description: 字典名(英) type: string updatedAt: + description: 更新时间 type: string type: object model.SysDictionaryDetail: properties: createdAt: + description: 创建时间 type: string id: + description: 主键ID type: integer label: + description: 展示值 type: string sort: + description: 排序标记 type: integer status: + description: 启用状态 type: boolean sysDictionaryID: + description: 关联标记 type: integer updatedAt: + description: 更新时间 type: string value: + description: 字典值 type: integer type: object model.SysOperationRecord: properties: agent: + description: 代理 type: string body: + description: 请求Body type: string createdAt: + description: 创建时间 type: string error_message: + description: 错误信息 type: string id: + description: 主键ID type: integer ip: + description: 请求ip type: string latency: + description: 延迟 type: string method: + description: 请求方法 type: string path: + description: 请求路径 type: string resp: + description: 响应Body type: string status: + description: 请求状态 type: integer updatedAt: + description: 更新时间 type: string user: $ref: '#/definitions/model.SysUser' - type: object user_id: + description: 用户id type: integer type: object model.SysUser: properties: authority: $ref: '#/definitions/model.SysAuthority' - type: object authorityId: + description: 用户角色ID type: string createdAt: + description: 创建时间 type: string headerImg: + description: 用户头像 type: string id: + description: 主键ID type: integer nickName: + description: 用户昵称" type: string updatedAt: + description: 更新时间 type: string userName: + description: 用户登录名 type: string uuid: + description: 用户UUID type: string type: object model.System: properties: config: $ref: '#/definitions/config.Server' - type: object - type: object - model.WorkflowEdge: - properties: - clazz: - type: string - conditionExpression: - type: string - createdAt: - type: string - description: - type: string - endPoint: - $ref: '#/definitions/model.WorkflowEndPoint' - description: 终点信息 - type: object - hideIcon: - type: boolean - id: - type: string - label: - type: string - reverse: - type: boolean - seq: - type: string - shape: - type: string - source: - type: string - sourceAnchor: - type: integer - startPoint: - $ref: '#/definitions/model.WorkflowStartPoint' - description: 起点信息 - type: object - target: - type: string - targetAnchor: - type: integer - updatedAt: - type: string - type: object - model.WorkflowEndPoint: - properties: - createdAt: - type: string - id: - type: integer - index: - type: integer - updatedAt: - type: string - workflowEdgeID: - type: string - x: - type: number - "y": - type: number - type: object - model.WorkflowNode: - properties: - assignType: - type: string - assignValue: - type: string - clazz: - type: string - content: - type: string - createdAt: - type: string - cycle: - type: string - description: - type: string - dueDate: - type: string - duration: - type: string - hideIcon: - type: boolean - id: - type: string - label: - type: string - shape: - type: string - stateValue: - type: string - subject: - type: string - success: - type: boolean - to: - type: string - type: - type: string - updatedAt: - type: string - view: - type: string - waitState: - type: string - workflowProcessID: - type: string - x: - type: number - "y": - type: number - type: object - model.WorkflowProcess: - properties: - category: - type: string - clazz: - type: string - createdAt: - type: string - description: - type: string - edges: - description: 流程链接数据 - items: - $ref: '#/definitions/model.WorkflowEdge' - type: array - hideIcon: - type: boolean - id: - type: string - label: - type: string - name: - type: string - nodes: - description: 流程节点数据 - items: - $ref: '#/definitions/model.WorkflowNode' - type: array - updatedAt: - type: string - view: - type: string - type: object - model.WorkflowStartPoint: - properties: - createdAt: - type: string - id: - type: integer - index: - type: integer - updatedAt: - type: string - workflowEdgeID: - type: string - x: - type: number - "y": - type: number type: object request.AddMenuAuthorityInfo: properties: authorityId: + description: 角色ID type: string menus: items: @@ -670,6 +691,7 @@ definitions: request.CasbinInReceive: properties: authorityId: + description: 权限id type: string casbinInfos: items: @@ -679,17 +701,22 @@ definitions: request.CasbinInfo: properties: method: + description: 方法 type: string path: + description: 路径 type: string type: object request.ChangePasswordStruct: properties: newPassword: + description: 新密码 type: string password: + description: 密码 type: string username: + description: 用户名 type: string type: object request.Empty: @@ -697,11 +724,13 @@ definitions: request.GetAuthorityId: properties: authorityId: + description: 角色ID type: string type: object request.GetById: properties: id: + description: 主键ID type: number type: object request.IdsReq: @@ -714,14 +743,19 @@ definitions: request.InitDB: properties: dbName: + description: 数据库名 type: string host: + description: 服务器地址 type: string password: + description: 数据库密码 type: string port: + description: 数据库连接端口 type: string userName: + description: 数据库用户名 type: string required: - dbName @@ -730,186 +764,199 @@ definitions: request.Login: properties: captcha: + description: 验证码 type: string captchaId: + description: 验证码ID type: string password: + description: 密码 type: string username: + description: 用户名 type: string type: object request.PageInfo: properties: page: + description: 页码 type: integer pageSize: + description: 每页大小 type: integer type: object request.SearchApiParams: properties: apiGroup: + description: api组 type: string createdAt: + description: 创建时间 type: string desc: + description: 排序方式:升序false(默认)|降序true type: boolean description: + description: api中文描述 type: string id: + description: 主键ID type: integer method: + description: 方法:创建POST(默认)|查看GET|更新PUT|删除DELETE type: string orderKey: + description: 排序 type: string page: + description: 页码 type: integer pageSize: + description: 每页大小 type: integer path: + description: api路径 type: string updatedAt: + description: 更新时间 type: string type: object request.SetUserAuth: properties: authorityId: + description: 角色ID type: string uuid: + description: 用户UUID type: string type: object request.SysDictionaryDetailSearch: properties: createdAt: + description: 创建时间 type: string id: + description: 主键ID type: integer label: + description: 展示值 type: string page: + description: 页码 type: integer pageSize: + description: 每页大小 type: integer sort: + description: 排序标记 type: integer status: + description: 启用状态 type: boolean sysDictionaryID: + description: 关联标记 type: integer updatedAt: + description: 更新时间 type: string value: + description: 字典值 type: integer type: object request.SysDictionarySearch: properties: createdAt: + description: 创建时间 type: string desc: + description: 描述 type: string id: + description: 主键ID type: integer name: + description: 字典名(中) type: string page: + description: 页码 type: integer pageSize: + description: 每页大小 type: integer status: + description: 状态 type: boolean sysDictionaryDetails: items: $ref: '#/definitions/model.SysDictionaryDetail' type: array type: + description: 字典名(英) type: string updatedAt: + description: 更新时间 type: string type: object request.SysOperationRecordSearch: properties: agent: + description: 代理 type: string body: + description: 请求Body type: string createdAt: + description: 创建时间 type: string error_message: + description: 错误信息 type: string id: + description: 主键ID type: integer ip: + description: 请求ip type: string latency: + description: 延迟 type: string method: + description: 请求方法 type: string page: + description: 页码 type: integer pageSize: + description: 每页大小 type: integer path: + description: 请求路径 type: string resp: + description: 响应Body type: string status: + description: 请求状态 type: integer updatedAt: + description: 更新时间 type: string user: $ref: '#/definitions/model.SysUser' - type: object user_id: + description: 用户id type: integer type: object - request.WorkflowProcessSearch: - properties: - category: - type: string - clazz: - type: string - createdAt: - type: string - description: - type: string - edges: - description: 流程链接数据 - items: - $ref: '#/definitions/model.WorkflowEdge' - type: array - hideIcon: - type: boolean - id: - type: string - label: - type: string - name: - type: string - nodes: - description: 流程节点数据 - items: - $ref: '#/definitions/model.WorkflowNode' - type: array - page: - type: integer - pageSize: - type: integer - updatedAt: - type: string - view: - type: string - type: object response.SysAuthorityCopyResponse: properties: authority: $ref: '#/definitions/model.SysAuthority' - type: object oldAuthorityId: type: string type: object info: contact: {} description: This is a sample Server pets - license: {} title: Swagger Example API version: 0.0.1 paths: @@ -959,6 +1006,29 @@ paths: summary: 删除api tags: - SysApi + /api/deleteApisByIds: + delete: + consumes: + - application/json + parameters: + - description: ID + in: body + name: data + required: true + schema: + $ref: '#/definitions/request.IdsReq' + produces: + - application/json + responses: + "200": + description: '{"success":true,"data":{},"msg":"删除成功"}' + schema: + type: string + security: + - ApiKeyAuth: [] + summary: 删除选中Api + tags: + - SysApi /api/getAllApis: post: consumes: @@ -2544,254 +2614,6 @@ paths: summary: 设置用户信息 tags: - SysUser - /workflowProcess/completeWorkflowMove: - post: - consumes: - - application/json - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"获取成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 提交工作流 - tags: - - WorkflowProcess - /workflowProcess/createWorkflowProcess: - post: - consumes: - - application/json - parameters: - - description: 创建WorkflowProcess - in: body - name: data - required: true - schema: - $ref: '#/definitions/model.WorkflowProcess' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"获取成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 创建WorkflowProcess - tags: - - WorkflowProcess - /workflowProcess/deleteWorkflowProcess: - delete: - consumes: - - application/json - parameters: - - description: 删除WorkflowProcess - in: body - name: data - required: true - schema: - $ref: '#/definitions/model.WorkflowProcess' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"删除成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 删除WorkflowProcess - tags: - - WorkflowProcess - /workflowProcess/deleteWorkflowProcessByIds: - delete: - consumes: - - application/json - parameters: - - description: 批量删除WorkflowProcess - in: body - name: data - required: true - schema: - $ref: '#/definitions/request.IdsReq' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"删除成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 批量删除WorkflowProcess - tags: - - WorkflowProcess - /workflowProcess/findWorkflowProcess: - get: - consumes: - - application/json - parameters: - - description: 用id查询WorkflowProcess - in: body - name: data - required: true - schema: - $ref: '#/definitions/model.WorkflowProcess' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"查询成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 用id查询WorkflowProcess - tags: - - WorkflowProcess - /workflowProcess/findWorkflowStep: - get: - consumes: - - application/json - parameters: - - description: 用id查询WorkflowProcess - in: body - name: data - required: true - schema: - $ref: '#/definitions/model.WorkflowProcess' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"查询成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 用id查询工作流步骤 - tags: - - WorkflowProcess - /workflowProcess/getMyNeed: - get: - consumes: - - application/json - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"获取成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 我的待办 - tags: - - WorkflowProcess - /workflowProcess/getMyStated: - get: - consumes: - - application/json - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"获取成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 我发起的工作流 - tags: - - WorkflowProcess - /workflowProcess/getWorkflowMoveByID: - get: - consumes: - - application/json - parameters: - - description: 根据id获取当前节点详情和过往 - in: body - name: data - required: true - schema: - $ref: '#/definitions/request.GetById' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"获取成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 根据id获取当前节点详情和历史 - tags: - - WorkflowProcess - /workflowProcess/getWorkflowProcessList: - get: - consumes: - - application/json - parameters: - - description: 分页获取WorkflowProcess列表 - in: body - name: data - required: true - schema: - $ref: '#/definitions/request.WorkflowProcessSearch' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"获取成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 分页获取WorkflowProcess列表 - tags: - - WorkflowProcess - /workflowProcess/startWorkflow: - post: - consumes: - - application/json - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"获取成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 开启工作流 - tags: - - WorkflowProcess - /workflowProcess/updateWorkflowProcess: - put: - consumes: - - application/json - parameters: - - description: 更新WorkflowProcess - in: body - name: data - required: true - schema: - $ref: '#/definitions/model.WorkflowProcess' - produces: - - application/json - responses: - "200": - description: '{"success":true,"data":{},"msg":"更新成功"}' - schema: - type: string - security: - - ApiKeyAuth: [] - summary: 更新WorkflowProcess - tags: - - WorkflowProcess securityDefinitions: ApiKeyAuth: in: header diff --git a/server/global/global.go b/server/global/global.go index 3d01031a5..43577a4c1 100644 --- a/server/global/global.go +++ b/server/global/global.go @@ -1,9 +1,12 @@ package global import ( + "gin-vue-admin/utils/timer" + "go.uber.org/zap" "gin-vue-admin/config" + "github.com/go-redis/redis" "github.com/spf13/viper" "gorm.io/gorm" @@ -15,5 +18,6 @@ var ( GVA_CONFIG config.Server GVA_VP *viper.Viper //GVA_LOG *oplogging.Logger - GVA_LOG *zap.Logger + GVA_LOG *zap.Logger + GVA_Timer timer.Timer = timer.NewTimerTask() ) diff --git a/server/global/model.go b/server/global/model.go index 06541f2fb..2e2bb706b 100644 --- a/server/global/model.go +++ b/server/global/model.go @@ -6,8 +6,8 @@ import ( ) type GVA_MODEL struct { - ID uint `gorm:"primarykey"` - CreatedAt time.Time - UpdatedAt time.Time - DeletedAt gorm.DeletedAt `gorm:"index" json:"-"` + ID uint `gorm:"primarykey"` // 主键ID + CreatedAt time.Time // 创建时间 + UpdatedAt time.Time // 更新时间 + DeletedAt gorm.DeletedAt `gorm:"index" json:"-"` // 删除时间 } diff --git a/server/go.mod b/server/go.mod index 0521af28d..231eed658 100644 --- a/server/go.mod +++ b/server/go.mod @@ -8,7 +8,6 @@ require ( github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751 github.com/aliyun/aliyun-oss-go-sdk v2.1.6+incompatible github.com/baiyubin/aliyun-sts-go-sdk v0.0.0-20180326062324-cfa1a18b161f // indirect - github.com/casbin/casbin v1.9.1 github.com/casbin/casbin/v2 v2.11.0 github.com/casbin/gorm-adapter/v3 v3.0.2 github.com/dgrijalva/jwt-go v3.2.0+incompatible @@ -30,7 +29,6 @@ require ( github.com/lestrrat-go/file-rotatelogs v2.3.0+incompatible github.com/lestrrat-go/strftime v1.0.3 // indirect github.com/mailru/easyjson v0.7.1 // indirect - github.com/mitchellh/go-homedir v1.1.0 github.com/mitchellh/mapstructure v1.2.2 // indirect github.com/mojocn/base64Captcha v1.3.1 github.com/onsi/ginkgo v1.7.0 // indirect @@ -38,12 +36,13 @@ require ( github.com/pelletier/go-toml v1.6.0 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/qiniu/api.v7/v7 v7.4.1 + github.com/robfig/cron/v3 v3.0.1 github.com/satori/go.uuid v1.2.0 github.com/shirou/gopsutil v3.21.1+incompatible github.com/spf13/afero v1.2.2 // indirect github.com/spf13/cast v1.3.1 // indirect - github.com/spf13/cobra v1.1.1 github.com/spf13/jwalterweatherman v1.1.0 // indirect + github.com/spf13/pflag v1.0.5 // indirect github.com/spf13/viper v1.7.0 github.com/swaggo/gin-swagger v1.2.0 github.com/swaggo/swag v1.6.7 @@ -51,13 +50,11 @@ require ( github.com/tencentyun/cos-go-sdk-v5 v0.7.19 github.com/unrolled/secure v1.0.7 go.uber.org/zap v1.10.0 - golang.org/x/net v0.0.0-20201224014010-6772e930b67b // indirect + golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2 // indirect golang.org/x/tools v0.0.0-20200324003944-a576cf524670 // indirect google.golang.org/protobuf v1.24.0 // indirect gopkg.in/ini.v1 v1.55.0 // indirect gopkg.in/yaml.v2 v2.3.0 // indirect - gorm.io/driver/mysql v0.3.0 - gorm.io/gorm v1.20.9 + gorm.io/driver/mysql v1.0.1 + gorm.io/gorm v1.20.7 ) - -replace github.com/casbin/gorm-adapter/v3 => github.com/casbin/gorm-adapter/v3 v3.0.2 diff --git a/server/initialize/redis.go b/server/initialize/redis.go index f5fbaaf32..f9571ddfa 100644 --- a/server/initialize/redis.go +++ b/server/initialize/redis.go @@ -17,7 +17,7 @@ func Redis() { if err != nil { global.GVA_LOG.Error("redis connect ping failed, err:", zap.Any("err", err)) } else { - global.GVA_LOG.Info("redis connect ping response:", zap.String("pong",pong)) + global.GVA_LOG.Info("redis connect ping response:", zap.String("pong", pong)) global.GVA_REDIS = client } } diff --git a/server/initialize/timer.go b/server/initialize/timer.go new file mode 100644 index 000000000..6fa279137 --- /dev/null +++ b/server/initialize/timer.go @@ -0,0 +1,24 @@ +package initialize + +import ( + "fmt" + "gin-vue-admin/config" + "gin-vue-admin/global" + "gin-vue-admin/utils" +) + +func Timer() { + if global.GVA_CONFIG.Timer.Start { + for _, detail := range global.GVA_CONFIG.Timer.Detail { + fmt.Println(detail) + go func(detail config.Detail) { + global.GVA_Timer.AddTaskByFunc("ClearDB", global.GVA_CONFIG.Timer.Spec, func() { + err := utils.ClearTable(global.GVA_DB, detail.TableName, detail.CompareField, detail.Interval) + if err != nil { + fmt.Println("timer error:", err) + } + }) + }(detail) + } + } +} diff --git a/server/main.go b/server/main.go index c772d3276..ee9080f1b 100644 --- a/server/main.go +++ b/server/main.go @@ -17,6 +17,7 @@ func main() { global.GVA_VP = core.Viper() // 初始化Viper global.GVA_LOG = core.Zap() // 初始化zap日志库 global.GVA_DB = initialize.Gorm() // gorm连接数据库 + initialize.Timer() if global.GVA_DB != nil { initialize.MysqlTables(global.GVA_DB) // 初始化表 // 程序结束前关闭数据库链接 diff --git a/server/model/exa_customer.go b/server/model/exa_customer.go index e4ea0ddf9..066032c51 100644 --- a/server/model/exa_customer.go +++ b/server/model/exa_customer.go @@ -6,9 +6,9 @@ import ( type ExaCustomer struct { global.GVA_MODEL - CustomerName string `json:"customerName" form:"customerName" gorm:"comment:客户名"` - CustomerPhoneData string `json:"customerPhoneData" form:"customerPhoneData" gorm:"comment:客户手机号"` - SysUserID uint `json:"sysUserId" form:"sysUserId" gorm:"comment:管理ID"` - SysUserAuthorityID string `json:"sysUserAuthorityID" form:"sysUserAuthorityID" gorm:"comment:管理角色ID"` - SysUser SysUser `json:"sysUser" form:"sysUser" gorm:"comment:管理详情"` + CustomerName string `json:"customerName" form:"customerName" gorm:"comment:客户名"` // 客户名 + CustomerPhoneData string `json:"customerPhoneData" form:"customerPhoneData" gorm:"comment:客户手机号"` // 客户手机号 + SysUserID uint `json:"sysUserId" form:"sysUserId" gorm:"comment:管理ID"` // 管理ID + SysUserAuthorityID string `json:"sysUserAuthorityID" form:"sysUserAuthorityID" gorm:"comment:管理角色ID"` // 管理角色ID + SysUser SysUser `json:"sysUser" form:"sysUser" gorm:"comment:管理详情"` // 管理详情 } diff --git a/server/model/exa_excel.go b/server/model/exa_excel.go index c1d7f7696..facaceb80 100644 --- a/server/model/exa_excel.go +++ b/server/model/exa_excel.go @@ -1,6 +1,6 @@ package model type ExcelInfo struct { - FileName string `json:"fileName"` + FileName string `json:"fileName"` // 文件名 InfoList []SysBaseMenu `json:"infoList"` } diff --git a/server/model/exa_file_upload_download.go b/server/model/exa_file_upload_download.go index 0dc200224..5504375fd 100644 --- a/server/model/exa_file_upload_download.go +++ b/server/model/exa_file_upload_download.go @@ -6,8 +6,8 @@ import ( type ExaFileUploadAndDownload struct { global.GVA_MODEL - Name string `json:"name" gorm:"comment:文件名"` - Url string `json:"url" gorm:"comment:文件地址"` - Tag string `json:"tag" gorm:"comment:文件标签"` - Key string `json:"key" gorm:"comment:编号"` + Name string `json:"name" gorm:"comment:文件名"` // 文件名 + Url string `json:"url" gorm:"comment:文件地址"` // 文件地址 + Tag string `json:"tag" gorm:"comment:文件标签"` // 文件标签 + Key string `json:"key" gorm:"comment:编号"` // 编号 } diff --git a/server/model/request/common.go b/server/model/request/common.go index b65941aec..4d7db04f8 100644 --- a/server/model/request/common.go +++ b/server/model/request/common.go @@ -2,13 +2,13 @@ package request // Paging common input parameter structure type PageInfo struct { - Page int `json:"page" form:"page"` - PageSize int `json:"pageSize" form:"pageSize"` + Page int `json:"page" form:"page"` // 页码 + PageSize int `json:"pageSize" form:"pageSize"` // 每页大小 } // Find by id structure type GetById struct { - Id float64 `json:"id" form:"id"` + ID float64 `json:"id" form:"id"` } type IdsReq struct { @@ -17,7 +17,7 @@ type IdsReq struct { // Get role by id structure type GetAuthorityId struct { - AuthorityId string + AuthorityId string // 角色ID } type Empty struct{} diff --git a/server/model/request/sys_api.go b/server/model/request/sys_api.go index e2b1fce5d..f9d5ec037 100644 --- a/server/model/request/sys_api.go +++ b/server/model/request/sys_api.go @@ -6,6 +6,6 @@ import "gin-vue-admin/model" type SearchApiParams struct { model.SysApi PageInfo - OrderKey string `json:"orderKey"` - Desc bool `json:"desc"` + OrderKey string `json:"orderKey"` // 排序 + Desc bool `json:"desc"` // 排序方式:升序false(默认)|降序true } diff --git a/server/model/request/sys_casbin.go b/server/model/request/sys_casbin.go index d95490514..ccb461b86 100644 --- a/server/model/request/sys_casbin.go +++ b/server/model/request/sys_casbin.go @@ -2,12 +2,12 @@ package request // Casbin info structure type CasbinInfo struct { - Path string `json:"path"` - Method string `json:"method"` + Path string `json:"path"` // 路径 + Method string `json:"method"` // 方法 } // Casbin structure for input parameters type CasbinInReceive struct { - AuthorityId string `json:"authorityId"` + AuthorityId string `json:"authorityId"` // 权限id CasbinInfos []CasbinInfo `json:"casbinInfos"` } diff --git a/server/model/request/sys_dictionary.go b/server/model/request/sys_dictionary.go index c71b3666a..abd8ff041 100644 --- a/server/model/request/sys_dictionary.go +++ b/server/model/request/sys_dictionary.go @@ -2,7 +2,7 @@ package request import "gin-vue-admin/model" -type SysDictionarySearch struct{ - model.SysDictionary - PageInfo -} \ No newline at end of file +type SysDictionarySearch struct { + model.SysDictionary + PageInfo +} diff --git a/server/model/request/sys_dictionary_detail.go b/server/model/request/sys_dictionary_detail.go index 95b30a629..8b5e10652 100644 --- a/server/model/request/sys_dictionary_detail.go +++ b/server/model/request/sys_dictionary_detail.go @@ -2,7 +2,7 @@ package request import "gin-vue-admin/model" -type SysDictionaryDetailSearch struct{ - model.SysDictionaryDetail - PageInfo -} \ No newline at end of file +type SysDictionaryDetailSearch struct { + model.SysDictionaryDetail + PageInfo +} diff --git a/server/model/request/sys_init.go b/server/model/request/sys_init.go index 63f20112d..3f994cf3f 100644 --- a/server/model/request/sys_init.go +++ b/server/model/request/sys_init.go @@ -1,9 +1,9 @@ package request type InitDB struct { - Host string `json:"host"` - Port string `json:"port"` - UserName string `json:"userName" binding:"required"` - Password string `json:"password"` - DBName string `json:"dbName" binding:"required"` + Host string `json:"host"` // 服务器地址 + Port string `json:"port"` // 数据库连接端口 + UserName string `json:"userName" binding:"required"` // 数据库用户名 + Password string `json:"password"` // 数据库密码 + DBName string `json:"dbName" binding:"required"` // 数据库名 } diff --git a/server/model/request/sys_menu.go b/server/model/request/sys_menu.go index e17ffafdd..0c4b95da7 100644 --- a/server/model/request/sys_menu.go +++ b/server/model/request/sys_menu.go @@ -5,5 +5,5 @@ import "gin-vue-admin/model" // Add menu authority info structure type AddMenuAuthorityInfo struct { Menus []model.SysBaseMenu - AuthorityId string + AuthorityId string // 角色ID } diff --git a/server/model/request/sys_user.go b/server/model/request/sys_user.go index 858e241f6..f2b147ed8 100644 --- a/server/model/request/sys_user.go +++ b/server/model/request/sys_user.go @@ -13,21 +13,21 @@ type Register struct { // User login structure type Login struct { - Username string `json:"username"` - Password string `json:"password"` - Captcha string `json:"captcha"` - CaptchaId string `json:"captchaId"` + Username string `json:"username"` // 用户名 + Password string `json:"password"` // 密码 + Captcha string `json:"captcha"` // 验证码 + CaptchaId string `json:"captchaId"` // 验证码ID } // Modify password structure type ChangePasswordStruct struct { - Username string `json:"username"` - Password string `json:"password"` - NewPassword string `json:"newPassword"` + Username string `json:"username"` // 用户名 + Password string `json:"password"` // 密码 + NewPassword string `json:"newPassword"` // 新密码 } // Modify user's auth structure type SetUserAuth struct { - UUID uuid.UUID `json:"uuid"` - AuthorityId string `json:"authorityId"` + UUID uuid.UUID `json:"uuid"` // 用户UUID + AuthorityId string `json:"authorityId"` // 角色ID } diff --git a/server/model/sys_api.go b/server/model/sys_api.go index 058bbd214..20d9b657a 100644 --- a/server/model/sys_api.go +++ b/server/model/sys_api.go @@ -6,8 +6,8 @@ import ( type SysApi struct { global.GVA_MODEL - Path string `json:"path" gorm:"comment:api路径"` - Description string `json:"description" gorm:"comment:api中文描述"` - ApiGroup string `json:"apiGroup" gorm:"comment:api组"` - Method string `json:"method" gorm:"default:POST" gorm:"comment:方法"` + Path string `json:"path" gorm:"comment:api路径"` // api路径 + Description string `json:"description" gorm:"comment:api中文描述"` // api中文描述 + ApiGroup string `json:"apiGroup" gorm:"comment:api组"` // api组 + Method string `json:"method" gorm:"default:POST" gorm:"comment:方法"` // 方法:创建POST(默认)|查看GET|更新PUT|删除DELETE } diff --git a/server/model/sys_authority.go b/server/model/sys_authority.go index ac80ea6e4..9332af390 100644 --- a/server/model/sys_authority.go +++ b/server/model/sys_authority.go @@ -8,11 +8,11 @@ type SysAuthority struct { CreatedAt time.Time UpdatedAt time.Time DeletedAt *time.Time `sql:"index"` - AuthorityId string `json:"authorityId" gorm:"not null;unique;primary_key;comment:角色ID;size:90"` - AuthorityName string `json:"authorityName" gorm:"comment:角色名"` - ParentId string `json:"parentId" gorm:"comment:父角色ID"` + AuthorityId string `json:"authorityId" gorm:"not null;unique;primary_key;comment:角色ID;size:90"` // 角色ID + AuthorityName string `json:"authorityName" gorm:"comment:角色名"` // 角色名 + ParentId string `json:"parentId" gorm:"comment:父角色ID"` // 父角色ID DataAuthorityId []SysAuthority `json:"dataAuthorityId" gorm:"many2many:sys_data_authority_id"` Children []SysAuthority `json:"children" gorm:"-"` SysBaseMenus []SysBaseMenu `json:"menus" gorm:"many2many:sys_authority_menus;"` - DefaultRouter string `json:"defaultRouter" gorm:"comment:默认菜单;default:dashboard"` + DefaultRouter string `json:"defaultRouter" gorm:"comment:默认菜单;default:dashboard"` // 默认菜单(默认dashboard) } diff --git a/server/model/sys_auto_code.go b/server/model/sys_auto_code.go index 78b77778d..6e9e0bdec 100644 --- a/server/model/sys_auto_code.go +++ b/server/model/sys_auto_code.go @@ -4,27 +4,27 @@ import "errors" // 初始版本自动化代码工具 type AutoCodeStruct struct { - StructName string `json:"structName"` - TableName string `json:"tableName"` - PackageName string `json:"packageName"` - Abbreviation string `json:"abbreviation"` - Description string `json:"description"` - AutoCreateApiToSql bool `json:"autoCreateApiToSql"` - AutoMoveFile bool `json:"autoMoveFile"` - Fields []Field `json:"fields"` + StructName string `json:"structName"` // Struct名称 + TableName string `json:"tableName"` // 表名 + PackageName string `json:"packageName"` // 文件名称 + Abbreviation string `json:"abbreviation"` // Struct简称 + Description string `json:"description"` // Struct中文名称 + AutoCreateApiToSql bool `json:"autoCreateApiToSql"` // 是否自动创建api + AutoMoveFile bool `json:"autoMoveFile"` // 是否自动移动文件 + Fields []*Field `json:"fields"` } type Field struct { - FieldName string `json:"fieldName"` - FieldDesc string `json:"fieldDesc"` - FieldType string `json:"fieldType"` - FieldJson string `json:"fieldJson"` - DataType string `json:"dataType"` - DataTypeLong string `json:"dataTypeLong"` - Comment string `json:"comment"` - ColumnName string `json:"columnName"` - FieldSearchType string `json:"fieldSearchType"` - DictType string `json:"dictType"` + FieldName string `json:"fieldName"` // Field名 + FieldDesc string `json:"fieldDesc"` // 中文名 + FieldType string `json:"fieldType"` // Field数据类型 + FieldJson string `json:"fieldJson"` // FieldJson + DataType string `json:"dataType"` // 数据库字段类型 + DataTypeLong string `json:"dataTypeLong"` // 数据库字段长度 + Comment string `json:"comment"` // 数据库字段描述 + ColumnName string `json:"columnName"` // 数据库字段 + FieldSearchType string `json:"fieldSearchType"` // 搜索条件 + DictType string `json:"dictType"` // 字典 } var AutoMoveErr error = errors.New("创建代码成功并移动文件成功") diff --git a/server/model/sys_base_menu.go b/server/model/sys_base_menu.go index c9dbe5103..83a287b74 100644 --- a/server/model/sys_base_menu.go +++ b/server/model/sys_base_menu.go @@ -6,31 +6,31 @@ import ( type SysBaseMenu struct { global.GVA_MODEL - MenuLevel uint `json:"-"` - ParentId string `json:"parentId" gorm:"comment:父菜单ID"` - Path string `json:"path" gorm:"comment:路由path"` - Name string `json:"name" gorm:"comment:路由name"` - Hidden bool `json:"hidden" gorm:"comment:是否在列表隐藏"` - Component string `json:"component" gorm:"comment:对应前端文件路径"` - Sort int `json:"sort" gorm:"comment:排序标记"` - Meta `json:"meta" gorm:"comment:附加属性"` + MenuLevel uint `json:"-"` + ParentId string `json:"parentId" gorm:"comment:父菜单ID"` // 父菜单ID + Path string `json:"path" gorm:"comment:路由path"` // 路由path + Name string `json:"name" gorm:"comment:路由name"` // 路由name + Hidden bool `json:"hidden" gorm:"comment:是否在列表隐藏"` // 是否在列表隐藏 + Component string `json:"component" gorm:"comment:对应前端文件路径"` // 对应前端文件路径 + Sort int `json:"sort" gorm:"comment:排序标记"` // 排序标记 + Meta `json:"meta" gorm:"comment:附加属性"` // 附加属性 SysAuthoritys []SysAuthority `json:"authoritys" gorm:"many2many:sys_authority_menus;"` Children []SysBaseMenu `json:"children" gorm:"-"` Parameters []SysBaseMenuParameter `json:"parameters"` } type Meta struct { - KeepAlive bool `json:"keepAlive" gorm:"comment:是否缓存"` - DefaultMenu bool `json:"defaultMenu" gorm:"comment:是否是基础路由(开发中)"` - Title string `json:"title" gorm:"comment:菜单名"` - Icon string `json:"icon" gorm:"comment:菜单图标"` - CloseTab bool `json:"closeTab" gorm:"comment:自动关闭tab"` + KeepAlive bool `json:"keepAlive" gorm:"comment:是否缓存"` // 是否缓存 + DefaultMenu bool `json:"defaultMenu" gorm:"comment:是否是基础路由(开发中)"` // 是否是基础路由(开发中) + Title string `json:"title" gorm:"comment:菜单名"` // 菜单名 + Icon string `json:"icon" gorm:"comment:菜单图标"` // 菜单图标 + CloseTab bool `json:"closeTab" gorm:"comment:自动关闭tab"` // 自动关闭tab } type SysBaseMenuParameter struct { global.GVA_MODEL SysBaseMenuID uint - Type string `json:"type" gorm:"comment:地址栏携带参数为params还是query"` - Key string `json:"key" gorm:"comment:地址栏携带参数的key"` - Value string `json:"value" gorm:"comment:地址栏携带参数的值"` + Type string `json:"type" gorm:"comment:地址栏携带参数为params还是query"` // 地址栏携带参数为params还是query + Key string `json:"key" gorm:"comment:地址栏携带参数的key"` // 地址栏携带参数的key + Value string `json:"value" gorm:"comment:地址栏携带参数的值"` // 地址栏携带参数的值 } diff --git a/server/model/sys_casbin.go b/server/model/sys_casbin.go index 83f55f4d0..9bb198868 100644 --- a/server/model/sys_casbin.go +++ b/server/model/sys_casbin.go @@ -1,7 +1,7 @@ package model type CasbinModel struct { - Ptype string `json:"ptype" gorm:"column:p_type"` + Ptype string `json:"ptype" gorm:"column:ptype"` AuthorityId string `json:"rolename" gorm:"column:v0"` Path string `json:"path" gorm:"column:v1"` Method string `json:"method" gorm:"column:v2"` diff --git a/server/model/sys_dictionary.go b/server/model/sys_dictionary.go index 208f1396f..153a0f4f3 100644 --- a/server/model/sys_dictionary.go +++ b/server/model/sys_dictionary.go @@ -8,9 +8,9 @@ import ( // 如果含有time.Time 请自行import time包 type SysDictionary struct { global.GVA_MODEL - Name string `json:"name" form:"name" gorm:"column:name;comment:字典名(中)"` - Type string `json:"type" form:"type" gorm:"column:type;comment:字典名(英)"` - Status *bool `json:"status" form:"status" gorm:"column:status;comment:状态"` - Desc string `json:"desc" form:"desc" gorm:"column:desc;comment:描述"` + Name string `json:"name" form:"name" gorm:"column:name;comment:字典名(中)"` // 字典名(中) + Type string `json:"type" form:"type" gorm:"column:type;comment:字典名(英)"` // 字典名(英) + Status *bool `json:"status" form:"status" gorm:"column:status;comment:状态"` // 状态 + Desc string `json:"desc" form:"desc" gorm:"column:desc;comment:描述"` // 描述 SysDictionaryDetails []SysDictionaryDetail `json:"sysDictionaryDetails" form:"sysDictionaryDetails"` } diff --git a/server/model/sys_dictionary_detail.go b/server/model/sys_dictionary_detail.go index e0dded0e5..b75d1336a 100644 --- a/server/model/sys_dictionary_detail.go +++ b/server/model/sys_dictionary_detail.go @@ -8,9 +8,9 @@ import ( // 如果含有time.Time 请自行import time包 type SysDictionaryDetail struct { global.GVA_MODEL - Label string `json:"label" form:"label" gorm:"column:label;comment:展示值"` - Value int `json:"value" form:"value" gorm:"column:value;comment:字典值"` - Status *bool `json:"status" form:"status" gorm:"column:status;comment:启用状态"` - Sort int `json:"sort" form:"sort" gorm:"column:sort;comment:排序标记"` - SysDictionaryID int `json:"sysDictionaryID" form:"sysDictionaryID" gorm:"column:sys_dictionary_id;comment:关联标记"` + Label string `json:"label" form:"label" gorm:"column:label;comment:展示值"` // 展示值 + Value int `json:"value" form:"value" gorm:"column:value;comment:字典值"` // 字典值 + Status *bool `json:"status" form:"status" gorm:"column:status;comment:启用状态"` // 启用状态 + Sort int `json:"sort" form:"sort" gorm:"column:sort;comment:排序标记"` // 排序标记 + SysDictionaryID int `json:"sysDictionaryID" form:"sysDictionaryID" gorm:"column:sys_dictionary_id;comment:关联标记"` // 关联标记 } diff --git a/server/model/sys_operation_record.go b/server/model/sys_operation_record.go index 9bf9e2f4e..46d02f83e 100644 --- a/server/model/sys_operation_record.go +++ b/server/model/sys_operation_record.go @@ -9,15 +9,15 @@ import ( // 如果含有time.Time 请自行import time包 type SysOperationRecord struct { global.GVA_MODEL - Ip string `json:"ip" form:"ip" gorm:"column:ip;comment:请求ip"` - Method string `json:"method" form:"method" gorm:"column:method;comment:请求方法"` - Path string `json:"path" form:"path" gorm:"column:path;comment:请求路径"` - Status int `json:"status" form:"status" gorm:"column:status;comment:请求状态"` - Latency time.Duration `json:"latency" form:"latency" gorm:"column:latency;comment:延迟"` - Agent string `json:"agent" form:"agent" gorm:"column:agent;comment:代理"` - ErrorMessage string `json:"error_message" form:"error_message" gorm:"column:error_message;comment:错误信息"` - Body string `json:"body" form:"body" gorm:"type:longtext;column:body;comment:请求Body"` - Resp string `json:"resp" form:"resp" gorm:"type:longtext;column:resp;comment:响应Body"` - UserID int `json:"user_id" form:"user_id" gorm:"column:user_id;comment:用户id"` + Ip string `json:"ip" form:"ip" gorm:"column:ip;comment:请求ip"` // 请求ip + Method string `json:"method" form:"method" gorm:"column:method;comment:请求方法"` // 请求方法 + Path string `json:"path" form:"path" gorm:"column:path;comment:请求路径"` // 请求路径 + Status int `json:"status" form:"status" gorm:"column:status;comment:请求状态"` // 请求状态 + Latency time.Duration `json:"latency" form:"latency" gorm:"column:latency;comment:延迟" swaggertype:"string"` // 延迟 + Agent string `json:"agent" form:"agent" gorm:"column:agent;comment:代理"` // 代理 + ErrorMessage string `json:"error_message" form:"error_message" gorm:"column:error_message;comment:错误信息"` // 错误信息 + Body string `json:"body" form:"body" gorm:"type:longtext;column:body;comment:请求Body"` // 请求Body + Resp string `json:"resp" form:"resp" gorm:"type:longtext;column:resp;comment:响应Body"` // 响应Body + UserID int `json:"user_id" form:"user_id" gorm:"column:user_id;comment:用户id"` // 用户id User SysUser `json:"user"` } diff --git a/server/model/sys_user.go b/server/model/sys_user.go index bfd17e389..8ed5c2afe 100644 --- a/server/model/sys_user.go +++ b/server/model/sys_user.go @@ -7,11 +7,11 @@ import ( type SysUser struct { global.GVA_MODEL - UUID uuid.UUID `json:"uuid" gorm:"comment:用户UUID"` - Username string `json:"userName" gorm:"comment:用户登录名"` - Password string `json:"-" gorm:"comment:用户登录密码"` - NickName string `json:"nickName" gorm:"default:系统用户;comment:用户昵称" ` - HeaderImg string `json:"headerImg" gorm:"default:http://qmplusimg.henrongyi.top/head.png;comment:用户头像"` + UUID uuid.UUID `json:"uuid" gorm:"comment:用户UUID"` // 用户UUID + Username string `json:"userName" gorm:"comment:用户登录名"` // 用户登录名 + Password string `json:"-" gorm:"comment:用户登录密码"` // 用户登录密码 + NickName string `json:"nickName" gorm:"default:系统用户;comment:用户昵称"` // 用户昵称" + HeaderImg string `json:"headerImg" gorm:"default:http://qmplusimg.henrongyi.top/head.png;comment:用户头像"` // 用户头像 Authority SysAuthority `json:"authority" gorm:"foreignKey:AuthorityId;references:AuthorityId;comment:用户角色"` - AuthorityId string `json:"authorityId" gorm:"default:888;comment:用户角色ID"` + AuthorityId string `json:"authorityId" gorm:"default:888;comment:用户角色ID"` // 用户角色ID } diff --git a/server/resource/page/css/index.d8b172cd.css b/server/resource/page/css/index.d8b172cd.css deleted file mode 100644 index 8f0a3b88f..000000000 --- a/server/resource/page/css/index.d8b172cd.css +++ /dev/null @@ -1 +0,0 @@ -.add-item[data-v-1ba11f83]{margin-top:8px}.url-item[data-v-1ba11f83]{margin-bottom:12px}.tab-editor[data-v-68aaf5c0]{position:absolute;top:33px;bottom:0;left:0;right:0;font-size:14px}.left-editor[data-v-68aaf5c0]{position:relative;height:100%;background:#1e1e1e;overflow:hidden}.setting[data-v-68aaf5c0]{position:absolute;right:15px;top:3px;color:#a9f122;font-size:18px;cursor:pointer;z-index:1}.right-preview[data-v-68aaf5c0]{height:100%}.right-preview .result-wrapper[data-v-68aaf5c0]{height:calc(100vh - 33px);width:100%;overflow:auto;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar[data-v-68aaf5c0]{height:33px;background:#f2fafb;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar .bar-btn[data-v-68aaf5c0]{display:inline-block;padding:0 6px;line-height:32px;color:#8285f5;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.action-bar .bar-btn i[data-v-68aaf5c0]{font-size:20px}.action-bar .bar-btn[data-v-68aaf5c0]:hover{color:#4348d4}.action-bar .bar-btn+.bar-btn[data-v-68aaf5c0]{margin-left:8px}.action-bar .delete-btn[data-v-68aaf5c0]{color:#f56c6c}.action-bar .delete-btn[data-v-68aaf5c0]:hover{color:#ea0b30}[data-v-68aaf5c0] .el-drawer__header,[data-v-d06a2be0] .el-drawer__header{display:none}.action-bar[data-v-d06a2be0]{height:33px;background:#f2fafb;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar .bar-btn[data-v-d06a2be0]{display:inline-block;padding:0 6px;line-height:32px;color:#8285f5;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.action-bar .bar-btn i[data-v-d06a2be0]{font-size:20px}.action-bar .bar-btn[data-v-d06a2be0]:hover{color:#4348d4}.action-bar .bar-btn+.bar-btn[data-v-d06a2be0]{margin-left:8px}.action-bar .delete-btn[data-v-d06a2be0]{color:#f56c6c}.action-bar .delete-btn[data-v-d06a2be0]:hover{color:#ea0b30}.json-editor[data-v-d06a2be0]{height:calc(100vh - 33px)}.icon-ul[data-v-3ba3d51c]{margin:0;padding:0;font-size:0}.icon-ul li[data-v-3ba3d51c]{list-style-type:none;text-align:center;font-size:14px;display:inline-block;width:16.66%;-webkit-box-sizing:border-box;box-sizing:border-box;height:108px;padding:15px 6px 6px 6px;cursor:pointer;overflow:hidden}.icon-ul li[data-v-3ba3d51c]:hover{background:#f2f2f2}.icon-ul li.active-item[data-v-3ba3d51c]{background:#e1f3fb;color:#7a6df0}.icon-ul li>i[data-v-3ba3d51c]{font-size:30px;line-height:50px}.icon-dialog[data-v-3ba3d51c] .el-dialog{border-radius:8px;margin-bottom:0;margin-top:4vh!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:92vh;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.icon-dialog[data-v-3ba3d51c] .el-dialog .el-dialog__header{padding-top:14px}.icon-dialog[data-v-3ba3d51c] .el-dialog .el-dialog__body{margin:0 20px 20px 20px;padding:0;overflow:auto}.right-board[data-v-5786ab0e]{width:350px;position:absolute;right:0;top:0;padding-top:3px}.right-board .field-box[data-v-5786ab0e]{position:relative;height:calc(100vh - 42px);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.right-board .el-scrollbar[data-v-5786ab0e]{height:100%}.select-item[data-v-5786ab0e]{display:-webkit-box;display:-ms-flexbox;display:flex;border:1px dashed #fff;-webkit-box-sizing:border-box;box-sizing:border-box}.select-item .close-btn[data-v-5786ab0e]{cursor:pointer;color:#f56c6c}.select-item .el-input+.el-input[data-v-5786ab0e]{margin-left:4px}.select-item+.select-item[data-v-5786ab0e]{margin-top:4px}.select-item.sortable-chosen[data-v-5786ab0e]{border:1px dashed #409eff}.select-line-icon[data-v-5786ab0e]{line-height:32px;font-size:22px;padding:0 4px;color:#777}.option-drag[data-v-5786ab0e]{cursor:move}.time-range .el-date-editor[data-v-5786ab0e]{width:227px}.time-range[data-v-5786ab0e] .el-icon-time{display:none}.document-link[data-v-5786ab0e]{position:absolute;display:block;width:26px;height:26px;top:0;left:0;cursor:pointer;background:#409eff;z-index:1;border-radius:0 0 6px 0;text-align:center;line-height:26px;color:#fff;font-size:18px}.node-label[data-v-5786ab0e]{font-size:14px}.node-icon[data-v-5786ab0e]{color:#bebfc3}.container{position:relative;width:100%;height:100%}.components-list{padding:8px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%}.components-list .components-item{display:inline-block;width:48%;margin:1%;-webkit-transition:-webkit-transform 0ms!important;transition:-webkit-transform 0ms!important;transition:transform 0ms!important;transition:transform 0ms,-webkit-transform 0ms!important}.components-draggable{padding-bottom:20px}.components-title{font-size:14px;color:#222;margin:6px 2px}.components-title .svg-icon{color:#666;font-size:18px}.components-body{padding:8px 10px;background:#f6f7ff;font-size:12px;cursor:move;border:1px dashed #f6f7ff;border-radius:3px}.components-body .svg-icon{color:#777;font-size:15px}.components-body:hover{border:1px dashed #787be8;color:#787be8}.components-body:hover .svg-icon{color:#787be8}.left-board{width:260px;position:absolute;left:0;top:0;height:100vh}.center-scrollbar,.left-scrollbar{height:calc(100vh - 42px);overflow:hidden}.center-scrollbar{border-left:1px solid #f1e8e8;border-right:1px solid #f1e8e8}.center-board,.center-scrollbar{-webkit-box-sizing:border-box;box-sizing:border-box}.center-board{height:100vh;width:auto;margin:0 350px 0 260px}.empty-info{position:absolute;top:46%;left:0;right:0;text-align:center;font-size:18px;color:#ccb1ea;letter-spacing:4px}.action-bar{position:relative;height:42px;text-align:right;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #f1e8e8;border-top:none;border-left:none}.action-bar .delete-btn{color:#f56c6c}.logo-wrapper{position:relative;height:42px;background:#fff;border-bottom:1px solid #f1e8e8;-webkit-box-sizing:border-box;box-sizing:border-box}.logo{position:absolute;left:12px;top:6px;line-height:30px;color:#00afff;font-weight:600;font-size:17px;white-space:nowrap}.logo>img{width:30px;height:30px;vertical-align:top}.logo .github{display:inline-block;vertical-align:sub;margin-left:15px}.logo .github>img{height:22px}.center-board-row{padding:12px 12px 15px 12px;-webkit-box-sizing:border-box;box-sizing:border-box}.center-board-row>.el-form{height:calc(100vh - 69px)}.drawing-board{margin-top:20px;height:100%;position:relative}.drawing-board .components-body{padding:0;margin:0;font-size:0}.drawing-board .sortable-ghost{position:relative;display:block;overflow:hidden}.drawing-board .sortable-ghost:before{content:" ";position:absolute;left:0;right:0;top:0;height:3px;background:#5959df;z-index:2}.drawing-board .components-item.sortable-ghost{width:100%;height:60px;background-color:#f6f7ff}.drawing-board .active-from-item>.el-form-item{background:#f6f7ff;border-radius:6px}.drawing-board .active-from-item>.drawing-item-copy,.drawing-board .active-from-item>.drawing-item-delete{display:initial}.drawing-board .active-from-item>.component-name{color:#409eff}.drawing-board .el-form-item{margin-bottom:15px}.drawing-item{position:relative;cursor:move}.drawing-item.unfocus-bordered:not(.active-from-item)>div:first-child{border:1px dashed #ccc}.drawing-item .el-form-item{padding:12px 10px}.drawing-row-item{position:relative;cursor:move;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px dashed #ccc;border-radius:3px;padding:0 2px;margin-bottom:15px}.drawing-row-item .drawing-row-item{margin-bottom:2px}.drawing-row-item .el-col{margin-top:22px}.drawing-row-item .el-form-item{margin-bottom:0}.drawing-row-item .drag-wrapper{min-height:80px}.drawing-row-item.active-from-item{border:1px dashed #409eff}.drawing-row-item .component-name{position:absolute;top:0;left:0;font-size:12px;color:#bbb;display:inline-block;padding:0 6px}.drawing-item:hover>.el-form-item,.drawing-row-item:hover>.el-form-item{background:#f6f7ff;border-radius:6px}.drawing-item:hover>.drawing-item-copy,.drawing-item:hover>.drawing-item-delete,.drawing-row-item:hover>.drawing-item-copy,.drawing-row-item:hover>.drawing-item-delete{display:initial}.drawing-item>.drawing-item-copy,.drawing-item>.drawing-item-delete,.drawing-row-item>.drawing-item-copy,.drawing-row-item>.drawing-item-delete{display:none;position:absolute;top:-10px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;font-size:12px;border:1px solid;cursor:pointer;z-index:1}.drawing-item>.drawing-item-copy,.drawing-row-item>.drawing-item-copy{right:56px;border-color:#409eff;color:#409eff;background:#fff}.drawing-item>.drawing-item-copy:hover,.drawing-row-item>.drawing-item-copy:hover{background:#409eff;color:#fff}.drawing-item>.drawing-item-delete,.drawing-row-item>.drawing-item-delete{right:24px;border-color:#f56c6c;color:#f56c6c;background:#fff}.drawing-item>.drawing-item-delete:hover,.drawing-row-item>.drawing-item-delete:hover{background:#f56c6c;color:#fff}.test-from[data-v-412f198a]{margin:15px auto;width:800px;padding:15px}body,html{margin:0;padding:0;background:#fff;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,html,input,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.editor-tabs{background:#121315}.editor-tabs .el-tabs__header{margin:0;border-bottom-color:#121315}.editor-tabs .el-tabs__header .el-tabs__nav{border-color:#121315}.editor-tabs .el-tabs__item{height:32px;line-height:32px;color:#888a8e;border-left:1px solid #121315!important;background:#363636;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editor-tabs .el-tabs__item.is-active{background:#1e1e1e;border-bottom-color:#1e1e1e!important;color:#fff}.editor-tabs .el-icon-edit{color:#f1fa8c}.editor-tabs .el-icon-document{color:#a95812}.right-scrollbar .el-scrollbar__view{padding:12px 18px 15px 15px}.el-scrollbar__wrap{-webkit-box-sizing:border-box;box-sizing:border-box;overflow-x:hidden!important}.center-tabs .el-tabs__header,.el-scrollbar__wrap{margin-bottom:0!important}.center-tabs .el-tabs__item{width:50%;text-align:center}.center-tabs .el-tabs__nav{width:100%}.reg-item{padding:12px 6px;background:#f8f8f8;position:relative;border-radius:4px}.reg-item .close-btn{position:absolute;right:-6px;top:-6px;display:block;width:16px;height:16px;line-height:16px;background:rgba(0,0,0,.2);border-radius:50%;color:#fff;text-align:center;z-index:1;cursor:pointer;font-size:12px}.reg-item .close-btn:hover{background:rgba(210,23,23,.5)}.reg-item+.reg-item{margin-top:18px}.action-bar .el-button+.el-button{margin-left:15px}.action-bar i{font-size:20px;vertical-align:middle;position:relative;top:-1px}.custom-tree-node{width:100%;font-size:14px}.custom-tree-node .node-operation{float:right}.custom-tree-node i[class*=el-icon]+i[class*=el-icon]{margin-left:6px}.custom-tree-node .el-icon-plus{color:#409eff}.custom-tree-node .el-icon-delete{color:#157a0c}.el-scrollbar__view{overflow-x:hidden}.el-rate{display:inline-block;vertical-align:text-top}.el-upload__tip{line-height:1.2}.svg-icon[data-v-21958c4e]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-21958c4e]{background-color:currentColor;-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block} \ No newline at end of file diff --git a/server/resource/page/css/index.f05c41c6.css b/server/resource/page/css/index.f05c41c6.css new file mode 100644 index 000000000..ab9bbcf7c --- /dev/null +++ b/server/resource/page/css/index.f05c41c6.css @@ -0,0 +1 @@ +.add-item[data-v-60dcec16]{margin-top:8px}.url-item[data-v-60dcec16]{margin-bottom:12px}.tab-editor[data-v-3157a144]{position:absolute;top:33px;bottom:0;left:0;right:0;font-size:14px}.left-editor[data-v-3157a144]{position:relative;height:100%;background:#1e1e1e;overflow:hidden}.setting[data-v-3157a144]{position:absolute;right:15px;top:3px;color:#a9f122;font-size:18px;cursor:pointer;z-index:1}.right-preview[data-v-3157a144]{height:100%}.right-preview .result-wrapper[data-v-3157a144]{height:calc(100vh - 33px);width:100%;overflow:auto;padding:12px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar[data-v-3157a144]{height:33px;background:#f2fafb;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar .bar-btn[data-v-3157a144]{display:inline-block;padding:0 6px;line-height:32px;color:#8285f5;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.action-bar .bar-btn i[data-v-3157a144]{font-size:20px}.action-bar .bar-btn[data-v-3157a144]:hover{color:#4348d4}.action-bar .bar-btn+.bar-btn[data-v-3157a144]{margin-left:8px}.action-bar .delete-btn[data-v-3157a144]{color:#f56c6c}.action-bar .delete-btn[data-v-3157a144]:hover{color:#ea0b30}[data-v-3157a144] .el-drawer__header,[data-v-44793736] .el-drawer__header{display:none}.action-bar[data-v-44793736]{height:33px;background:#f2fafb;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box}.action-bar .bar-btn[data-v-44793736]{display:inline-block;padding:0 6px;line-height:32px;color:#8285f5;cursor:pointer;font-size:14px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.action-bar .bar-btn i[data-v-44793736]{font-size:20px}.action-bar .bar-btn[data-v-44793736]:hover{color:#4348d4}.action-bar .bar-btn+.bar-btn[data-v-44793736]{margin-left:8px}.action-bar .delete-btn[data-v-44793736]{color:#f56c6c}.action-bar .delete-btn[data-v-44793736]:hover{color:#ea0b30}.json-editor[data-v-44793736]{height:calc(100vh - 33px)}.icon-ul[data-v-3ba3d51c]{margin:0;padding:0;font-size:0}.icon-ul li[data-v-3ba3d51c]{list-style-type:none;text-align:center;font-size:14px;display:inline-block;width:16.66%;-webkit-box-sizing:border-box;box-sizing:border-box;height:108px;padding:15px 6px 6px 6px;cursor:pointer;overflow:hidden}.icon-ul li[data-v-3ba3d51c]:hover{background:#f2f2f2}.icon-ul li.active-item[data-v-3ba3d51c]{background:#e1f3fb;color:#7a6df0}.icon-ul li>i[data-v-3ba3d51c]{font-size:30px;line-height:50px}.icon-dialog[data-v-3ba3d51c] .el-dialog{border-radius:8px;margin-bottom:0;margin-top:4vh!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;max-height:92vh;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box}.icon-dialog[data-v-3ba3d51c] .el-dialog .el-dialog__header{padding-top:14px}.icon-dialog[data-v-3ba3d51c] .el-dialog .el-dialog__body{margin:0 20px 20px 20px;padding:0;overflow:auto}.right-board[data-v-48152a99]{width:350px;position:absolute;right:0;top:0;padding-top:3px}.right-board .field-box[data-v-48152a99]{position:relative;height:calc(100vh - 42px);-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden}.right-board .el-scrollbar[data-v-48152a99]{height:100%}.select-item[data-v-48152a99]{display:-webkit-box;display:-ms-flexbox;display:flex;border:1px dashed #fff;-webkit-box-sizing:border-box;box-sizing:border-box}.select-item .close-btn[data-v-48152a99]{cursor:pointer;color:#f56c6c}.select-item .el-input+.el-input[data-v-48152a99]{margin-left:4px}.select-item+.select-item[data-v-48152a99]{margin-top:4px}.select-item.sortable-chosen[data-v-48152a99]{border:1px dashed #409eff}.select-line-icon[data-v-48152a99]{line-height:32px;font-size:22px;padding:0 4px;color:#777}.option-drag[data-v-48152a99]{cursor:move}.time-range .el-date-editor[data-v-48152a99]{width:227px}.time-range[data-v-48152a99] .el-icon-time{display:none}.document-link[data-v-48152a99]{position:absolute;display:block;width:26px;height:26px;top:0;left:0;cursor:pointer;background:#409eff;z-index:1;border-radius:0 0 6px 0;text-align:center;line-height:26px;color:#fff;font-size:18px}.node-label[data-v-48152a99]{font-size:14px}.node-icon[data-v-48152a99]{color:#bebfc3}.container{position:relative;width:100%;height:100%}.components-list{padding:8px;-webkit-box-sizing:border-box;box-sizing:border-box;height:100%}.components-list .components-item{display:inline-block;width:48%;margin:1%;-webkit-transition:-webkit-transform 0ms!important;transition:-webkit-transform 0ms!important;transition:transform 0ms!important;transition:transform 0ms,-webkit-transform 0ms!important}.components-draggable{padding-bottom:20px}.components-title{font-size:14px;color:#222;margin:6px 2px}.components-title .svg-icon{color:#666;font-size:18px}.components-body{padding:8px 10px;background:#f6f7ff;font-size:12px;cursor:move;border:1px dashed #f6f7ff;border-radius:3px}.components-body .svg-icon{color:#777;font-size:15px}.components-body:hover{border:1px dashed #787be8;color:#787be8}.components-body:hover .svg-icon{color:#787be8}.left-board{width:260px;position:absolute;left:0;top:0;height:100vh}.center-scrollbar,.left-scrollbar{height:calc(100vh - 42px);overflow:hidden}.center-scrollbar{border-left:1px solid #f1e8e8;border-right:1px solid #f1e8e8}.center-board,.center-scrollbar{-webkit-box-sizing:border-box;box-sizing:border-box}.center-board{height:100vh;width:auto;margin:0 350px 0 260px}.empty-info{position:absolute;top:46%;left:0;right:0;text-align:center;font-size:18px;color:#ccb1ea;letter-spacing:4px}.action-bar{position:relative;height:42px;text-align:right;padding:0 15px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #f1e8e8;border-top:none;border-left:none}.action-bar .delete-btn{color:#f56c6c}.logo-wrapper{position:relative;height:42px;background:#fff;border-bottom:1px solid #f1e8e8;-webkit-box-sizing:border-box;box-sizing:border-box}.logo{position:absolute;left:12px;top:6px;line-height:30px;color:#00afff;font-weight:600;font-size:17px;white-space:nowrap}.logo>img{width:30px;height:30px;vertical-align:top}.logo .github{display:inline-block;vertical-align:sub;margin-left:15px}.logo .github>img{height:22px}.center-board-row{padding:12px 12px 15px 12px;-webkit-box-sizing:border-box;box-sizing:border-box}.center-board-row>.el-form{height:calc(100vh - 69px)}.drawing-board{height:100%;position:relative}.drawing-board .components-body{padding:0;margin:0;font-size:0}.drawing-board .sortable-ghost{position:relative;display:block;overflow:hidden}.drawing-board .sortable-ghost:before{content:" ";position:absolute;left:0;right:0;top:0;height:3px;background:#5959df;z-index:2}.drawing-board .components-item.sortable-ghost{width:100%;height:60px;background-color:#f6f7ff}.drawing-board .active-from-item>.el-form-item{background:#f6f7ff;border-radius:6px}.drawing-board .active-from-item>.drawing-item-copy,.drawing-board .active-from-item>.drawing-item-delete{display:initial}.drawing-board .active-from-item>.component-name{color:#409eff}.drawing-board .el-form-item{margin-bottom:15px}.drawing-item{position:relative;cursor:move}.drawing-item.unfocus-bordered:not(.active-from-item)>div:first-child{border:1px dashed #ccc}.drawing-item .el-form-item{padding:12px 10px}.drawing-row-item{position:relative;cursor:move;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px dashed #ccc;border-radius:3px;padding:0 2px;margin-bottom:15px}.drawing-row-item .drawing-row-item{margin-bottom:2px}.drawing-row-item .el-col{margin-top:22px}.drawing-row-item .el-form-item{margin-bottom:0}.drawing-row-item .drag-wrapper{min-height:80px}.drawing-row-item.active-from-item{border:1px dashed #409eff}.drawing-row-item .component-name{position:absolute;top:0;left:0;font-size:12px;color:#bbb;display:inline-block;padding:0 6px}.drawing-item:hover>.el-form-item,.drawing-row-item:hover>.el-form-item{background:#f6f7ff;border-radius:6px}.drawing-item:hover>.drawing-item-copy,.drawing-item:hover>.drawing-item-delete,.drawing-row-item:hover>.drawing-item-copy,.drawing-row-item:hover>.drawing-item-delete{display:initial}.drawing-item>.drawing-item-copy,.drawing-item>.drawing-item-delete,.drawing-row-item>.drawing-item-copy,.drawing-row-item>.drawing-item-delete{display:none;position:absolute;top:-10px;width:22px;height:22px;line-height:22px;text-align:center;border-radius:50%;font-size:12px;border:1px solid;cursor:pointer;z-index:1}.drawing-item>.drawing-item-copy,.drawing-row-item>.drawing-item-copy{right:56px;border-color:#409eff;color:#409eff;background:#fff}.drawing-item>.drawing-item-copy:hover,.drawing-row-item>.drawing-item-copy:hover{background:#409eff;color:#fff}.drawing-item>.drawing-item-delete,.drawing-row-item>.drawing-item-delete{right:24px;border-color:#f56c6c;color:#f56c6c;background:#fff}.drawing-item>.drawing-item-delete:hover,.drawing-row-item>.drawing-item-delete:hover{background:#f56c6c;color:#fff}body,html{margin:0;padding:0;background:#fff;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,html,input,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji}.editor-tabs{background:#121315}.editor-tabs .el-tabs__header{margin:0;border-bottom-color:#121315}.editor-tabs .el-tabs__header .el-tabs__nav{border-color:#121315}.editor-tabs .el-tabs__item{height:32px;line-height:32px;color:#888a8e;border-left:1px solid #121315!important;background:#363636;margin-right:5px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.editor-tabs .el-tabs__item.is-active{background:#1e1e1e;border-bottom-color:#1e1e1e!important;color:#fff}.editor-tabs .el-icon-edit{color:#f1fa8c}.editor-tabs .el-icon-document{color:#a95812}.editor-tabs :focus.is-active.is-focus:not(:active){-webkit-box-shadow:none;box-shadow:none;border-radius:0}.right-scrollbar .el-scrollbar__view{padding:12px 18px 15px 15px}.el-scrollbar__wrap{-webkit-box-sizing:border-box;box-sizing:border-box;overflow-x:hidden!important}.center-tabs .el-tabs__header,.el-scrollbar__wrap{margin-bottom:0!important}.center-tabs .el-tabs__item{width:50%;text-align:center}.center-tabs .el-tabs__nav{width:100%}.reg-item{padding:12px 6px;background:#f8f8f8;position:relative;border-radius:4px}.reg-item .close-btn{position:absolute;right:-6px;top:-6px;display:block;width:16px;height:16px;line-height:16px;background:rgba(0,0,0,.2);border-radius:50%;color:#fff;text-align:center;z-index:1;cursor:pointer;font-size:12px}.reg-item .close-btn:hover{background:rgba(210,23,23,.5)}.reg-item+.reg-item{margin-top:18px}.action-bar .el-button+.el-button{margin-left:15px}.action-bar i{font-size:20px;vertical-align:middle;position:relative;top:-1px}.custom-tree-node{width:100%;font-size:14px}.custom-tree-node .node-operation{float:right}.custom-tree-node i[class*=el-icon]+i[class*=el-icon]{margin-left:6px}.custom-tree-node .el-icon-plus{color:#409eff}.custom-tree-node .el-icon-delete{color:#157a0c}.el-scrollbar__view{overflow-x:hidden}.el-rate{display:inline-block;vertical-align:text-top}.el-upload__tip{line-height:1.2}.svg-icon[data-v-19957a58]{width:1em;height:1em;vertical-align:-.15em;fill:currentColor;overflow:hidden}.svg-external-icon[data-v-19957a58]{background-color:currentColor;-webkit-mask-size:cover!important;mask-size:cover!important;display:inline-block} \ No newline at end of file diff --git a/server/resource/page/css/parser-example.69e16e51.css b/server/resource/page/css/parser-example.69e16e51.css new file mode 100644 index 000000000..09cac886c --- /dev/null +++ b/server/resource/page/css/parser-example.69e16e51.css @@ -0,0 +1 @@ +.test-form[data-v-77b1aafa]{margin:15px auto;width:800px;padding:15px} \ No newline at end of file diff --git a/server/resource/page/img/logo.e1bc3747.png b/server/resource/page/img/logo.e1bc3747.png deleted file mode 100644 index f23b7580b..000000000 Binary files a/server/resource/page/img/logo.e1bc3747.png and /dev/null differ diff --git a/server/resource/page/index.html b/server/resource/page/index.html index 8cd5fd59a..5a133e192 100644 --- a/server/resource/page/index.html +++ b/server/resource/page/index.html @@ -1 +1 @@ -form-generator
\ No newline at end of file +form-generator
\ No newline at end of file diff --git a/server/resource/page/js/chunk-vendors.788511b0.js b/server/resource/page/js/chunk-vendors.788511b0.js deleted file mode 100644 index 6ce04183b..000000000 --- a/server/resource/page/js/chunk-vendors.788511b0.js +++ /dev/null @@ -1,19 +0,0 @@ -(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-vendors"],{"0192":function(t,e,s){var r=s("f240"),i=Math.max,n=Math.min;t.exports=function(t,e){var s=r(t);return s<0?i(s+e,0):n(s,e)}},"01d7":function(t,e,s){"use strict";var r=s("7dc7"),i=s("c223"),n=s("aec8");t.exports=function(t,e,s){var a=r(e);a in t?i.f(t,a,n(0,s)):t[a]=s}},"021b":function(t,e,s){"use strict";var r=s("407d").forEach,i=s("fb11"),n=s("6885"),a=i("forEach"),o=n("forEach");t.exports=a&&o?[].forEach:function(t){return r(this,t,arguments.length>1?arguments[1]:void 0)}},"02d0":function(t,e,s){var r=s("f28d"),i=s("8c47"),n=s("6be9").indexOf,a=s("4888");t.exports=function(t,e){var s,o=i(t),c=0,h=[];for(s in o)!r(a,s)&&r(o,s)&&h.push(s);while(e.length>c)r(o,s=e[c++])&&(~n(h,s)||h.push(s));return h}},"032e":function(t,e,s){var r=s("d5dc"),i=s("d68d"),n=r.document,a=i(n)&&i(n.createElement);t.exports=function(t){return a?n.createElement(t):{}}},"0532":function(t,e,s){var r=s("57c4"),i=s("ed35"),n=r("iterator"),a=Array.prototype;t.exports=function(t){return void 0!==t&&(i.Array===t||a[n]===t)}},"0618":function(t,e,s){"use strict";var r=s("ac83");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.dotAll&&(e+="s"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"09ee":function(t,e,s){"use strict";var r=s("91fe"),i=s("407d").find,n=s("5751"),a=s("6885"),o="find",c=!0,h=a(o);o in[]&&Array(1)[o]((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!h},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(o)},"0b29":function(t,e,s){var r=s("a9f2");t.exports=function(t,e,s){if(r(t),void 0===e)return t;switch(s){case 0:return function(){return t.call(e)};case 1:return function(s){return t.call(e,s)};case 2:return function(s,r){return t.call(e,s,r)};case 3:return function(s,r,i){return t.call(e,s,r,i)}}return function(){return t.apply(e,arguments)}}},1072:function(t,e){e.f=Object.getOwnPropertySymbols},"12d9":function(t,e,s){var r=s("f30e"),i=/#|\.prototype\./,n=function(t,e){var s=o[a(t)];return s==h||s!=c&&("function"==typeof e?r(e):!!e)},a=n.normalize=function(t){return String(t).replace(i,".").toLowerCase()},o=n.data={},c=n.NATIVE="N",h=n.POLYFILL="P";t.exports=n},"143b":function(t,e,s){"use strict";var r,i,n,a=s("90a7"),o=s("2ba5"),c=s("f28d"),h=s("57c4"),l=s("e17a"),p=h("iterator"),u=!1,d=function(){return this};[].keys&&(n=[].keys(),"next"in n?(i=a(a(n)),i!==Object.prototype&&(r=i)):u=!0),void 0==r&&(r={}),l||c(r,p)||o(r,p,d),t.exports={IteratorPrototype:r,BUGGY_SAFARI_ITERATORS:u}},1544:function(t,e,s){var r=s("8c47"),i=s("65af").f,n={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],o=function(t){try{return i(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==n.call(t)?o(t):i(r(t))}},"16e5":function(t,e,s){var r=s("02d0"),i=s("6807");t.exports=Object.keys||function(t){return r(t,i)}},"1a8c":function(t,e,s){"use strict";var r=s("91fe"),i=s("407d").map,n=s("b1a1"),a=s("6885"),o=n("map"),c=a("map");r({target:"Array",proto:!0,forced:!o||!c},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},"1f53":function(t,e,s){var r=s("f30e");t.exports=!r((function(){function t(){}return t.prototype.constructor=null,Object.getPrototypeOf(new t)!==t.prototype}))},"200e":function(t,e,s){var r=s("d5dc"),i=s("2ba5");t.exports=function(t,e){try{i(r,t,e)}catch(s){r[t]=e}return e}},"21d4":function(t,e,s){"use strict";var r=s("0618"),i=s("dcb6"),n=RegExp.prototype.exec,a=String.prototype.replace,o=n,c=function(){var t=/a/,e=/b*/g;return n.call(t,"a"),n.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),h=i.UNSUPPORTED_Y||i.BROKEN_CARET,l=void 0!==/()??/.exec("")[1],p=c||l||h;p&&(o=function(t){var e,s,i,o,p=this,u=h&&p.sticky,d=r.call(p),f=p.source,m=0,y=t;return u&&(d=d.replace("y",""),-1===d.indexOf("g")&&(d+="g"),y=String(t).slice(p.lastIndex),p.lastIndex>0&&(!p.multiline||p.multiline&&"\n"!==t[p.lastIndex-1])&&(f="(?: "+f+")",y=" "+y,m++),s=new RegExp("^(?:"+f+")",d)),l&&(s=new RegExp("^"+f+"$(?!\\s)",d)),c&&(e=p.lastIndex),i=n.call(u?s:p,y),u?i?(i.input=i.input.slice(m),i[0]=i[0].slice(m),i.index=p.lastIndex,p.lastIndex+=i[0].length):p.lastIndex=0:c&&i&&(p.lastIndex=p.global?i.index+i[0].length:e),l&&i&&i.length>1&&a.call(i[0],s,(function(){for(o=1;o - * @author owenm - * @license MIT - */ -function r(t){return r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}function i(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function n(){return n=Object.assign||function(t){for(var e=1;e=0||(i[s]=t[s]);return i}function c(t,e){if(null==t)return{};var s,r,i=o(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(r=0;r=0||Object.prototype.propertyIsEnumerable.call(t,s)&&(i[s]=t[s])}return i}function h(t){return l(t)||p(t)||u()}function l(t){if(Array.isArray(t)){for(var e=0,s=new Array(t.length);e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(s){return!1}return!1}}function A(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function S(t,e,s,r){if(t){s=s||document;do{if(null!=e&&(">"===e[0]?t.parentNode===s&&E(t,e):E(t,e))||r&&t===s)return t;if(t===s)break}while(t=A(t))}return null}var C,k=/\s+/g;function N(t,e,s){if(t&&e)if(t.classList)t.classList[s?"add":"remove"](e);else{var r=(" "+t.className+" ").replace(k," ").replace(" "+e+" "," ");t.className=(r+(s?" "+e:"")).replace(k," ")}}function I(t,e,s){var r=t&&t.style;if(r){if(void 0===s)return document.defaultView&&document.defaultView.getComputedStyle?s=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(s=t.currentStyle),void 0===e?s:s[e];e in r||-1!==e.indexOf("webkit")||(e="-webkit-"+e),r[e]=s+("string"===typeof s?"":"px")}}function O(t,e){var s="";if("string"===typeof t)s=t;else do{var r=I(t,"transform");r&&"none"!==r&&(s=r+" "+s)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(s)}function D(t,e,s){if(t){var r=t.getElementsByTagName(e),i=0,n=r.length;if(s)for(;i=n:i<=n,!a)return r;if(r===M())break;r=q(r,!1)}return!1}function R(t,e,s){var r=0,i=0,n=t.children;while(i2&&void 0!==arguments[2]?arguments[2]:{},r=s.evt,i=c(s,["evt"]);st.pluginEvent.bind(Qt)(t,e,a({dragEl:at,parentEl:ot,ghostEl:ct,rootEl:ht,nextEl:lt,lastDownEl:pt,cloneEl:ut,cloneHidden:dt,dragStarted:St,putSortable:bt,activeSortable:Qt.active,originalEvent:r,oldIndex:ft,oldDraggableIndex:yt,newIndex:mt,newDraggableIndex:gt,hideGhostForTarget:Xt,unhideGhostForTarget:Gt,cloneNowHidden:function(){dt=!0},cloneNowShown:function(){dt=!1},dispatchSortableEvent:function(t){nt({sortable:e,name:t,originalEvent:r})}},i))};function nt(t){rt(a({putSortable:bt,cloneEl:ut,targetEl:at,rootEl:ht,oldIndex:ft,oldDraggableIndex:yt,newIndex:mt,newDraggableIndex:gt},t))}var at,ot,ct,ht,lt,pt,ut,dt,ft,mt,yt,gt,xt,bt,vt,wt,Pt,Tt,Et,At,St,Ct,kt,Nt,It,Ot=!1,Dt=!1,Mt=[],Lt=!1,_t=!1,Rt=[],jt=!1,Ft=[],Bt="undefined"!==typeof document,Ut=b,qt=y||m?"cssFloat":"float",Vt=Bt&&!v&&!b&&"draggable"in document.createElement("div"),zt=function(){if(Bt){if(m)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Ht=function(t,e){var s=I(t),r=parseInt(s.width)-parseInt(s.paddingLeft)-parseInt(s.paddingRight)-parseInt(s.borderLeftWidth)-parseInt(s.borderRightWidth),i=R(t,0,e),n=R(t,1,e),a=i&&I(i),o=n&&I(n),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+L(i).width,h=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+L(n).width;if("flex"===s.display)return"column"===s.flexDirection||"column-reverse"===s.flexDirection?"vertical":"horizontal";if("grid"===s.display)return s.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a["float"]&&"none"!==a["float"]){var l="left"===a["float"]?"left":"right";return!n||"both"!==o.clear&&o.clear!==l?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||c>=r&&"none"===s[qt]||n&&"none"===s[qt]&&c+h>r)?"vertical":"horizontal"},Wt=function(t,e,s){var r=s?t.left:t.top,i=s?t.right:t.bottom,n=s?t.width:t.height,a=s?e.left:e.top,o=s?e.right:e.bottom,c=s?e.width:e.height;return r===a||i===o||r+n/2===a+c/2},Kt=function(t,e){var s;return Mt.some((function(r){if(!j(r)){var i=L(r),n=r[Y].options.emptyInsertThreshold,a=t>=i.left-n&&t<=i.right+n,o=e>=i.top-n&&e<=i.bottom+n;return n&&a&&o?s=r:void 0}})),s},$t=function(t){function e(t,s){return function(r,i,n,a){var o=r.options.group.name&&i.options.group.name&&r.options.group.name===i.options.group.name;if(null==t&&(s||o))return!0;if(null==t||!1===t)return!1;if(s&&"clone"===t)return t;if("function"===typeof t)return e(t(r,i,n,a),s)(r,i,n,a);var c=(s?r:i).options.group.name;return!0===t||"string"===typeof t&&t===c||t.join&&t.indexOf(c)>-1}}var s={},i=t.group;i&&"object"==r(i)||(i={name:i}),s.name=i.name,s.checkPull=e(i.pull,!0),s.checkPut=e(i.put),s.revertClone=i.revertClone,t.group=s},Xt=function(){!zt&&ct&&I(ct,"display","none")},Gt=function(){!zt&&ct&&I(ct,"display","")};Bt&&document.addEventListener("click",(function(t){if(Dt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Dt=!1,!1}),!0);var Yt=function(t){if(at){t=t.touches?t.touches[0]:t;var e=Kt(t.clientX,t.clientY);if(e){var s={};for(var r in t)t.hasOwnProperty(r)&&(s[r]=t[r]);s.target=s.rootEl=e,s.preventDefault=void 0,s.stopPropagation=void 0,e[Y]._onDragOver(s)}}},Jt=function(t){at&&at.parentNode[Y]._isOutsideThisEl(t.target)};function Qt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=n({},e),t[Y]=this;var s={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Ht(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Qt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var r in st.initializePlugins(this,t,s),s)!(r in e)&&(e[r]=s[r]);for(var i in $t(e),this)"_"===i.charAt(0)&&"function"===typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&Vt,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?P(t,"pointerdown",this._onTapStart):(P(t,"mousedown",this._onTapStart),P(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(P(t,"dragover",this),P(t,"dragenter",this)),Mt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),n(this,J())}function Zt(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function te(t,e,s,r,i,n,a,o){var c,h,l=t[Y],p=l.options.onMove;return!window.CustomEvent||m||y?(c=document.createEvent("Event"),c.initEvent("move",!0,!0)):c=new CustomEvent("move",{bubbles:!0,cancelable:!0}),c.to=e,c.from=t,c.dragged=s,c.draggedRect=r,c.related=i||e,c.relatedRect=n||L(e),c.willInsertAfter=o,c.originalEvent=a,t.dispatchEvent(c),p&&(h=p.call(l,c,a)),h}function ee(t){t.draggable=!1}function se(){jt=!1}function re(t,e,s){var r=L(j(s.el,s.options.draggable)),i=10;return e?t.clientX>r.right+i||t.clientX<=r.right&&t.clientY>r.bottom&&t.clientX>=r.left:t.clientX>r.right&&t.clientY>r.top||t.clientX<=r.right&&t.clientY>r.bottom+i}function ie(t,e,s,r,i,n,a,o){var c=r?t.clientY:t.clientX,h=r?s.height:s.width,l=r?s.top:s.left,p=r?s.bottom:s.right,u=!1;if(!a)if(o&&Ntl+h*n/2:cp-Nt)return-kt}else if(c>l+h*(1-i)/2&&cp-h*n/2)?c>l+h/2?1:-1:0}function ne(t){return F(at)=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){at&&ee(at),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;T(t,"mouseup",this._disableDelayedDrag),T(t,"touchend",this._disableDelayedDrag),T(t,"touchcancel",this._disableDelayedDrag),T(t,"mousemove",this._delayedDragTouchMoveHandler),T(t,"touchmove",this._delayedDragTouchMoveHandler),T(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?P(document,"pointermove",this._onTouchMove):P(document,e?"touchmove":"mousemove",this._onTouchMove):(P(at,"dragend",this),P(ht,"dragstart",this._onDragStart));try{document.selection?ce((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(s){}},_dragStarted:function(t,e){if(Ot=!1,ht&&at){it("dragStarted",this,{evt:e}),this.nativeDraggable&&P(document,"dragover",Jt);var s=this.options;!t&&N(at,s.dragClass,!1),N(at,s.ghostClass,!0),Qt.active=this,t&&this._appendGhost(),nt({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(wt){this._lastX=wt.clientX,this._lastY=wt.clientY,Xt();var t=document.elementFromPoint(wt.clientX,wt.clientY),e=t;while(t&&t.shadowRoot){if(t=t.shadowRoot.elementFromPoint(wt.clientX,wt.clientY),t===e)break;e=t}if(at.parentNode[Y]._isOutsideThisEl(t),e)do{if(e[Y]){var s=void 0;if(s=e[Y]._onDragOver({clientX:wt.clientX,clientY:wt.clientY,target:t,rootEl:e}),s&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);Gt()}},_onTouchMove:function(t){if(vt){var e=this.options,s=e.fallbackTolerance,r=e.fallbackOffset,i=t.touches?t.touches[0]:t,n=ct&&O(ct,!0),a=ct&&n&&n.a,o=ct&&n&&n.d,c=Ut&&It&&B(It),h=(i.clientX-vt.clientX+r.x)/(a||1)+(c?c[0]-Rt[0]:0)/(a||1),l=(i.clientY-vt.clientY+r.y)/(o||1)+(c?c[1]-Rt[1]:0)/(o||1);if(!Qt.active&&!Ot){if(s&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(nt({rootEl:ot,name:"add",toEl:ot,fromEl:ht,originalEvent:t}),nt({sortable:this,name:"remove",toEl:ot,originalEvent:t}),nt({rootEl:ot,name:"sort",toEl:ot,fromEl:ht,originalEvent:t}),nt({sortable:this,name:"sort",toEl:ot,originalEvent:t})),bt&&bt.save()):mt!==ft&&mt>=0&&(nt({sortable:this,name:"update",toEl:ot,originalEvent:t}),nt({sortable:this,name:"sort",toEl:ot,originalEvent:t})),Qt.active&&(null!=mt&&-1!==mt||(mt=ft,gt=yt),nt({sortable:this,name:"end",toEl:ot,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){it("nulling",this),ht=at=ot=ct=lt=ut=pt=dt=vt=wt=St=mt=gt=ft=yt=Ct=kt=bt=xt=Qt.dragged=Qt.ghost=Qt.clone=Qt.active=null,Ft.forEach((function(t){t.checked=!0})),Ft.length=Pt=Tt=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":at&&(this._onDragOver(t),Zt(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t,e=[],s=this.el.children,r=0,i=s.length,n=this.options;r1&&(Me.forEach((function(t){r.addAnimationState({target:t,rect:Re?L(t):i}),G(t),t.fromRect=i,e.removeAnimationState(t)})),Re=!1,Be(!this.options.removeCloneOnHide,s))},dragOverCompleted:function(t){var e=t.sortable,s=t.isOwner,r=t.insertion,i=t.activeSortable,n=t.parentEl,a=t.putSortable,o=this.options;if(r){if(s&&i._hideClone(),_e=!1,o.animation&&Me.length>1&&(Re||!s&&!i.options.sort&&!a)){var c=L(Ie,!1,!0,!0);Me.forEach((function(t){t!==Ie&&(X(t,c),n.appendChild(t))})),Re=!0}if(!s)if(Re||qe(),Me.length>1){var h=De;i._showClone(e),i.options.animation&&!De&&h&&Le.forEach((function(t){i.addAnimationState({target:t,rect:Oe}),t.fromRect=Oe,t.thisAnimationDuration=null}))}else i._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,s=t.isOwner,r=t.activeSortable;if(Me.forEach((function(t){t.thisAnimationDuration=null})),r.options.animation&&!s&&r.multiDrag.isMultiDrag){Oe=n({},e);var i=O(Ie,!0);Oe.top-=i.f,Oe.left-=i.e}},dragOverAnimationComplete:function(){Re&&(Re=!1,qe())},drop:function(t){var e=t.originalEvent,s=t.rootEl,r=t.parentEl,i=t.sortable,n=t.dispatchSortableEvent,a=t.oldIndex,o=t.putSortable,c=o||this.sortable;if(e){var h=this.options,l=r.children;if(!je)if(h.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),N(Ie,h.selectedClass,!~Me.indexOf(Ie)),~Me.indexOf(Ie))Me.splice(Me.indexOf(Ie),1),ke=null,rt({sortable:i,rootEl:s,name:"deselect",targetEl:Ie,originalEvt:e});else{if(Me.push(Ie),rt({sortable:i,rootEl:s,name:"select",targetEl:Ie,originalEvt:e}),e.shiftKey&&ke&&i.el.contains(ke)){var p,u,d=F(ke),f=F(Ie);if(~d&&~f&&d!==f)for(f>d?(u=d,p=f):(u=f,p=d+1);u1){var m=L(Ie),y=F(Ie,":not(."+this.options.selectedClass+")");if(!_e&&h.animation&&(Ie.thisAnimationDuration=null),c.captureAnimationState(),!_e&&(h.animation&&(Ie.fromRect=m,Me.forEach((function(t){if(t.thisAnimationDuration=null,t!==Ie){var e=Re?L(t):m;t.fromRect=e,c.addAnimationState({target:t,rect:e})}}))),qe(),Me.forEach((function(t){l[y]?r.insertBefore(t,l[y]):r.appendChild(t),y++})),a===F(Ie))){var g=!1;Me.forEach((function(t){t.sortableIndex===F(t)||(g=!0)})),g&&n("update")}Me.forEach((function(t){G(t)})),c.animateAll()}Ne=c}(s===r||o&&"clone"!==o.lastPutMode)&&Le.forEach((function(t){t.parentNode&&t.parentNode.removeChild(t)}))}},nullingGlobal:function(){this.isMultiDrag=je=!1,Le.length=0},destroyGlobal:function(){this._deselectMultiDrag(),T(document,"pointerup",this._deselectMultiDrag),T(document,"mouseup",this._deselectMultiDrag),T(document,"touchend",this._deselectMultiDrag),T(document,"keydown",this._checkKeyDown),T(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(("undefined"===typeof je||!je)&&Ne===this.sortable&&(!t||!S(t.target,this.options.draggable,this.sortable.el,!1))&&(!t||0===t.button))while(Me.length){var e=Me[0];N(e,this.options.selectedClass,!1),Me.shift(),rt({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},n(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[Y];e&&e.options.multiDrag&&!~Me.indexOf(t)&&(Ne&&Ne!==e&&(Ne.multiDrag._deselectMultiDrag(),Ne=e),N(t,e.options.selectedClass,!0),Me.push(t))},deselect:function(t){var e=t.parentNode[Y],s=Me.indexOf(t);e&&e.options.multiDrag&&~s&&(N(t,e.options.selectedClass,!1),Me.splice(s,1))}},eventProperties:function(){var t=this,e=[],s=[];return Me.forEach((function(r){var i;e.push({multiDragElement:r,index:r.sortableIndex}),i=Re&&r!==Ie?-1:Re?F(r,":not(."+t.options.selectedClass+")"):F(r),s.push({multiDragElement:r,index:i})})),{items:h(Me),clones:[].concat(Le),oldIndicies:e,newIndicies:s}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),"ctrl"===t?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function Be(t,e){Me.forEach((function(s,r){var i=e.children[s.sortableIndex+(t?Number(r):0)];i?e.insertBefore(s,i):e.appendChild(s)}))}function Ue(t,e){Le.forEach((function(s,r){var i=e.children[s.sortableIndex+(t?Number(r):0)];i?e.insertBefore(s,i):e.appendChild(s)}))}function qe(){Me.forEach((function(t){t!==Ie&&t.parentNode&&t.parentNode.removeChild(t)}))}Qt.mount(new xe),Qt.mount(Ae,Ee),e["default"]=Qt},"252a":function(t,e,s){var r=s("d5dc"),i=s("41f6"),n=s("d9a3"),a=s("2ba5"),o=s("57c4"),c=o("iterator"),h=o("toStringTag"),l=n.values;for(var p in i){var u=r[p],d=u&&u.prototype;if(d){if(d[c]!==l)try{a(d,c,l)}catch(m){d[c]=l}if(d[h]||a(d,h,p),i[p])for(var f in n)if(d[f]!==n[f])try{a(d,f,n[f])}catch(m){d[f]=n[f]}}}},"2a2f":function(t,e,s){var r=s("d5dc");t.exports=r},"2ba5":function(t,e,s){var r=s("7a23"),i=s("c223"),n=s("aec8");t.exports=r?function(t,e,s){return i.f(t,e,n(1,s))}:function(t,e,s){return t[e]=s,t}},"2bba":function(t,e,s){var r=s("ac83");t.exports=function(t,e,s,i){try{return i?e(r(s)[0],s[1]):e(s)}catch(a){var n=t["return"];throw void 0!==n&&r(n.call(t)),a}}},"30c9":function(t,e,s){var r=s("57c4"),i=r("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(s){try{return e[i]=!1,"/./"[t](e)}catch(r){}}return!1}},3109:function(t,e,s){var r=s("d5dc"),i=s("527d"),n=r.WeakMap;t.exports="function"===typeof n&&/native code/.test(i(n))},3132:function(t,e,s){var r=s("d68d"),i=s("a8c9"),n=s("57c4"),a=n("species");t.exports=function(t,e){var s;return i(t)&&(s=t.constructor,"function"!=typeof s||s!==Array&&!i(s.prototype)?r(s)&&(s=s[a],null===s&&(s=void 0)):s=void 0),new(void 0===s?Array:s)(0===e?0:e)}},3193:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},3303:function(t,e,s){var r=s("f240"),i=s("3193"),n=function(t){return function(e,s){var n,a,o=String(i(e)),c=r(s),h=o.length;return c<0||c>=h?t?"":void 0:(n=o.charCodeAt(c),n<55296||n>56319||c+1===h||(a=o.charCodeAt(c+1))<56320||a>57343?t?o.charAt(c):n:t?o.slice(c,c+2):a-56320+(n-55296<<10)+65536)}};t.exports={codeAt:n(!1),charAt:n(!0)}},"33c4":function(t,e,s){"use strict";var r=s("91fe"),i=s("407d").findIndex,n=s("5751"),a=s("6885"),o="findIndex",c=!0,h=a(o);o in[]&&Array(1)[o]((function(){c=!1})),r({target:"Array",proto:!0,forced:c||!h},{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(o)},"354c":function(t,e,s){"use strict";var r={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,n=i&&!r.call({1:2},1);e.f=n?function(t){var e=i(this,t);return!!e&&e.enumerable}:r},"3a20":function(t,e,s){var r=s("efd1"),i=s("3d8a"),n=s("3f8e");r||i(Object.prototype,"toString",n,{unsafe:!0})},"3d8a":function(t,e,s){var r=s("d5dc"),i=s("2ba5"),n=s("f28d"),a=s("200e"),o=s("527d"),c=s("d0e2"),h=c.get,l=c.enforce,p=String(String).split("String");(t.exports=function(t,e,s,o){var c=!!o&&!!o.unsafe,h=!!o&&!!o.enumerable,u=!!o&&!!o.noTargetGet;"function"==typeof s&&("string"!=typeof e||n(s,"name")||i(s,"name",e),l(s).source=p.join("string"==typeof e?e:"")),t!==r?(c?!u&&t[e]&&(h=!0):delete t[e],h?t[e]=s:i(t,e,s)):h?t[e]=s:a(e,s)})(Function.prototype,"toString",(function(){return"function"==typeof this&&h(this).source||o(this)}))},"3e5e":function(t,e,s){"use strict";var r=s("deaa"),i=s("e1dd"),n=s("ac83"),a=s("3193"),o=s("fb8e"),c=s("536c"),h=s("684e"),l=s("81a0"),p=s("21d4"),u=s("f30e"),d=[].push,f=Math.min,m=4294967295,y=!u((function(){return!RegExp(m,"y")}));r("split",2,(function(t,e,s){var r;return r="c"=="abbc".split(/(b)*/)[1]||4!="test".split(/(?:)/,-1).length||2!="ab".split(/(?:ab)*/).length||4!=".".split(/(.?)(.?)/).length||".".split(/()()/).length>1||"".split(/.?/).length?function(t,s){var r=String(a(this)),n=void 0===s?m:s>>>0;if(0===n)return[];if(void 0===t)return[r];if(!i(t))return e.call(r,t,n);var o,c,h,l=[],u=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,y=new RegExp(t.source,u+"g");while(o=p.call(y,r)){if(c=y.lastIndex,c>f&&(l.push(r.slice(f,o.index)),o.length>1&&o.index=n))break;y.lastIndex===o.index&&y.lastIndex++}return f===r.length?!h&&y.test("")||l.push(""):l.push(r.slice(f)),l.length>n?l.slice(0,n):l}:"0".split(void 0,0).length?function(t,s){return void 0===t&&0===s?[]:e.call(this,t,s)}:e,[function(e,s){var i=a(this),n=void 0==e?void 0:e[t];return void 0!==n?n.call(e,i,s):r.call(String(i),e,s)},function(t,i){var a=s(r,t,this,i,r!==e);if(a.done)return a.value;var p=n(t),u=String(this),d=o(p,RegExp),g=p.unicode,x=(p.ignoreCase?"i":"")+(p.multiline?"m":"")+(p.unicode?"u":"")+(y?"y":"g"),b=new d(y?p:"^(?:"+p.source+")",x),v=void 0===i?m:i>>>0;if(0===v)return[];if(0===u.length)return null===l(b,u)?[u]:[];var w=0,P=0,T=[];while(P1?arguments[1]:void 0)}})},"407d":function(t,e,s){var r=s("0b29"),i=s("fee7"),n=s("ee6f"),a=s("684e"),o=s("3132"),c=[].push,h=function(t){var e=1==t,s=2==t,h=3==t,l=4==t,p=6==t,u=5==t||p;return function(d,f,m,y){for(var g,x,b=n(d),v=i(b),w=r(f,m,3),P=a(v.length),T=0,E=y||o,A=e?E(d,P):s?E(d,0):void 0;P>T;T++)if((u||T in v)&&(g=v[T],x=w(g,T,b),t))if(e)A[T]=x;else if(x)switch(t){case 3:return!0;case 5:return g;case 6:return T;case 2:c.call(A,g)}else if(l)return!1;return p?-1:h||l?l:A}};t.exports={forEach:h(0),map:h(1),filter:h(2),some:h(3),every:h(4),find:h(5),findIndex:h(6)}},"40d4":function(t,e){t.exports=function(t,e,s){if(!(t instanceof e))throw TypeError("Incorrect "+(s?s+" ":"")+"invocation");return t}},"416d":function(t,e,s){"use strict";Object.defineProperty(e,"__esModule",{value:!0});const r=!0,i=!0,n=!0,a=!0,o=!0,c=!0;class h{constructor(t,e={}){this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.rightAssociative=!!e.rightAssociative,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=null!=e.binop?e.binop:null,this.updateContext=null}}const l=new Map;function p(t,e={}){e.keyword=t;const s=new h(t,e);return l.set(t,s),s}function u(t,e){return new h(t,{beforeExpr:r,binop:e})}const d={num:new h("num",{startsExpr:i}),bigint:new h("bigint",{startsExpr:i}),regexp:new h("regexp",{startsExpr:i}),string:new h("string",{startsExpr:i}),name:new h("name",{startsExpr:i}),eof:new h("eof"),bracketL:new h("[",{beforeExpr:r,startsExpr:i}),bracketHashL:new h("#[",{beforeExpr:r,startsExpr:i}),bracketBarL:new h("[|",{beforeExpr:r,startsExpr:i}),bracketR:new h("]"),bracketBarR:new h("|]"),braceL:new h("{",{beforeExpr:r,startsExpr:i}),braceBarL:new h("{|",{beforeExpr:r,startsExpr:i}),braceHashL:new h("#{",{beforeExpr:r,startsExpr:i}),braceR:new h("}"),braceBarR:new h("|}"),parenL:new h("(",{beforeExpr:r,startsExpr:i}),parenR:new h(")"),comma:new h(",",{beforeExpr:r}),semi:new h(";",{beforeExpr:r}),colon:new h(":",{beforeExpr:r}),doubleColon:new h("::",{beforeExpr:r}),dot:new h("."),question:new h("?",{beforeExpr:r}),questionDot:new h("?."),arrow:new h("=>",{beforeExpr:r}),template:new h("template"),ellipsis:new h("...",{beforeExpr:r}),backQuote:new h("`",{startsExpr:i}),dollarBraceL:new h("${",{beforeExpr:r,startsExpr:i}),at:new h("@"),hash:new h("#",{startsExpr:i}),interpreterDirective:new h("#!..."),eq:new h("=",{beforeExpr:r,isAssign:a}),assign:new h("_=",{beforeExpr:r,isAssign:a}),incDec:new h("++/--",{prefix:o,postfix:c,startsExpr:i}),bang:new h("!",{beforeExpr:r,prefix:o,startsExpr:i}),tilde:new h("~",{beforeExpr:r,prefix:o,startsExpr:i}),pipeline:u("|>",0),nullishCoalescing:u("??",1),logicalOR:u("||",1),logicalAND:u("&&",2),bitwiseOR:u("|",3),bitwiseXOR:u("^",4),bitwiseAND:u("&",5),equality:u("==/!=/===/!==",6),relational:u("/<=/>=",7),bitShift:u("<>/>>>",8),plusMin:new h("+/-",{beforeExpr:r,binop:9,prefix:o,startsExpr:i}),modulo:new h("%",{beforeExpr:r,binop:10,startsExpr:i}),star:u("*",10),slash:u("/",10),exponent:new h("**",{beforeExpr:r,binop:11,rightAssociative:!0}),_break:p("break"),_case:p("case",{beforeExpr:r}),_catch:p("catch"),_continue:p("continue"),_debugger:p("debugger"),_default:p("default",{beforeExpr:r}),_do:p("do",{isLoop:n,beforeExpr:r}),_else:p("else",{beforeExpr:r}),_finally:p("finally"),_for:p("for",{isLoop:n}),_function:p("function",{startsExpr:i}),_if:p("if"),_return:p("return",{beforeExpr:r}),_switch:p("switch"),_throw:p("throw",{beforeExpr:r,prefix:o,startsExpr:i}),_try:p("try"),_var:p("var"),_const:p("const"),_while:p("while",{isLoop:n}),_with:p("with"),_new:p("new",{beforeExpr:r,startsExpr:i}),_this:p("this",{startsExpr:i}),_super:p("super",{startsExpr:i}),_class:p("class",{startsExpr:i}),_extends:p("extends",{beforeExpr:r}),_export:p("export"),_import:p("import",{startsExpr:i}),_null:p("null",{startsExpr:i}),_true:p("true",{startsExpr:i}),_false:p("false",{startsExpr:i}),_in:p("in",{beforeExpr:r,binop:7}),_instanceof:p("instanceof",{beforeExpr:r,binop:7}),_typeof:p("typeof",{beforeExpr:r,prefix:o,startsExpr:i}),_void:p("void",{beforeExpr:r,prefix:o,startsExpr:i}),_delete:p("delete",{beforeExpr:r,prefix:o,startsExpr:i})},f=0,m=1,y=2,g=4,x=8,b=16,v=32,w=64,P=128,T=m|y|P,E=1,A=2,S=4,C=8,k=16,N=64,I=128,O=256,D=512,M=1024,L=E|A|C|I,_=0|E|C|0,R=0|E|S|0,j=0|E|k|0,F=0|A|I,B=0|A,U=E|A|C|O,q=0|M,V=0|N,z=0|E|N,H=U|D,W=0|M,K=4,$=2,X=1,G=$|X,Y=$|K,J=X|K,Q=$,Z=X,tt=0,et=/\r\n?|[\n\u2028\u2029]/,st=new RegExp(et.source,"g");function rt(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const it=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function nt(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class at{constructor(t,e){this.line=t,this.column=e}}class ot{constructor(t,e){this.start=t,this.end=e}}function ct(t,e){let s,r=1,i=0;st.lastIndex=0;while((s=st.exec(t))&&s.index0)r=e[--i];if(null===r)return;for(let a=0;a0?r.trailingComments=n:void 0!==r.trailingComments&&(r.trailingComments=[])}processComment(t){if("Program"===t.type&&t.body.length>0)return;const e=this.state.commentStack;let s,r,i,n,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(e.length>0){const s=lt(e);s.trailingComments&&s.trailingComments[0].start>=t.end&&(i=s.trailingComments,delete s.trailingComments)}e.length>0&<(e).start>=t.start&&(s=e.pop());while(e.length>0&<(e).start>=t.start)r=e.pop();if(!r&&s&&(r=s),s)switch(t.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(t,t.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(t,t.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(t,t.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(t,t.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(t,t.elements,!0);break}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==t.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==t.type)&&this.adjustCommentsAfterTrailingComma(t,[this.state.commentPreviousNode]);if(r){if(r.leadingComments)if(r!==t&&r.leadingComments.length>0&<(r.leadingComments).end<=t.start)t.leadingComments=r.leadingComments,delete r.leadingComments;else for(n=r.leadingComments.length-2;n>=0;--n)if(r.leadingComments[n].end<=t.start){t.leadingComments=r.leadingComments.splice(0,n+1);break}}else if(this.state.leadingComments.length>0)if(lt(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(a=0;a0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(n=0;nt.start)break;const e=this.state.leadingComments.slice(0,n);e.length&&(t.leadingComments=e),i=this.state.leadingComments.slice(n),0===i.length&&(i=null)}this.state.commentPreviousNode=t,i&&(i.length&&i[0].start>=t.start&<(i).end<=t.end?t.innerComments=i:t.trailingComments=i),e.push(t)}}const ut=Object.freeze({ArgumentsDisallowedInInitializer:"'arguments' is not allowed in class field initializer",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function",AwaitExpressionFormalParameter:"await is not allowed in async function parameters",AwaitNotInAsyncFunction:"Can not use keyword 'await' outside an async function",BadGetterArity:"getter must not have any formal parameters",BadSetterArity:"setter must have exactly one formal parameter",BadSetterRestParameter:"setter function argument must not be a rest parameter",ConstructorClassField:"Classes may not have a field named 'constructor'",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'",ConstructorIsAccessor:"Class constructor may not be an accessor",ConstructorIsAsync:"Constructor can't be an async function",ConstructorIsGenerator:"Constructor can't be a generator",DeclarationMissingInitializer:"%0 require an initialization value",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon",DeletePrivateField:"Deleting a private field is not allowed",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property",DuplicateRegExpFlags:"Duplicate regular expression flag",ElementAfterRest:"Rest element must be last element",EscapedCharNotAnIdentifier:"Invalid Unicode escape",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block",IllegalBreakContinue:"Unsyntactic %0",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"'return' outside of function",ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments",ImportCallArity:"import() requires exactly one argument",ImportCallArityLtOne:"Dynamic imports require a parameter: import('a.js')",ImportCallNotNewExpression:"Cannot use new with import(...)",ImportCallSpreadArgument:"... is not allowed in import()",ImportMetaOutsideModule:"import.meta may appear only with 'sourceType: \"module\"'",ImportOutsideModule:"'import' and 'export' may appear only with 'sourceType: \"module\"'",InvalidCodePoint:"Code point out of bounds",InvalidDigit:"Expected number in radix %0",InvalidEscapeSequence:"Bad character escape sequence",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template",InvalidEscapedReservedWord:"Escape sequence in keyword %0",InvalidIdentifier:"Invalid identifier %0",InvalidLhs:"Invalid left-hand side in %0",InvalidLhsBinding:"Binding invalid left-hand side in %0",InvalidNumber:"Invalid number",InvalidOrUnexpectedToken:"Unexpected character '%0'",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern",InvalidPrivateFieldResolution:"Private name #%0 is not defined",InvalidPropertyBindingPattern:"Binding member expression",InvalidRestAssignmentPattern:"Invalid rest operator's argument",LabelRedeclaration:"Label '%0' is already declared",LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",MalformedRegExpFlags:"Invalid regular expression flag",MissingClassName:"A class name is required",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators",ModuleExportUndefined:"Export '%0' is not defined",MultipleDefaultsInSwitch:"Multiple default clauses",NewlineAfterThrow:"Illegal newline after throw",NoCatchOrFinally:"Missing catch or finally clause",NumberIdentifier:"Identifier directly after number",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences",ObsoleteAwaitStar:"await* has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"constructors in/after an Optional Chain are not allowed",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain",ParamDupe:"Argument name clash",PatternHasAccessor:"Object pattern can't contain getter or setter",PatternHasMethod:"Object pattern can't contain methods",PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.",PrivateNameRedeclaration:"Duplicate private name #%0",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",RestTrailingComma:"Unexpected trailing comma after rest element",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",StaticPrototype:"Classes may not have static property named prototype",StrictDelete:"Deleting local variable in strict mode",StrictEvalArguments:"Assigning to '%0' in strict mode",StrictEvalArgumentsBinding:"Binding '%0' in strict mode",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode",StrictWith:"'with' in strict mode",SuperNotAllowed:"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super",TrailingDecorator:"Decorators must be attached to a class element",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal',UnexpectedDigitAfterHash:"Unexpected digit after hash token",UnexpectedImportExport:"'import' and 'export' may only appear at the top level",UnexpectedKeyword:"Unexpected keyword '%0'",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context",UnexpectedNewTarget:"new.target can only be used in functions",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word '%0'",UnexpectedSuper:"super is only allowed in object methods and classes",UnexpectedToken:"Unexpected token '%'",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"import can only be used in import() or import.meta",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties",UnsupportedSuper:"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])",UnterminatedComment:"Unterminated comment",UnterminatedRegExp:"Unterminated regular expression",UnterminatedString:"Unterminated string constant",UnterminatedTemplate:"Unterminated template",VarRedeclaration:"Identifier '%0' has already been declared",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator",YieldInParameter:"yield is not allowed in generator parameters",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0"});class dt extends pt{getLocationForPosition(t){let e;return e=t===this.state.start?this.state.startLoc:t===this.state.lastTokStart?this.state.lastTokStartLoc:t===this.state.end?this.state.endLoc:t===this.state.lastTokEnd?this.state.lastTokEndLoc:ct(this.input,t),e}raise(t,e,...s){return this.raiseWithData(t,void 0,e,...s)}raiseWithData(t,e,s,...r){const i=this.getLocationForPosition(t),n=s.replace(/%(\d+)/g,(t,e)=>r[e])+` (${i.line}:${i.column})`;return this._raise(Object.assign({loc:i,pos:t},e),n)}_raise(t,e){const s=new SyntaxError(e);if(Object.assign(s,t),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(s),s;throw s}}function ft(t){return null!=t&&"Property"===t.type&&"init"===t.kind&&!1===t.method}var mt=t=>class extends t{estreeParseRegExpLiteral({pattern:t,flags:e}){let s=null;try{s=new RegExp(t,e)}catch(i){}const r=this.estreeParseLiteral(s);return r.regex={pattern:t,flags:e},r}estreeParseBigIntLiteral(t){const e="undefined"!==typeof BigInt?BigInt(t):null,s=this.estreeParseLiteral(e);return s.bigint=String(s.value||t),s}estreeParseLiteral(t){return this.parseLiteral(t,"Literal")}directiveToStmt(t){const e=t.value,s=this.startNodeAt(t.start,t.loc.start),r=this.startNodeAt(e.start,e.loc.start);return r.value=e.value,r.raw=e.extra.raw,s.expression=this.finishNodeAt(r,"Literal",e.end,e.loc.end),s.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(s,"ExpressionStatement",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){ft(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}checkGetterSetterParams(t){const e=t,s="get"===e.kind?0:1,r=e.start;e.value.params.length!==s?"get"===t.kind?this.raise(r,ut.BadGetterArity):this.raise(r,ut.BadSetterArity):"set"===e.kind&&"RestElement"===e.value.params[0].type&&this.raise(r,ut.BadSetterRestParameter)}checkLVal(t,e=V,s,r,i){switch(t.type){case"ObjectPattern":t.properties.forEach(t=>{this.checkLVal("Property"===t.type?t.value:t,e,s,"object destructuring pattern",i)});break;default:super.checkLVal(t,e,s,r,i)}}checkDuplicatedProto(t,e,s){if("SpreadElement"===t.type||t.computed||t.method||t.shorthand)return;const r=t.key,i="Identifier"===r.type?r.name:String(r.value);"__proto__"===i&&"init"===t.kind&&(e.used&&(s&&-1===s.doubleProto?s.doubleProto=r.start:this.raise(r.start,ut.DuplicateProto)),e.used=!0)}isValidDirective(t){return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"===typeof t.expression.value&&(!t.expression.extra||!t.expression.extra.parenthesized)}stmtToDirective(t){const e=super.stmtToDirective(t),s=t.expression.value;return e.value.value=s,e}parseBlockBody(t,e,s,r){super.parseBlockBody(t,e,s,r);const i=t.directives.map(t=>this.directiveToStmt(t));t.body=i.concat(t.body),delete t.directives}pushClassMethod(t,e,s,r,i,n){this.parseMethod(e,s,r,i,n,"ClassMethod",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parseExprAtom(t){switch(this.state.type){case d.num:case d.string:return this.estreeParseLiteral(this.state.value);case d.regexp:return this.estreeParseRegExpLiteral(this.state.value);case d.bigint:return this.estreeParseBigIntLiteral(this.state.value);case d._null:return this.estreeParseLiteral(null);case d._true:return this.estreeParseLiteral(!0);case d._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(t)}}parseLiteral(t,e,s,r){const i=super.parseLiteral(t,e,s,r);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(t,e,s=!1){super.parseFunctionBody(t,e,s),t.expression="BlockStatement"!==t.body.type}parseMethod(t,e,s,r,i,n,a=!1){let o=this.startNode();return o.kind=t.kind,o=super.parseMethod(o,e,s,r,i,n,a),o.type="FunctionExpression",delete o.kind,t.value=o,n="ClassMethod"===n?"MethodDefinition":n,this.finishNode(t,n)}parseObjectMethod(t,e,s,r,i){const n=super.parseObjectMethod(t,e,s,r,i);return n&&(n.type="Property","method"===n.kind&&(n.kind="init"),n.shorthand=!1),n}parseObjectProperty(t,e,s,r,i){const n=super.parseObjectProperty(t,e,s,r,i);return n&&(n.kind="init",n.type="Property"),n}toAssignable(t){return ft(t)?(this.toAssignable(t.value),t):super.toAssignable(t)}toAssignableObjectExpressionProp(t,e){if("get"===t.kind||"set"===t.kind)throw this.raise(t.key.start,ut.PatternHasAccessor);if(t.method)throw this.raise(t.key.start,ut.PatternHasMethod);super.toAssignableObjectExpressionProp(t,e)}finishCallExpression(t,e){return super.finishCallExpression(t,e),"Import"===t.callee.type&&(t.type="ImportExpression",t.source=t.arguments[0],delete t.arguments,delete t.callee),t}toReferencedListDeep(t,e){t&&super.toReferencedListDeep(t,e)}parseExport(t){switch(super.parseExport(t),t.type){case"ExportAllDeclaration":t.exported=null;break;case"ExportNamedDeclaration":1===t.specifiers.length&&"ExportNamespaceSpecifier"===t.specifiers[0].type&&(t.type="ExportAllDeclaration",t.exported=t.specifiers[0].exported,delete t.specifiers);break}return t}};class yt{constructor(t,e,s,r){this.token=t,this.isExpr=!!e,this.preserveSpace=!!s,this.override=r}}const gt={braceStatement:new yt("{",!1),braceExpression:new yt("{",!0),templateQuasi:new yt("${",!1),parenStatement:new yt("(",!1),parenExpression:new yt("(",!0),template:new yt("`",!0,!0,t=>t.readTmplToken()),functionExpression:new yt("function",!0),functionStatement:new yt("function",!1)};d.parenR.updateContext=d.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let t=this.state.context.pop();t===gt.braceStatement&&"function"===this.curContext().token&&(t=this.state.context.pop()),this.state.exprAllowed=!t.isExpr},d.name.updateContext=function(t){let e=!1;t!==d.dot&&("of"===this.state.value&&!this.state.exprAllowed||"yield"===this.state.value&&this.prodParam.hasYield)&&(e=!0),this.state.exprAllowed=e,this.state.isIterator&&(this.state.isIterator=!1)},d.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?gt.braceStatement:gt.braceExpression),this.state.exprAllowed=!0},d.dollarBraceL.updateContext=function(){this.state.context.push(gt.templateQuasi),this.state.exprAllowed=!0},d.parenL.updateContext=function(t){const e=t===d._if||t===d._for||t===d._with||t===d._while;this.state.context.push(e?gt.parenStatement:gt.parenExpression),this.state.exprAllowed=!0},d.incDec.updateContext=function(){},d._function.updateContext=d._class.updateContext=function(t){!t.beforeExpr||t===d.semi||t===d._else||t===d._return&&et.test(this.input.slice(this.state.lastTokEnd,this.state.start))||(t===d.colon||t===d.braceL)&&this.curContext()===gt.b_stat?this.state.context.push(gt.functionStatement):this.state.context.push(gt.functionExpression),this.state.exprAllowed=!1},d.backQuote.updateContext=function(){this.curContext()===gt.template?this.state.context.pop():this.state.context.push(gt.template),this.state.exprAllowed=!1};let xt="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",bt="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const vt=new RegExp("["+xt+"]"),wt=new RegExp("["+xt+bt+"]");xt=bt=null;const Pt=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],Tt=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function Et(t,e){let s=65536;for(let r=0,i=e.length;rt)return!1;if(s+=e[r+1],s>=t)return!0}return!1}function At(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&vt.test(String.fromCharCode(t)):Et(t,Pt)))}function St(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&wt.test(String.fromCharCode(t)):Et(t,Pt)||Et(t,Tt))))}const Ct={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},kt=new Set(Ct.keyword),Nt=new Set(Ct.strict),It=new Set(Ct.strictBind);function Ot(t,e){return e&&"await"===t||"enum"===t}function Dt(t,e){return Ot(t,e)||Nt.has(t)}function Mt(t){return It.has(t)}function Lt(t,e){return Dt(t,e)||Mt(t)}function _t(t){return kt.has(t)}const Rt=/^in(stanceof)?$/;function jt(t,e){return 64===t&&64===e}const Ft=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),Bt=Object.freeze({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module",AssignReservedType:"Cannot overwrite reserved type %0",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions",InexactVariance:"Explicit inexact syntax cannot have variance",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`",NestedFlowComment:"Cannot have a flow comment inside another flow comment",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SpreadVariance:"Spread properties cannot have variance",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object",UnexpectedReservedType:"Unexpected reserved type %0",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint"',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module",UnterminatedFlowComment:"Unterminated flow-comment"});function Ut(t){return"DeclareExportAllDeclaration"===t.type||"DeclareExportDeclaration"===t.type&&(!t.declaration||"TypeAlias"!==t.declaration.type&&"InterfaceDeclaration"!==t.declaration.type)}function qt(t){return"type"===t.importKind||"typeof"===t.importKind}function Vt(t){return(t.type===d.name||!!t.type.keyword)&&"from"!==t.value}const zt={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Ht(t,e){const s=[],r=[];for(let i=0;iclass extends t{constructor(t,e){super(t,e),this.flowPragma=void 0}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(t,e){return t!==d.string&&t!==d.semi&&t!==d.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=Wt.exec(t.value);if(e)if("flow"===e[1])this.flowPragma="flow";else{if("noflow"!==e[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||d.colon);const s=this.flowParseType();return this.state.inType=e,s}flowParsePredicate(){const t=this.startNode(),e=this.state.startLoc,s=this.state.start;this.expect(d.modulo);const r=this.state.startLoc;return this.expectContextual("checks"),e.line===r.line&&e.column===r.column-1||this.raise(s,Bt.UnexpectedSpaceBetweenModuloChecks),this.eat(d.parenL)?(t.value=this.parseExpression(),this.expect(d.parenR),this.finishNode(t,"DeclaredPredicate")):this.finishNode(t,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(d.colon);let e=null,s=null;return this.match(d.modulo)?(this.state.inType=t,s=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(d.modulo)&&(s=this.flowParsePredicate())),[e,s]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,"DeclareClass")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),s=this.startNode(),r=this.startNode();this.isRelational("<")?s.typeParameters=this.flowParseTypeParameterDeclaration():s.typeParameters=null,this.expect(d.parenL);const i=this.flowParseFunctionTypeParams();return s.params=i.params,s.rest=i.rest,this.expect(d.parenR),[s.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),r.typeAnnotation=this.finishNode(s,"FunctionTypeAnnotation"),e.typeAnnotation=this.finishNode(r,"TypeAnnotation"),this.resetEndLocation(e),this.semicolon(),this.finishNode(t,"DeclareFunction")}flowParseDeclare(t,e){if(this.match(d._class))return this.flowParseDeclareClass(t);if(this.match(d._function))return this.flowParseDeclareFunction(t);if(this.match(d._var))return this.flowParseDeclareVariable(t);if(this.eatContextual("module"))return this.match(d.dot)?this.flowParseDeclareModuleExports(t):(e&&this.raise(this.state.lastTokStart,Bt.NestedDeclareModule),this.flowParseDeclareModule(t));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(t);if(this.isContextual("interface"))return this.flowParseDeclareInterface(t);if(this.match(d._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,R,t.id.start),this.semicolon(),this.finishNode(t,"DeclareVariable")}flowParseDeclareModule(t){this.scope.enter(f),this.match(d.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),s=e.body=[];this.expect(d.braceL);while(!this.match(d.braceR)){let t=this.startNode();this.match(d._import)?(this.next(),this.isContextual("type")||this.match(d._typeof)||this.raise(this.state.lastTokStart,Bt.InvalidNonTypeImportInDeclareModule),this.parseImport(t)):(this.expectContextual("declare",Bt.UnsupportedStatementInDeclareModule),t=this.flowParseDeclare(t,!0)),s.push(t)}this.scope.exit(),this.expect(d.braceR),this.finishNode(e,"BlockStatement");let r=null,i=!1;return s.forEach(t=>{Ut(t)?("CommonJS"===r&&this.raise(t.start,Bt.AmbiguousDeclareModuleKind),r="ES"):"DeclareModuleExports"===t.type&&(i&&this.raise(t.start,Bt.DuplicateDeclareModuleExports),"ES"===r&&this.raise(t.start,Bt.AmbiguousDeclareModuleKind),r="CommonJS",i=!0)}),t.kind=r||"CommonJS",this.finishNode(t,"DeclareModule")}flowParseDeclareExportDeclaration(t,e){if(this.expect(d._export),this.eat(d._default))return this.match(d._function)||this.match(d._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,"DeclareExportDeclaration");if(this.match(d._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!e){const t=this.state.value,e=zt[t];throw this.raise(this.state.start,Bt.UnsupportedDeclareExportKind,t,e)}if(this.match(d._var)||this.match(d._function)||this.match(d._class)||this.isContextual("opaque"))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,"DeclareExportDeclaration");if(this.match(d.star)||this.match(d.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return t=this.parseExport(t),"ExportNamedDeclaration"===t.type&&(t.type="ExportDeclaration",t.default=!1,delete t.exportKind),t.type="Declare"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual("exports"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,"DeclareModuleExports")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type="DeclareTypeAlias",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type="DeclareOpaqueType",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareInterface")}flowParseInterfaceish(t,e=!1){if(t.id=this.flowParseRestrictedIdentifier(!e,!0),this.scope.declareName(t.id.name,e?j:_,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(d._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(d.comma));if(this.isContextual("mixins")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(d.comma))}if(this.isContextual("implements")){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(d.comma))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,"InterfaceExtends")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,"InterfaceDeclaration")}checkNotUnderscore(t){"_"===t&&this.raise(this.state.start,Bt.UnexpectedReservedUnderscore)}checkReservedType(t,e,s){Ft.has(t)&&this.raise(e,s?Bt.AssignReservedType:Bt.UnexpectedReservedType,t)}flowParseRestrictedIdentifier(t,e){return this.checkReservedType(this.state.value,this.state.start,e),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(t.id.name,_,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(d.eq),this.semicolon(),this.finishNode(t,"TypeAlias")}flowParseOpaqueType(t,e){return this.expectContextual("type"),t.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(t.id.name,_,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(d.colon)&&(t.supertype=this.flowParseTypeInitialiser(d.colon)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(d.eq)),this.semicolon(),this.finishNode(t,"OpaqueType")}flowParseTypeParameter(t=!1){const e=this.state.start,s=this.startNode(),r=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return s.name=i.name,s.variance=r,s.bound=i.typeAnnotation,this.match(d.eq)?(this.eat(d.eq),s.default=this.flowParseType()):t&&this.raise(e,Bt.MissingTypeParamDefault),this.finishNode(s,"TypeParameter")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational("<")||this.match(d.jsxTagStart)?this.next():this.unexpected();let s=!1;do{const t=this.flowParseTypeParameter(s);e.params.push(t),t.default&&(s=!0),this.isRelational(">")||this.expect(d.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational("<");const s=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!1;while(!this.isRelational(">"))t.params.push(this.flowParseType()),this.isRelational(">")||this.expect(d.comma);return this.state.noAnonFunctionType=s,this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational("<");while(!this.isRelational(">"))t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(d.comma);return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual("interface"),t.extends=[],this.eat(d._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(d.comma));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(d.num)||this.match(d.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,s){return t.static=e,this.lookahead().type===d.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(d.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=s,this.finishNode(t,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(d.bracketR),this.expect(d.bracketR),this.isRelational("<")||this.match(d.parenL)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(d.question)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(t){t.params=[],t.rest=null,t.typeParameters=null,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(d.parenL);while(!this.match(d.parenR)&&!this.match(d.ellipsis))t.params.push(this.flowParseFunctionTypeParam()),this.match(d.parenR)||this.expect(d.comma);return this.eat(d.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam()),this.expect(d.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(t,e){const s=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(s),this.finishNode(t,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:t,allowExact:e,allowSpread:s,allowProto:r,allowInexact:i}){const n=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,c;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let h=!1;e&&this.match(d.braceBarL)?(this.expect(d.braceBarL),o=d.braceBarR,c=!0):(this.expect(d.braceL),o=d.braceR,c=!1),a.exact=c;while(!this.match(o)){let e=!1,n=null,o=null;const l=this.startNode();if(r&&this.isContextual("proto")){const e=this.lookahead();e.type!==d.colon&&e.type!==d.question&&(this.next(),n=this.state.start,t=!1)}if(t&&this.isContextual("static")){const t=this.lookahead();t.type!==d.colon&&t.type!==d.question&&(this.next(),e=!0)}const p=this.flowParseVariance();if(this.eat(d.bracketL))null!=n&&this.unexpected(n),this.eat(d.bracketL)?(p&&this.unexpected(p.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(l,e))):a.indexers.push(this.flowParseObjectTypeIndexer(l,e,p));else if(this.match(d.parenL)||this.isRelational("<"))null!=n&&this.unexpected(n),p&&this.unexpected(p.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(l,e));else{let t="init";if(this.isContextual("get")||this.isContextual("set")){const e=this.lookahead();e.type!==d.name&&e.type!==d.string&&e.type!==d.num||(t=this.state.value,this.next())}const r=this.flowParseObjectTypeProperty(l,e,n,p,t,s,null!=i?i:!c);null===r?(h=!0,o=this.state.lastTokStart):a.properties.push(r)}this.flowObjectTypeSemicolon(),!o||this.match(d.braceR)||this.match(d.braceBarR)||this.raise(o,Bt.UnexpectedExplicitInexactInObject)}this.expect(o),s&&(a.inexact=h);const l=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=n,l}flowParseObjectTypeProperty(t,e,s,r,i,n,a){if(this.eat(d.ellipsis)){const e=this.match(d.comma)||this.match(d.semi)||this.match(d.braceR)||this.match(d.braceBarR);return e?(n?a||this.raise(this.state.lastTokStart,Bt.InexactInsideExact):this.raise(this.state.lastTokStart,Bt.InexactInsideNonObject),r&&this.raise(r.start,Bt.InexactVariance),null):(n||this.raise(this.state.lastTokStart,Bt.UnexpectedSpreadType),null!=s&&this.unexpected(s),r&&this.raise(r.start,Bt.SpreadVariance),t.argument=this.flowParseType(),this.finishNode(t,"ObjectTypeSpreadProperty"))}{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=s,t.kind=i;let n=!1;return this.isRelational("<")||this.match(d.parenL)?(t.method=!0,null!=s&&this.unexpected(s),r&&this.unexpected(r.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(t)):("init"!==i&&this.unexpected(),t.method=!1,this.eat(d.question)&&(n=!0),t.value=this.flowParseTypeInitialiser(),t.variance=r),t.optional=n,this.finishNode(t,"ObjectTypeProperty")}}flowCheckGetterSetterParams(t){const e="get"===t.kind?0:1,s=t.start,r=t.value.params.length+(t.value.rest?1:0);r!==e&&("get"===t.kind?this.raise(s,ut.BadGetterArity):this.raise(s,ut.BadSetterArity)),"set"===t.kind&&t.value.rest&&this.raise(s,ut.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(d.semi)||this.eat(d.comma)||this.match(d.braceR)||this.match(d.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,s){t=t||this.state.start,e=e||this.state.startLoc;let r=s||this.flowParseRestrictedIdentifier(!0);while(this.eat(d.dot)){const s=this.startNodeAt(t,e);s.qualification=r,s.id=this.flowParseRestrictedIdentifier(!0),r=this.finishNode(s,"QualifiedTypeIdentifier")}return r}flowParseGenericType(t,e,s){const r=this.startNodeAt(t,e);return r.typeParameters=null,r.id=this.flowParseQualifiedTypeIdentifier(t,e,s),this.isRelational("<")&&(r.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(r,"GenericTypeAnnotation")}flowParseTypeofType(){const t=this.startNode();return this.expect(d._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,"TypeofTypeAnnotation")}flowParseTupleType(){const t=this.startNode();t.types=[],this.expect(d.bracketL);while(this.state.possuper.parseFunctionBody(t,!0,s)):super.parseFunctionBody(t,!1,s)}parseFunctionBodyAndFinish(t,e,s=!1){if(this.match(d.colon)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(t,e,s)}parseStatement(t,e){if(this.state.strict&&this.match(d.name)&&"interface"===this.state.value){const t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}{const s=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(s)||(this.flowPragma=null),s}}parseExpressionStatement(t,e){if("Identifier"===e.type)if("declare"===e.name){if(this.match(d._class)||this.match(d.name)||this.match(d._function)||this.match(d._var)||this.match(d._export))return this.flowParseDeclare(t)}else if(this.match(d.name)){if("interface"===e.name)return this.flowParseInterface(t);if("type"===e.name)return this.flowParseTypeAlias(t);if("opaque"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(d.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDefaultExpression()}parseConditional(t,e,s,r,i){if(!this.match(d.question))return t;if(i){const n=this.tryParse(()=>super.parseConditional(t,e,s,r));return n.node?(n.error&&(this.state=n.failState),n.node):(i.start=n.error.pos||this.state.start,t)}this.expect(d.question);const n=this.state.clone(),a=this.state.noArrowAt,o=this.startNodeAt(s,r);let{consequent:c,failed:h}=this.tryParseConditionalConsequent(),[l,p]=this.getArrowLikeExpressions(c);if(h||p.length>0){const t=[...a];if(p.length>0){this.state=n,this.state.noArrowAt=t;for(let e=0;e1&&this.raise(n.start,Bt.AmbiguousConditionalArrow),h&&1===l.length&&(this.state=n,this.state.noArrowAt=t.concat(l[0].start),({consequent:c,failed:h}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(c,!0),this.state.noArrowAt=a,this.expect(d.colon),o.test=t,o.consequent=c,o.alternate=this.forwardNoArrowParamsConversionAt(o,()=>this.parseMaybeAssign(e,void 0,void 0,void 0)),this.finishNode(o,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssign(),e=!this.match(d.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const s=[t],r=[];while(0!==s.length){const t=s.pop();"ArrowFunctionExpression"===t.type?(t.typeParameters||!t.returnType?this.finishArrowValidation(t):r.push(t),s.push(t.body)):"ConditionalExpression"===t.type&&(s.push(t.consequent),s.push(t.alternate))}return e?(r.forEach(t=>this.finishArrowValidation(t)),[r,[]]):Ht(r,t=>t.params.every(t=>this.isAssignable(t,!0)))}finishArrowValidation(t){var e;this.toAssignableList(t.params,null==(e=t.extra)?void 0:e.trailingComma),this.scope.enter(y|g),super.checkParams(t,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(t,e){let s;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),s=e(),this.state.noArrowParamsConversionAt.pop()):s=e(),s}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(d.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(d.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(r,"TypeCastExpression")}return t}assertModuleNodeAllowed(t){"ImportDeclaration"===t.type&&("type"===t.importKind||"typeof"===t.importKind)||"ExportNamedDeclaration"===t.type&&"type"===t.exportKind||"ExportAllDeclaration"===t.type&&"type"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return"ExportNamedDeclaration"!==e.type&&"ExportAllDeclaration"!==e.type||(e.exportKind=e.exportKind||"value"),e}parseExportDeclaration(t){if(this.isContextual("type")){t.exportKind="type";const e=this.startNode();return this.next(),this.match(d.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual("opaque")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual("interface")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual("enum")){t.exportKind="value";const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==d.star)&&(t.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,s=super.maybeParseExportNamespaceSpecifier(t);return s&&"type"===t.exportKind&&this.unexpected(e),s}parseClassId(t,e,s){super.parseClassId(t,e,s),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(t,e,s,r){const i=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(t,e))return;e.declare=!0}super.parseClassMember(t,e,s,r),e.declare&&("ClassProperty"!==e.type&&"ClassPrivateProperty"!==e.type?this.raise(i,Bt.DeclareClassElement):e.value&&this.raise(e.value.start,Bt.DeclareClassFieldInitializer))}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(d.braceBarL,2):!this.state.inType||62!==t&&60!==t?jt(t,e)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(t):this.finishOp(d.relational,1)}isAssignable(t,e){switch(t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const e=t.properties.length-1;return t.properties.every((t,s)=>"ObjectMethod"!==t.type&&(s===e||"SpreadElement"===t.type)&&this.isAssignable(t))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every(t=>this.isAssignable(t));case"AssignmentExpression":return"="===t.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!e;default:return!1}}toAssignable(t){return"TypeCastExpression"===t.type?super.toAssignable(this.typeCastToParameter(t)):super.toAssignable(t)}toAssignableList(t,e){for(let s=0;s1)&&e||this.raise(r.typeAnnotation.start,Bt.TypeCastInPattern)}return t}checkLVal(t,e=V,s,r){if("TypeCastExpression"!==t.type)return super.checkLVal(t,e,s,r)}parseClassProperty(t){return this.match(d.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(t)}parseClassPrivateProperty(t){return this.match(d.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(d.colon)||super.isClassProperty()}isNonstaticConstructor(t){return!this.match(d.colon)&&super.isNonstaticConstructor(t)}pushClassMethod(t,e,s,r,i,n){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,"ClassImplements"))}while(this.eat(d.comma))}}parsePropertyName(t,e){const s=this.flowParseVariance(),r=super.parsePropertyName(t,e);return t.variance=s,r}parseObjPropValue(t,e,s,r,i,n,a,o){let c;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&(c=this.flowParseTypeParameterDeclaration(),this.match(d.parenL)||this.unexpected()),super.parseObjPropValue(t,e,s,r,i,n,a,o),c&&((t.value||t).typeParameters=c)}parseAssignableListItemTypes(t){return this.eat(d.question)&&("Identifier"!==t.type&&this.raise(t.start,Bt.OptionalBindingPattern),t.optional=!0),this.match(d.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),this.resetEndLocation(t),t}parseMaybeDefault(t,e,s){const r=super.parseMaybeDefault(t,e,s);return"AssignmentPattern"===r.type&&r.typeAnnotation&&r.right.startsuper.parseMaybeAssign(t,e,s,r),n),!i.error)return i.node;const{context:a}=this.state;a[a.length-1]===gt.j_oTag?a.length-=2:a[a.length-1]===gt.j_expr&&(a.length-=1)}if(i&&i.error||this.isRelational("<")){let a;n=n||this.state.clone();const o=this.tryParse(()=>{a=this.flowParseTypeParameterDeclaration();const i=this.forwardNoArrowParamsConversionAt(a,()=>super.parseMaybeAssign(t,e,s,r));return i.typeParameters=a,this.resetStartLocationFromNode(i,a),i},n),c=o.node&&"ArrowFunctionExpression"===o.node.type?o.node:null;if(!o.error&&c)return c;if(i&&i.node)return this.state=i.failState,i.node;if(c)return this.state=o.failState,c;if(i&&i.thrown)throw i.error;if(o.thrown)throw o.error;throw this.raise(a.start,Bt.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(t,e,s,r)}parseArrow(t){if(this.match(d.colon)){const e=this.tryParse(()=>{const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const s=this.startNode();return[s.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=e,this.canInsertSemicolon()&&this.unexpected(),this.match(d.arrow)||this.unexpected(),s});if(e.thrown)return null;e.error&&(this.state=e.failState),t.returnType=e.node.typeAnnotation?this.finishNode(e.node,"TypeAnnotation"):null}return super.parseArrow(t)}shouldParseArrow(){return this.match(d.colon)||super.shouldParseArrow()}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,s){if(!s||-1===this.state.noArrowParamsConversionAt.indexOf(t.start))return super.checkParams(...arguments)}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,s,r){if("Identifier"===t.type&&"async"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const r=this.startNodeAt(e,s);r.callee=t,r.arguments=this.parseCallExpressionArguments(d.parenR,!1),t=this.finishNode(r,"CallExpression")}else if("Identifier"===t.type&&"async"===t.name&&this.isRelational("<")){const i=this.state.clone(),n=this.tryParse(t=>this.parseAsyncArrowWithTypeParameters(e,s)||t(),i);if(!n.error&&!n.aborted)return n.node;const a=this.tryParse(()=>super.parseSubscripts(t,e,s,r),i);if(a.node&&!a.error)return a.node;if(n.node)return this.state=n.failState,n.node;if(a.node)return this.state=a.failState,a.node;throw n.error||a.error}return super.parseSubscripts(t,e,s,r)}parseSubscript(t,e,s,r,i){if(this.match(d.questionDot)&&this.isLookaheadRelational("<")){if(i.optionalChainMember=!0,r)return i.stop=!0,t;this.next();const n=this.startNodeAt(e,s);return n.callee=t,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(d.parenL),n.arguments=this.parseCallExpressionArguments(d.parenR,!1),n.optional=!0,this.finishCallExpression(n,!0)}if(!r&&this.shouldParseTypes()&&this.isRelational("<")){const r=this.startNodeAt(e,s);r.callee=t;const n=this.tryParse(()=>(r.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(d.parenL),r.arguments=this.parseCallExpressionArguments(d.parenR,!1),i.optionalChainMember&&(r.optional=!1),this.finishCallExpression(r,i.optionalChainMember)));if(n.node)return n.error&&(this.state=n.failState),n.node}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){let e=null;this.shouldParseTypes()&&this.isRelational("<")&&(e=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const s=this.startNodeAt(t,e);if(this.parseFunctionParams(s),this.parseArrow(s))return this.parseArrowExpression(s,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(d.braceBarR,2)}parseTopLevel(t,e){const s=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.raise(this.state.pos,Bt.UnterminatedFlowComment),s}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,Bt.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const t=this.input.indexOf("*-/",this.state.pos+=2);if(-1===t)throw this.raise(this.state.pos-2,ut.UnterminatedComment);this.state.pos=t+3}else super.skipBlockComment()}skipFlowComment(){const{pos:t}=this.state;let e=2;while([32,9].includes(this.input.charCodeAt(t+e)))e++;const s=this.input.charCodeAt(e+t),r=this.input.charCodeAt(e+t+1);return 58===s&&58===r?e+2:"flow-include"===this.input.slice(e+t,e+t+12)?e+12:58===s&&58!==r&&e}hasFlowCommentCompletion(){const t=this.input.indexOf("*/",this.state.pos);if(-1===t)throw this.raise(this.state.pos,ut.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,Bt.EnumBooleanMemberNotInitialized,s,e)}flowEnumErrorInvalidMemberName(t,{enumName:e,memberName:s}){const r=s[0].toUpperCase()+s.slice(1);this.raise(t,Bt.EnumInvalidMemberName,s,r,e)}flowEnumErrorDuplicateMemberName(t,{enumName:e,memberName:s}){this.raise(t,Bt.EnumDuplicateMemberName,s,e)}flowEnumErrorInconsistentMemberValues(t,{enumName:e}){this.raise(t,Bt.EnumInconsistentMemberValues,e)}flowEnumErrorInvalidExplicitType(t,{enumName:e,suppliedType:s}){return this.raise(t,null===s?Bt.EnumInvalidExplicitTypeUnknownSupplied:Bt.EnumInvalidExplicitType,e,s)}flowEnumErrorInvalidMemberInitializer(t,{enumName:e,explicitType:s,memberName:r}){let i=null;switch(s){case"boolean":case"number":case"string":i=Bt.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":i=Bt.EnumInvalidMemberInitializerSymbolType;break;default:i=Bt.EnumInvalidMemberInitializerUnknownType}return this.raise(t,i,e,r,s)}flowEnumErrorNumberMemberNotInitialized(t,{enumName:e,memberName:s}){this.raise(t,Bt.EnumNumberMemberNotInitialized,e,s)}flowEnumErrorStringMemberInconsistentlyInitailized(t,{enumName:e}){this.raise(t,Bt.EnumStringMemberInconsistentlyInitailized,e)}flowEnumMemberInit(){const t=this.state.start,e=()=>this.match(d.comma)||this.match(d.braceR);switch(this.state.type){case d.num:{const s=this.parseLiteral(this.state.value,"NumericLiteral");return e()?{type:"number",pos:s.start,value:s}:{type:"invalid",pos:t}}case d.string:{const s=this.parseLiteral(this.state.value,"StringLiteral");return e()?{type:"string",pos:s.start,value:s}:{type:"invalid",pos:t}}case d._true:case d._false:{const s=this.parseBooleanLiteral();return e()?{type:"boolean",pos:s.start,value:s}:{type:"invalid",pos:t}}default:return{type:"invalid",pos:t}}}flowEnumMemberRaw(){const t=this.state.start,e=this.parseIdentifier(!0),s=this.eat(d.eq)?this.flowEnumMemberInit():{type:"none",pos:t};return{id:e,init:s}}flowEnumCheckExplicitTypeMismatch(t,e,s){const{explicitType:r}=e;null!==r&&r!==s&&this.flowEnumErrorInvalidMemberInitializer(t,e)}flowEnumMembers({enumName:t,explicitType:e}){const s=new Set,r={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};while(!this.match(d.braceR)){const i=this.startNode(),{id:n,init:a}=this.flowEnumMemberRaw(),o=n.name;if(""===o)continue;/^[a-z]/.test(o)&&this.flowEnumErrorInvalidMemberName(n.start,{enumName:t,memberName:o}),s.has(o)&&this.flowEnumErrorDuplicateMemberName(n.start,{enumName:t,memberName:o}),s.add(o);const c={enumName:t,explicitType:e,memberName:o};switch(i.id=n,a.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(a.pos,c,"boolean"),i.init=a.value,r.booleanMembers.push(this.finishNode(i,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(a.pos,c,"number"),i.init=a.value,r.numberMembers.push(this.finishNode(i,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(a.pos,c,"string"),i.init=a.value,r.stringMembers.push(this.finishNode(i,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(a.pos,c);case"none":switch(e){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(a.pos,c);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(a.pos,c);break;default:r.defaultedMembers.push(this.finishNode(i,"EnumDefaultedMember"))}}this.match(d.braceR)||this.expect(d.comma)}return r}flowEnumStringMembers(t,e,{enumName:s}){if(0===t.length)return e;if(0===e.length)return t;if(e.length>t.length){for(let e=0;e(t.members=[],this.expect(d.braceR),this.finishNode(t,"EnumStringBody"));t.explicitType=!1;const n=i.booleanMembers.length,a=i.numberMembers.length,o=i.stringMembers.length,c=i.defaultedMembers.length;if(n||a||o||c){if(n||a){if(!a&&!o&&n>=c){for(let t=0,s=i.defaultedMembers;t=c){for(let t=0,s=i.defaultedMembers;t",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},Xt=/^[\da-fA-F]+$/,Gt=/^\d+$/,Yt=Object.freeze({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text",UnterminatedJsxContent:"Unterminated JSX contents",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function Jt(t){return!!t&&("JSXOpeningFragment"===t.type||"JSXClosingFragment"===t.type)}function Qt(t){if("JSXIdentifier"===t.type)return t.name;if("JSXNamespacedName"===t.type)return t.namespace.name+":"+t.name.name;if("JSXMemberExpression"===t.type)return Qt(t.object)+"."+Qt(t.property);throw new Error("Node had unexpected type: "+t.type)}gt.j_oTag=new yt("...",!0,!0),d.jsxName=new h("jsxName"),d.jsxText=new h("jsxText",{beforeExpr:!0}),d.jsxTagStart=new h("jsxTagStart",{startsExpr:!0}),d.jsxTagEnd=new h("jsxTagEnd"),d.jsxTagStart.updateContext=function(){this.state.context.push(gt.j_expr),this.state.context.push(gt.j_oTag),this.state.exprAllowed=!1},d.jsxTagEnd.updateContext=function(t){const e=this.state.context.pop();e===gt.j_oTag&&t===d.slash||e===gt.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===gt.j_expr):this.state.exprAllowed=!0};var Zt=t=>class extends t{jsxReadToken(){let t="",e=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,Yt.UnterminatedJsxContent);const s=this.input.charCodeAt(this.state.pos);switch(s){case 60:case 123:return this.state.pos===this.state.start?60===s&&this.state.exprAllowed?(++this.state.pos,this.finishToken(d.jsxTagStart)):super.getTokenFromCode(s):(t+=this.input.slice(e,this.state.pos),this.finishToken(d.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;default:rt(s)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let s;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,s=t?"\n":"\r\n"):s=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,s}jsxReadString(t){let e="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,ut.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;38===r?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadEntity(),s=this.state.pos):rt(r)?(e+=this.input.slice(s,this.state.pos),e+=this.jsxReadNewLine(!1),s=this.state.pos):++this.state.pos}return e+=this.input.slice(s,this.state.pos++),this.finishToken(d.string,e)}jsxReadEntity(){let t,e="",s=0,r=this.input[this.state.pos];const i=++this.state.pos;while(this.state.pos0}get allowSuper(){return(this.currentThisScope().flags&b)>0}get allowDirectSuper(){return(this.currentThisScope().flags&v)>0}get inClass(){return(this.currentThisScope().flags&w)>0}get inNonArrowFunction(){return(this.currentThisScope().flags&y)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new te(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(t.flags&y||!this.inModule&&t.flags&m)}declareName(t,e,s){let r=this.currentScope();if(e&C||e&k)this.checkRedeclarationInScope(r,t,e,s),e&k?r.functions.push(t):r.lexical.push(t),e&C&&this.maybeExportDefined(r,t);else if(e&S)for(let i=this.scopeStack.length-1;i>=0;--i)if(r=this.scopeStack[i],this.checkRedeclarationInScope(r,t,e,s),r.var.push(t),this.maybeExportDefined(r,t),r.flags&T)break;this.inModule&&r.flags&m&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&t.flags&m&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,s,r){this.isRedeclaredInScope(t,e,s)&&this.raise(r,ut.VarRedeclaration,e)}isRedeclaredInScope(t,e,s){return!!(s&E)&&(s&C?t.lexical.indexOf(e)>-1||t.functions.indexOf(e)>-1||t.var.indexOf(e)>-1:s&k?t.lexical.indexOf(e)>-1||!this.treatFunctionsAsVarInScope(t)&&t.var.indexOf(e)>-1:t.lexical.indexOf(e)>-1&&!(t.flags&x&&t.lexical[0]===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.indexOf(e)>-1)}checkLocalExport(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&-1===this.scopeStack[0].functions.indexOf(t.name)&&this.undefinedExports.set(t.name,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if(e.flags&T)return e}}currentThisScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if((e.flags&T||e.flags&w)&&!(e.flags&g))return e}}}class se extends te{constructor(...t){super(...t),this.types=[],this.enums=[],this.constEnums=[],this.classes=[],this.exportOnlyBindings=[]}}class re extends ee{createScope(t){return new se(t)}declareName(t,e,s){const r=this.currentScope();if(e&M)return this.maybeExportDefined(r,t),void r.exportOnlyBindings.push(t);super.declareName(...arguments),e&A&&(e&E||(this.checkRedeclarationInScope(r,t,e,s),this.maybeExportDefined(r,t)),r.types.push(t)),e&O&&r.enums.push(t),e&D&&r.constEnums.push(t),e&I&&r.classes.push(t)}isRedeclaredInScope(t,e,s){if(t.enums.indexOf(e)>-1){if(s&O){const r=!!(s&D),i=t.constEnums.indexOf(e)>-1;return r!==i}return!0}return s&I&&t.classes.indexOf(e)>-1?t.lexical.indexOf(e)>-1&&!!(s&E):!!(s&A&&t.types.indexOf(e)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){-1===this.scopeStack[0].types.indexOf(t.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(t.name)&&super.checkLocalExport(t)}}const ie=0,ne=1,ae=2,oe=4;class ce{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&ae)>0}get hasYield(){return(this.currentFlags()&ne)>0}get hasReturn(){return(this.currentFlags()&oe)>0}}function he(t,e){return(t?ae:0)|(e?ne:0)}function le(t){if(null==t)throw new Error(`Unexpected ${t} value.`);return t}function pe(t){if(!t)throw new Error("Assert fail")}const ue=Object.freeze({ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier",DeclareClassFieldHasInitializer:"'declare' class fields cannot have an initializer",DuplicateModifier:"Duplicate modifier: '%0'",EmptyHeritageClauseType:"'%0' list cannot be empty.",IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier ('%0')",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier ('%0')",TemplateTypeHasSubstitution:"Template literal types cannot have any substitution",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0"});function de(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}var fe=t=>class extends t{getScopeHandler(){return re}tsIsIdentifier(){return this.match(d.name)}tsNextTokenCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&!this.match(d.parenL)&&!this.match(d.parenR)&&!this.match(d.colon)&&!this.match(d.eq)&&!this.match(d.question)&&!this.match(d.bang)}tsParseModifier(t){if(!this.match(d.name))return;const e=this.state.value;return-1!==t.indexOf(e)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?e:void 0}tsParseModifiers(t,e){for(;;){const s=this.state.start,r=this.tsParseModifier(e);if(!r)break;Object.hasOwnProperty.call(t,r)&&this.raise(s,ue.DuplicateModifier,r),t[r]=!0}}tsIsListTerminator(t){switch(t){case"EnumMembers":case"TypeMembers":return this.match(d.braceR);case"HeritageClauseElement":return this.match(d.braceL);case"TupleElementTypes":return this.match(d.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(t,e){const s=[];while(!this.tsIsListTerminator(t))s.push(e());return s}tsParseDelimitedList(t,e){return le(this.tsParseDelimitedListWorker(t,e,!0))}tsParseDelimitedListWorker(t,e,s){const r=[];for(;;){if(this.tsIsListTerminator(t))break;const i=e();if(null==i)return;if(r.push(i),!this.eat(d.comma)){if(this.tsIsListTerminator(t))break;return void(s&&this.expect(d.comma))}}return r}tsParseBracketedList(t,e,s,r){r||(s?this.expect(d.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(t,e);return s?this.expect(d.bracketR):this.expectRelational(">"),i}tsParseImportType(){const t=this.startNode();return this.expect(d._import),this.expect(d.parenL),this.match(d.string)||this.raise(this.state.start,ue.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(d.parenR),this.eat(d.dot)&&(t.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSImportType")}tsParseEntityName(t){let e=this.parseIdentifier();while(this.eat(d.dot)){const s=this.startNodeAtNode(e);s.left=e,s.right=this.parseIdentifier(t),e=this.finishNode(s,"TSQualifiedName")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSTypeReference")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),this.finishNode(e,"TSTypePredicate")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,"TSThisType")}tsParseTypeQuery(){const t=this.startNode();return this.expect(d._typeof),this.match(d._import)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,"TSTypeQuery")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsEatThenParseType(d._extends),t.default=this.tsEatThenParseType(d.eq),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();return this.isRelational("<")||this.match(d.jsxTagStart)?this.next():this.unexpected(),t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),this.finishNode(t,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===d._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const s=t===d.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(d.parenL),e.parameters=this.tsParseBindingListForSignature(),(s||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(d.parenR,41).map(t=>("Identifier"!==t.type&&"RestElement"!==t.type&&"ObjectPattern"!==t.type&&"ArrayPattern"!==t.type&&this.raise(t.start,ue.UnsupportedSignatureParameterKind,t.type),t))}tsParseTypeMemberSemicolon(){this.eat(d.comma)||this.semicolon()}tsParseSignatureMember(t,e){return this.tsFillSignature(d.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(d.name)&&this.match(d.colon)}tsTryParseIndexSignature(t){if(!this.match(d.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(d.bracketL);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(d.bracketR),t.parameters=[e];const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSIndexSignature")}tsParsePropertyOrMethodSignature(t,e){this.eat(d.question)&&(t.optional=!0);const s=t;if(e||!this.match(d.parenL)&&!this.isRelational("<")){const t=s;e&&(t.readonly=!0);const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSPropertySignature")}{const t=s;return this.tsFillSignature(d.colon,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSMethodSignature")}}tsParseTypeMember(){const t=this.startNode();if(this.match(d.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",t);if(this.match(d._new)){const e=this.startNode();return this.next(),this.match(d.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",t):(t.key=this.createIdentifier(e,"new"),this.tsParsePropertyOrMethodSignature(t,!1))}const e=!!this.tsParseModifier(["readonly"]),s=this.tsTryParseIndexSignature(t);return s?(e&&(t.readonly=!0),s):(this.parsePropertyName(t,!1),this.tsParsePropertyOrMethodSignature(t,e))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(d.braceL);const t=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(d.braceR),t}tsIsStartOfMappedType(){return this.next(),this.eat(d.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(d.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(d._in))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsExpectThenParseType(d._in),this.finishNode(t,"TSTypeParameter")}tsParseMappedType(){const t=this.startNode();return this.expect(d.braceL),this.match(d.plusMin)?(t.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(t.readonly=!0),this.expect(d.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),this.expect(d.bracketR),this.match(d.plusMin)?(t.optional=this.state.value,this.next(),this.expect(d.question)):this.eat(d.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(d.braceR),this.finishNode(t,"TSMappedType")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1;return t.elementTypes.forEach(t=>{"TSOptionalType"===t.type?e=!0:e&&"TSRestType"!==t.type&&this.raise(t.start,ue.OptionalTypeBeforeRequired)}),this.finishNode(t,"TSTupleType")}tsParseTupleElementType(){if(this.match(d.ellipsis)){const t=this.startNode();return this.next(),t.typeAnnotation=this.tsParseType(),this.match(d.comma)&&93!==this.lookaheadCharCode()&&this.raiseRestNotLast(this.state.start),this.finishNode(t,"TSRestType")}const t=this.tsParseType();if(this.eat(d.question)){const e=this.startNodeAtNode(t);return e.typeAnnotation=t,this.finishNode(e,"TSOptionalType")}return t}tsParseParenthesizedType(){const t=this.startNode();return this.expect(d.parenL),t.typeAnnotation=this.tsParseType(),this.expect(d.parenR),this.finishNode(t,"TSParenthesizedType")}tsParseFunctionOrConstructorType(t){const e=this.startNode();return"TSConstructorType"===t&&this.expect(d._new),this.tsFillSignature(d.arrow,e),this.finishNode(e,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case d.num:case d.string:case d._true:case d._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,"TSLiteralType")}tsParseTemplateLiteralType(){const t=this.startNode(),e=this.parseTemplate(!1);return e.expressions.length>0&&this.raise(e.expressions[0].start,ue.TemplateTypeHasSubstitution),t.literal=e,this.finishNode(t,"TSLiteralType")}tsParseThisTypeOrThisTypePredicate(){const t=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}tsParseNonArrayType(){switch(this.state.type){case d.name:case d._void:case d._null:{const t=this.match(d._void)?"TSVoidKeyword":this.match(d._null)?"TSNullKeyword":de(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}case d.string:case d.num:case d._true:case d._false:return this.tsParseLiteralTypeNode();case d.plusMin:if("-"===this.state.value){const t=this.startNode();if(this.lookahead().type!==d.num)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,"TSLiteralType")}break;case d._this:return this.tsParseThisTypeOrThisTypePredicate();case d._typeof:return this.tsParseTypeQuery();case d._import:return this.tsParseImportType();case d.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case d.bracketL:return this.tsParseTupleType();case d.parenL:return this.tsParseParenthesizedType();case d.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();while(!this.hasPrecedingLineBreak()&&this.eat(d.bracketL))if(this.match(d.bracketR)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(d.bracketR),t=this.finishNode(e,"TSArrayType")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(d.bracketR),t=this.finishNode(e,"TSIndexedAccessType")}return t}tsParseTypeOperator(t){const e=this.startNode();return this.expectContextual(t),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(t.start,ue.UnexpectedReadonly)}}tsParseInferType(){const t=this.startNode();this.expectContextual("infer");const e=this.startNode();return e.name=this.parseIdentifierName(e.start),t.typeParameter=this.finishNode(e,"TSTypeParameter"),this.finishNode(t,"TSInferType")}tsParseTypeOperatorOrHigher(){const t=["keyof","unique","readonly"].find(t=>this.isContextual(t));return t?this.tsParseTypeOperator(t):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,s){this.eat(s);let r=e();if(this.match(s)){const i=[r];while(this.eat(s))i.push(e());const n=this.startNodeAtNode(r);n.types=i,r=this.finishNode(n,t)}return r}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),d.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),d.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(d.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(d.name)||this.match(d._this))return this.next(),!0;if(this.match(d.braceL)){let t=1;this.next();while(t>0)this.match(d.braceL)?++t:this.match(d.braceR)&&--t,this.next();return!0}if(this.match(d.bracketL)){let t=1;this.next();while(t>0)this.match(d.bracketL)?++t:this.match(d.bracketR)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(d.parenR)||this.match(d.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(d.colon)||this.match(d.comma)||this.match(d.question)||this.match(d.eq))return!0;if(this.match(d.parenR)&&(this.next(),this.match(d.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType(()=>{const e=this.startNode();this.expect(t);const s=this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(d._this)){let t=this.tsParseThisTypeOrThisTypePredicate();if("TSThisType"===t.type){const s=this.startNodeAtNode(e);s.parameterName=t,s.asserts=!0,t=this.finishNode(s,"TSTypePredicate")}else t.asserts=!0;return e.typeAnnotation=t,this.finishNode(e,"TSTypeAnnotation")}const r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r){if(!s)return this.tsParseTypeAnnotation(!1,e);const t=this.startNodeAtNode(e);return t.parameterName=this.parseIdentifier(),t.asserts=s,e.typeAnnotation=this.finishNode(t,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")}const i=this.tsParseTypeAnnotation(!1),n=this.startNodeAtNode(e);return n.parameterName=r,n.typeAnnotation=i,n.asserts=s,e.typeAnnotation=this.finishNode(n,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(d.colon)?this.tsParseTypeOrTypePredicateAnnotation(d.colon):void 0}tsTryParseTypeAnnotation(){return this.match(d.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(d.colon)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypePredicateAsserts(){if(!this.match(d.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const t=this.state.containsEsc;return this.next(),!(!this.match(d.name)&&!this.match(d._this))&&(t&&this.raise(this.state.lastTokStart,ut.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(t=!0,e=this.startNode()){return this.tsInType(()=>{t&&this.expect(d.colon),e.typeAnnotation=this.tsParseType()}),this.finishNode(e,"TSTypeAnnotation")}tsParseType(){pe(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(d._extends))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(d.question),e.trueType=this.tsParseType(),this.expect(d.colon),e.falseType=this.tsParseType(),this.finishNode(e,"TSConditionalType")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(d._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expectRelational(">"),t.expression=this.parseMaybeUnary(),this.finishNode(t,"TSTypeAssertion")}tsParseHeritageClause(t){const e=this.state.start,s=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return s.length||this.raise(e,ue.EmptyHeritageClauseType,t),s}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(t){t.id=this.parseIdentifier(),this.checkLVal(t.id,F,void 0,"typescript interface declaration"),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(d._extends)&&(t.extends=this.tsParseHeritageClause("extends"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,"TSInterfaceBody"),this.finishNode(t,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,B,void 0,"typescript type alias"),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsExpectThenParseType(d.eq),this.semicolon(),this.finishNode(t,"TSTypeAliasDeclaration")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType(()=>this.expect(t))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(t){return this.tsInType(()=>(t(),this.tsParseType()))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(d.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(d.eq)&&(t.initializer=this.parseMaybeAssign()),this.finishNode(t,"TSEnumMember")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,e?H:U,void 0,"typescript enum declaration"),this.expect(d.braceL),t.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(d.braceR),this.finishNode(t,"TSEnumDeclaration")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(f),this.expect(d.braceL),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,d.braceR),this.scope.exit(),this.finishNode(t,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(t,e=!1){if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,W,null,"module or namespace declaration"),this.eat(d.dot)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(P),this.prodParam.enter(ie),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(t,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual("global")?(t.global=!0,t.id=this.parseIdentifier()):this.match(d.string)?t.id=this.parseExprAtom():this.unexpected(),this.match(d.braceL)?(this.scope.enter(P),this.prodParam.enter(ie),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(t,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(t,e){return t.isExport=e||!1,t.id=this.parseIdentifier(),this.checkLVal(t.id,_,void 0,"import equals declaration"),this.expect(d.eq),t.moduleReference=this.tsParseModuleReference(),this.semicolon(),this.finishNode(t,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual("require"),this.expect(d.parenL),!this.match(d.string))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(d.parenR),this.finishNode(t,"TSExternalModuleReference")}tsLookAhead(t){const e=this.state.clone(),s=t();return this.state=e,s}tsTryParseAndCatch(t){const e=this.tryParse(e=>t()||e());if(!e.aborted&&e.node)return e.error&&(this.state=e.failState),e.node}tsTryParse(t){const e=this.state.clone(),s=t();return void 0!==s&&!1!==s?s:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,s=this.state.type;switch(this.isContextual("let")&&(s=d._var,e="let"),s){case d._function:return this.parseFunctionStatement(t,!1,!0);case d._class:return t.declare=!0,this.parseClass(t,!0,!1);case d._const:if(this.match(d._const)&&this.isLookaheadContextual("enum"))return this.expect(d._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0);case d._var:return e=e||this.state.value,this.parseVarStatement(t,e);case d.name:{const e=this.state.value;return"global"===e?this.tsParseAmbientExternalModuleDeclaration(t):this.tsParseDeclaration(t,e,!0)}}}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case"declare":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case"global":if(this.match(d.braceL)){this.scope.enter(P),this.prodParam.enter(ie);const s=t;return s.global=!0,s.id=e,s.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(s,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,s){switch(e){case"abstract":if(this.tsCheckLineTerminatorAndMatch(d._class,s)){const e=t;return e.abstract=!0,s&&(this.next(),this.match(d._class)||this.unexpected(null,d._class)),this.parseClass(e,!0,!1)}break;case"enum":if(s||this.match(d.name))return s&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case"interface":if(this.tsCheckLineTerminatorAndMatch(d.name,s))return s&&this.next(),this.tsParseInterfaceDeclaration(t);break;case"module":if(s&&this.next(),this.match(d.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(this.tsCheckLineTerminatorAndMatch(d.name,s))return this.tsParseModuleOrNamespaceDeclaration(t);break;case"namespace":if(this.tsCheckLineTerminatorAndMatch(d.name,s))return s&&this.next(),this.tsParseModuleOrNamespaceDeclaration(t);break;case"type":if(this.tsCheckLineTerminatorAndMatch(d.name,s))return s&&this.next(),this.tsParseTypeAliasDeclaration(t);break}}tsCheckLineTerminatorAndMatch(t,e){return(e||this.match(t))&&!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.isRelational("<"))return;const s=this.state.maybeInArrowParameters,r=this.state.yieldPos,i=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1;const n=this.tsTryParseAndCatch(()=>{const s=this.startNodeAt(t,e);return s.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(s),s.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(d.arrow),s});return this.state.maybeInArrowParameters=s,this.state.yieldPos=r,this.state.awaitPos=i,n?this.parseArrowExpression(n,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(t,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(d.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const s=this.state.start,r=this.state.startLoc;let i,n=!1;t&&(i=this.parseAccessModifier(),n=!!this.tsParseModifier(["readonly"]));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||n){const t=this.startNodeAt(s,r);return e.length&&(t.decorators=e),i&&(t.accessibility=i),n&&(t.readonly=n),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(t.start,ue.UnsupportedParameterPropertyKind),t.parameter=o,this.finishNode(t,"TSParameterProperty")}return e.length&&(a.decorators=e),o}parseFunctionBodyAndFinish(t,e,s=!1){this.match(d.colon)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(d.colon));const r="FunctionDeclaration"===e?"TSDeclareFunction":"ClassMethod"===e?"TSDeclareMethod":void 0;r&&!this.match(d.braceL)&&this.isLineTerminator()?this.finishNode(t,r):super.parseFunctionBodyAndFinish(t,e,s)}registerFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,q,null,"function name"):super.registerFunctionStatementId(...arguments)}parseSubscript(t,e,s,r,i){if(!this.hasPrecedingLineBreak()&&this.match(d.bang)){this.state.exprAllowed=!1,this.next();const r=this.startNodeAt(e,s);return r.expression=t,this.finishNode(r,"TSNonNullExpression")}if(this.isRelational("<")){const n=this.tsTryParseAndCatch(()=>{if(!r&&this.atPossibleAsyncArrow(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,s);if(t)return t}const n=this.startNodeAt(e,s);n.callee=t;const a=this.tsParseTypeArguments();if(a){if(!r&&this.eat(d.parenL))return n.arguments=this.parseCallExpressionArguments(d.parenR,!1),n.typeParameters=a,this.finishCallExpression(n,i.optionalChainMember);if(this.match(d.backQuote))return this.parseTaggedTemplateExpression(e,s,t,i,a)}this.unexpected()});if(n)return n}return super.parseSubscript(t,e,s,r,i)}parseNewArguments(t){if(this.isRelational("<")){const e=this.tsTryParseAndCatch(()=>{const t=this.tsParseTypeArguments();return this.match(d.parenL)||this.unexpected(),t});e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,s,r,i){if(le(d._in.binop)>r&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const n=this.startNodeAt(e,s);n.expression=t;const a=this.tsTryNextParseConstantContext();return n.typeAnnotation=a||this.tsNextThenParseType(),this.finishNode(n,"TSAsExpression"),this.parseExprOp(n,e,s,r,i)}return super.parseExprOp(t,e,s,r,i)}checkReservedWord(t,e,s,r){}checkDuplicateExports(){}parseImport(t){if(this.match(d.name)||this.match(d.star)||this.match(d.braceL)){const e=this.lookahead();if(this.match(d.name)&&e.type===d.eq)return this.tsParseImportEqualsDeclaration(t);!this.isContextual("type")||e.type===d.comma||e.type===d.name&&"from"===e.value?t.importKind="value":(t.importKind="type",this.next())}const e=super.parseImport(t);return"type"===e.importKind&&e.specifiers.length>1&&"ImportDefaultSpecifier"===e.specifiers[0].type&&this.raise(e.start,"A type-only import can specify a default import or named bindings, but not both."),e}parseExport(t){if(this.match(d._import))return this.expect(d._import),this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(d.eq)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,"TSExportAssignment")}if(this.eatContextual("as")){const e=t;return this.expectContextual("namespace"),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===d.braceL?(this.next(),t.exportKind="type"):t.exportKind="value",super.parseExport(t)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===d._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),this.parseClass(t,!0,!0),t.abstract=!0,t}if("interface"===this.state.value){const t=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(t)return t}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(this.state.type===d._const){const t=this.lookahead();if(t.type===d.name&&"enum"===t.value){const t=this.startNode();return this.expect(d._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(t,e,s,r){this.tsParseModifiers(e,["declare"]);const i=this.parseAccessModifier();i&&(e.accessibility=i),this.tsParseModifiers(e,["declare"]),super.parseClassMember(t,e,s,r)}parseClassMemberWithIsStatic(t,e,s,r,i){this.tsParseModifiers(e,["abstract","readonly","declare"]);const n=this.tsTryParseIndexSignature(e);if(n)return t.body.push(n),e.abstract&&this.raise(e.start,ue.IndexSignatureHasAbstract),r&&this.raise(e.start,ue.IndexSignatureHasStatic),void(e.accessibility&&this.raise(e.start,ue.IndexSignatureHasAccessibility,e.accessibility));super.parseClassMemberWithIsStatic(t,e,s,r,i)}parsePostMemberNameModifiers(t){const e=this.eat(d.question);e&&(t.optional=!0),t.readonly&&this.match(d.parenL)&&this.raise(t.start,ue.ClassMethodHasReadonly),t.declare&&this.match(d.parenL)&&this.raise(t.start,ue.ClassMethodHasDeclare)}parseExpressionStatement(t,e){const s="Identifier"===e.type?this.tsParseExpressionStatement(t,e):void 0;return s||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,s,r,i){if(!i||!this.match(d.question))return super.parseConditional(t,e,s,r,i);const n=this.tryParse(()=>super.parseConditional(t,e,s,r));return n.node?(n.error&&(this.state=n.failState),n.node):(i.start=n.error.pos||this.state.start,t)}parseParenItem(t,e,s){if(t=super.parseParenItem(t,e,s),this.eat(d.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(d.colon)){const r=this.startNodeAt(e,s);return r.expression=t,r.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(r,"TSTypeCastExpression")}return t}parseExportDeclaration(t){const e=this.state.start,s=this.state.startLoc,r=this.eatContextual("declare");let i;return this.match(d.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(t)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||r)&&(t.exportKind="type"),i&&r&&(this.resetStartLocation(i,e,s),i.declare=!0),i}parseClassId(t,e,s){if((!e||s)&&this.isContextual("implements"))return;super.parseClassId(t,e,s,t.declare?q:L);const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r)}parseClassPropertyAnnotation(t){!t.optional&&this.eat(d.bang)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)}parseClassProperty(t){return this.parseClassPropertyAnnotation(t),t.declare&&this.match(d.equal)&&this.raise(this.state.start,ue.DeclareClassFieldHasInitializer),super.parseClassProperty(t)}parseClassPrivateProperty(t){return t.abstract&&this.raise(t.start,ue.PrivateElementHasAbstract),t.accessibility&&this.raise(t.start,ue.PrivateElementHasAccessibility,t.accessibility),this.parseClassPropertyAnnotation(t),super.parseClassPrivateProperty(t)}pushClassMethod(t,e,s,r,i,n){const a=this.tsTryParseTypeParameters();a&&(e.typeParameters=a),super.pushClassMethod(t,e,s,r,i,n)}pushClassPrivateMethod(t,e,s,r){const i=this.tsTryParseTypeParameters();i&&(e.typeParameters=i),super.pushClassPrivateMethod(t,e,s,r)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(t.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(t,...e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseObjPropValue(t,...e)}parseFunctionParams(t,e){const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),"Identifier"===t.id.type&&this.eat(d.bang)&&(t.definite=!0);const s=this.tsTryParseTypeAnnotation();s&&(t.id.typeAnnotation=s,this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){return this.match(d.colon)&&(t.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(t,e)}parseMaybeAssign(...t){let e,s,r,i;if(this.match(d.jsxTagStart)){if(e=this.state.clone(),s=this.tryParse(()=>super.parseMaybeAssign(...t),e),!s.error)return s.node;const{context:r}=this.state;r[r.length-1]===gt.j_oTag?r.length-=2:r[r.length-1]===gt.j_expr&&(r.length-=1)}if((!s||!s.error)&&!this.isRelational("<"))return super.parseMaybeAssign(...t);e=e||this.state.clone();const n=this.tryParse(e=>{i=this.tsParseTypeParameters();const s=super.parseMaybeAssign(...t);return("ArrowFunctionExpression"!==s.type||s.extra&&s.extra.parenthesized)&&e(),i&&0!==i.params.length&&this.resetStartLocationFromNode(s,i),s.typeParameters=i,s},e);if(!n.error&&!n.aborted)return n.node;if(!s&&(pe(!this.hasPlugin("jsx")),r=this.tryParse(()=>super.parseMaybeAssign(...t),e),!r.error))return r.node;if(s&&s.node)return this.state=s.failState,s.node;if(n.node)return this.state=n.failState,n.node;if(r&&r.node)return this.state=r.failState,r.node;if(s&&s.thrown)throw s.error;if(n.thrown)throw n.error;if(r&&r.thrown)throw r.error;throw s&&s.error||n.error||r&&r.error}parseMaybeUnary(t){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(d.colon)){const e=this.tryParse(t=>{const e=this.tsParseTypeOrTypePredicateAnnotation(d.colon);return!this.canInsertSemicolon()&&this.match(d.arrow)||t(),e});if(e.aborted)return;e.thrown||(e.error&&(this.state=e.failState),t.returnType=e.node)}return super.parseArrow(t)}parseAssignableListItemTypes(t){this.eat(d.question)&&("Identifier"!==t.type&&this.raise(t.start,ue.PatternIsOptional),t.optional=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}toAssignable(t){switch(t.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(t));case"TSParameterProperty":return super.toAssignable(t);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return t.expression=this.toAssignable(t.expression),t;default:return super.toAssignable(t)}}checkLVal(t,e=V,s,r){switch(t.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(t.parameter,e,s,"parameter property");case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(t.expression,e,s,r);default:return void super.checkLVal(t,e,s,r)}}parseBindingAtom(){switch(this.state.type){case d._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(t){if(this.isRelational("<")){const e=this.tsParseTypeArguments();if(this.match(d.parenL)){const s=super.parseMaybeDecoratorArguments(t);return s.typeParameters=e,s}this.unexpected(this.state.start,d.parenL)}return super.parseMaybeDecoratorArguments(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(d.bang)||this.match(d.colon)||super.isClassProperty()}parseMaybeDefault(...t){const e=super.parseMaybeDefault(...t);return"AssignmentPattern"===e.type&&e.typeAnnotation&&e.right.startthis.tsParseTypeArguments());e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),s=t.params[0],r=s&&"Identifier"===s.type&&"this"===s.name;return r?e+1:e}};d.placeholder=new h("%%",{startsExpr:!0});var me=t=>class extends t{parsePlaceholder(t){if(this.match(d.placeholder)){const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),e.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(d.placeholder),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const s=!(!t.expectedNode||"Placeholder"!==t.type);return t.expectedNode=e,s?t:this.finishNode(t,"Placeholder")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(d.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(t){"Placeholder"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&"Placeholder"===t.type&&"Expression"===t.expectedNode?(t.expectedNode="Pattern",t):super.toAssignable(...arguments)}verifyBreakContinue(t){t.label&&"Placeholder"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if("Placeholder"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(d.colon)){const s=t;return s.label=this.finishPlaceholder(e,"Identifier"),this.next(),s.body=this.parseStatement("label"),this.finishNode(s,"LabeledStatement")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(t,e,s){const r=e?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(t);const i=this.parsePlaceholder("Identifier");if(i)if(this.match(d._extends)||this.match(d.placeholder)||this.match(d.braceL))t.id=i;else{if(s||!e)return t.id=null,t.body=this.finishPlaceholder(i,"ClassBody"),this.finishNode(t,r);this.unexpected(null,"A class name is required")}else this.parseClassId(t,e,s);return this.parseClassSuper(t),t.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!t.superClass),this.finishNode(t,r)}parseExport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(d.comma))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,"Declaration"),this.finishNode(t,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const s=this.startNode();return s.exported=e,t.specifiers=[this.finishNode(s,"ExportDefaultSpecifier")],super.parseExport(t)}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;e&&e.length&&(t.specifiers=e.filter(t=>"Placeholder"===t.exported.type)),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual("from")&&!this.match(d.comma))return t.source=this.finishPlaceholder(e,"StringLiteral"),this.semicolon(),this.finishNode(t,"ImportDeclaration");const s=this.startNodeAtNode(e);if(s.local=e,this.finishNode(s,"ImportDefaultSpecifier"),t.specifiers.push(s),this.eat(d.comma)){const e=this.maybeParseStarImportSpecifier(t);e||this.parseNamedImportSpecifiers(t)}return this.expectContextual("from"),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}},ye=t=>class extends t{parseV8Intrinsic(){if(this.match(d.modulo)){const t=this.state.start,e=this.startNode();if(this.eat(d.modulo),this.match(d.name)){const t=this.parseIdentifierName(this.state.start),s=this.createIdentifier(e,t);if(s.type="V8IntrinsicIdentifier",this.match(d.parenL))return s}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}};function ge(t,e){return t.some(t=>Array.isArray(t)?t[0]===e:t===e)}function xe(t,e,s){const r=t.find(t=>Array.isArray(t)?t[0]===e:t===e);return r&&Array.isArray(r)?r[1][s]:null}const be=["minimal","smart","fsharp"],ve=["hash","bar"];function we(t){if(ge(t,"decorators")){if(ge(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const e=xe(t,"decorators","decoratorsBeforeExport");if(null==e)throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.");if("boolean"!==typeof e)throw new Error("'decoratorsBeforeExport' must be a boolean.")}if(ge(t,"flow")&&ge(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(ge(t,"placeholders")&&ge(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(ge(t,"pipelineOperator")&&!be.includes(xe(t,"pipelineOperator","proposal")))throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: "+be.map(t=>`'${t}'`).join(", "));if(ge(t,"recordAndTuple")&&!ve.includes(xe(t,"recordAndTuple","syntaxType")))throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: "+ve.map(t=>`'${t}'`).join(", "))}const Pe={estree:mt,jsx:Zt,flow:Kt,typescript:fe,v8intrinsic:ye,placeholders:me},Te=Object.keys(Pe),Ee={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};function Ae(t){const e={};for(let s=0,r=Object.keys(Ee);s=48&&t<=57};const ke=new Set(["g","m","s","i","y","u"]),Ne={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Ie={bin:[48,49]};Ie.oct=[...Ie.bin,50,51,52,53,54,55],Ie.dec=[...Ie.oct,56,57],Ie.hex=[...Ie.dec,65,66,67,68,69,70,97,98,99,100,101,102];class Oe{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new ot(t.startLoc,t.endLoc)}}class De extends dt{constructor(t,e){super(),this.tokens=[],this.state=new Se,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new Oe(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}lookahead(){const t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){const t=this.state.pos;it.lastIndex=t;const e=it.exec(this.input);return t+e[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(t){if(this.state.strict=t,this.match(d.num)||this.match(d.string)){this.state.pos=this.state.start;while(this.state.pos=this.length)return void this.finishToken(d.eof);const e=null==t?void 0:t.override;e?e(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(t,e,s,r,i,n){const a={type:t?"CommentBlock":"CommentLine",value:e,start:s,end:r,loc:new ot(i,n)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const t=this.state.curPosition(),e=this.state.pos,s=this.input.indexOf("*/",this.state.pos+2);if(-1===s)throw this.raise(e,ut.UnterminatedComment);let r;this.state.pos=s+2,st.lastIndex=e;while((r=st.exec(this.input))&&r.index=48&&e<=57)throw this.raise(this.state.pos,ut.UnexpectedDigitAfterHash);if(!this.hasPlugin("recordAndTuple")||123!==e&&91!==e){if(!this.hasPlugin("classPrivateProperties")&&!this.hasPlugin("classPrivateMethods")&&"smart"!==this.getPluginOption("pipelineOperator","proposal"))throw this.raise(this.state.pos,ut.InvalidOrUnexpectedToken,"#");this.finishOp(d.hash,1)}else{if("hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===e?ut.RecordExpressionHashIncorrectStartSyntaxType:ut.TupleExpressionHashIncorrectStartSyntaxType);123===e?this.finishToken(d.braceHashL):this.finishToken(d.bracketHashL),this.state.pos+=2}}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(d.ellipsis)):(++this.state.pos,this.finishToken(d.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();const t=this.input.charCodeAt(this.state.pos+1);61===t?this.finishOp(d.assign,2):this.finishOp(d.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(33!==t)return!1;const e=this.state.pos;this.state.pos+=1;while(!rt(t)&&++this.state.pos=48&&e<=57?(++this.state.pos,this.finishToken(d.question)):(this.state.pos+=2,this.finishToken(d.questionDot)):61===e?this.finishOp(d.assign,3):this.finishOp(d.nullishCoalescing,2)}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(d.parenL);case 41:return++this.state.pos,void this.finishToken(d.parenR);case 59:return++this.state.pos,void this.finishToken(d.semi);case 44:return++this.state.pos,void this.finishToken(d.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,ut.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(d.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(d.bracketL);return;case 93:return++this.state.pos,void this.finishToken(d.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,ut.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(d.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(d.braceL);return;case 125:return++this.state.pos,void this.finishToken(d.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(d.doubleColon,2):(++this.state.pos,this.finishToken(d.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(d.backQuote);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:case 62:return void this.readToken_lt_gt(t);case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(d.tilde,1);case 64:return++this.state.pos,void this.finishToken(d.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(At(t))return void this.readWord()}throw this.raise(this.state.pos,ut.InvalidOrUnexpectedToken,String.fromCodePoint(t))}finishOp(t,e){const s=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,s)}readRegexp(){const t=this.state.pos;let e,s;for(;;){if(this.state.pos>=this.length)throw this.raise(t,ut.UnterminatedRegExp);const r=this.input.charAt(this.state.pos);if(et.test(r))throw this.raise(t,ut.UnterminatedRegExp);if(e)e=!1;else{if("["===r)s=!0;else if("]"===r&&s)s=!1;else if("/"===r&&!s)break;e="\\"===r}++this.state.pos}const r=this.input.slice(t,this.state.pos);++this.state.pos;let i="";while(this.state.pos-1&&this.raise(this.state.pos+1,ut.DuplicateRegExpFlags);else{if(!St(e)&&92!==e)break;this.raise(this.state.pos+1,ut.MalformedRegExpFlags)}++this.state.pos,i+=t}this.finishToken(d.regexp,{pattern:r,flags:i})}readInt(t,e,s,r=!0){const i=this.state.pos,n=16===t?Ne.hex:Ne.decBinOct,a=16===t?Ie.hex:10===t?Ie.dec:8===t?Ie.oct:Ie.bin;let o=!1,c=0;for(let h=0,l=null==e?1/0:e;h-1||n.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,ut.UnexpectedNumericSeparator),r||this.raise(this.state.pos,ut.NumericSeparatorInEscapeSequence),++this.state.pos}else{if(i=e>=97?e-97+10:e>=65?e-65+10:Ce(e)?e-48:1/0,i>=t)if(this.options.errorRecovery&&i<=9)i=0,this.raise(this.state.start+h+2,ut.InvalidDigit,t);else{if(!s)break;i=0,o=!0}++this.state.pos,c=c*t+i}}return this.state.pos===i||null!=e&&this.state.pos-i!==e||o?null:c}readRadixNumber(t){const e=this.state.pos;let s=!1;this.state.pos+=2;const r=this.readInt(t);if(null==r&&this.raise(this.state.start+2,ut.InvalidDigit,t),110===this.input.charCodeAt(this.state.pos)&&(++this.state.pos,s=!0),At(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,ut.NumberIdentifier);if(s){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");this.finishToken(d.bigint,t)}else this.finishToken(d.num,r)}readNumber(t){const e=this.state.pos;let s=!1,r=!1,i=!1;t||null!==this.readInt(10)||this.raise(e,ut.InvalidNumber);let n=this.state.pos-e>=2&&48===this.input.charCodeAt(e);n&&(this.state.strict&&this.raise(e,ut.StrictOctalLiteral),/[89]/.test(this.input.slice(e,this.state.pos))&&(n=!1,i=!0));let a=this.input.charCodeAt(this.state.pos);if(46!==a||n||(++this.state.pos,this.readInt(10),s=!0,a=this.input.charCodeAt(this.state.pos)),69!==a&&101!==a||n||(a=this.input.charCodeAt(++this.state.pos),43!==a&&45!==a||++this.state.pos,null===this.readInt(10)&&this.raise(e,"Invalid number"),s=!0,a=this.input.charCodeAt(this.state.pos)),this.hasPlugin("numericSeparator")&&(n||i)){const t=this.input.slice(e,this.state.pos).indexOf("_");t>0&&this.raise(t+e,ut.ZeroDigitNumericSeparator)}if(110===a&&((s||n||i)&&this.raise(e,"Invalid BigIntLiteral"),++this.state.pos,r=!0),At(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,ut.NumberIdentifier);const o=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");if(r)return void this.finishToken(d.bigint,o);const c=n?parseInt(o,8):parseFloat(o);this.finishToken(d.num,c)}readCodePoint(t){const e=this.input.charCodeAt(this.state.pos);let s;if(123===e){const e=++this.state.pos;if(s=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,t),++this.state.pos,null!==s&&s>1114111){if(!t)return null;this.raise(e,ut.InvalidCodePoint)}}else s=this.readHexChar(4,!1,t);return s}readString(t){let e="",s=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,ut.UnterminatedString);const r=this.input.charCodeAt(this.state.pos);if(r===t)break;if(92===r)e+=this.input.slice(s,this.state.pos),e+=this.readEscapedChar(!1),s=this.state.pos;else if(8232===r||8233===r)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(rt(r))throw this.raise(this.state.start,ut.UnterminatedString);++this.state.pos}}e+=this.input.slice(s,this.state.pos++),this.finishToken(d.string,e)}readTmplToken(){let t="",e=this.state.pos,s=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,ut.UnterminatedTemplate);const r=this.input.charCodeAt(this.state.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(d.template)?36===r?(this.state.pos+=2,void this.finishToken(d.dollarBraceL)):(++this.state.pos,void this.finishToken(d.backQuote)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(d.template,s?null:t));if(92===r){t+=this.input.slice(e,this.state.pos);const r=this.readEscapedChar(!0);null===r?s=!0:t+=r,e=this.state.pos}else if(rt(r)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,r){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r);break}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}readEscapedChar(t){const e=!t,s=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,s){case 110:return"\n";case 114:return"\r";case 120:{const t=this.readHexChar(2,!1,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(t)return null;default:if(s>=48&&s<=55){const e=this.state.pos-1;let s=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/)[0],r=parseInt(s,8);r>255&&(s=s.slice(0,-1),r=parseInt(s,8)),this.state.pos+=s.length-1;const i=this.input.charCodeAt(this.state.pos);if("0"!==s||56===i||57===i){if(t)return null;this.state.strict?this.raise(e,ut.StrictOctalLiteral):this.state.octalPositions.push(e)}return String.fromCharCode(r)}return String.fromCharCode(s)}}readHexChar(t,e,s){const r=this.state.pos,i=this.readInt(16,t,e,!1);return null===i&&(s?this.raise(r,ut.InvalidEscapeSequence):this.state.pos=r-1),i}readWord1(){let t="";this.state.containsEsc=!1;const e=this.state.pos;let s=this.state.pos;while(this.state.posthis.state.lastTokEnd&&this.raise(this.state.lastTokEnd,t)}unexpected(t,e="Unexpected token"){throw"string"!==typeof e&&(e=`Unexpected token, expected "${e.label}"`),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:[t]},`This experimental syntax requires enabling the parser plugin: '${t}'`);return!0}expectOnePlugin(t,e){if(!t.some(t=>this.hasPlugin(t)))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:t},`This experimental syntax requires enabling one of the following parser plugin(s): '${t.join(", ")}'`)}checkYieldAwaitInDefaultParams(){-1!==this.state.yieldPos&&(-1===this.state.awaitPos||this.state.yieldPos{throw s.node=t,s});if(this.state.errors.length>e.errors.length){const t=this.state;return this.state=e,{node:r,error:t.errors[e.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:r,error:null,thrown:!1,aborted:!1,failState:null}}catch(r){const t=this.state;if(this.state=e,r instanceof SyntaxError)return{node:null,error:r,thrown:!0,aborted:!1,failState:t};if(r===s)return{node:s.node,error:null,thrown:!1,aborted:!0,failState:t};throw r}}checkExpressionErrors(t,e){if(!t)return!1;const{shorthandAssign:s,doubleProto:r}=t;if(!e)return s>=0||r>=0;s>=0&&this.unexpected(s),r>=0&&this.raise(r,ut.DuplicateProto)}}class Le{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class _e{constructor(t,e,s){this.type="",this.start=e,this.end=0,this.loc=new ot(s),t&&t.options.ranges&&(this.range=[e,0]),t&&t.filename&&(this.loc.filename=t.filename)}__clone(){const t=new _e,e=Object.keys(this);for(let s=0,r=e.length;s"ParenthesizedExpression"===t.type?je(t.expression):t;class Fe extends Re{toAssignable(t){var e,s;let r=void 0;switch(("ParenthesizedExpression"===t.type||(null==(e=t.extra)?void 0:e.parenthesized))&&(r=je(t),"Identifier"!==r.type&&"MemberExpression"!==r.type&&this.raise(t.start,ut.InvalidParenthesizedAssignment)),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":t.type="ObjectPattern";for(let e=0,s=t.properties.length,r=s-1;e=s.left.start&&(e.shorthandAssign=-1),this.checkLVal(o,void 0,void 0,"assignment expression"),this.next(),s.right=this.parseMaybeAssign(t),this.finishNode(s,"AssignmentExpression")}return a&&this.checkExpressionErrors(e,!0),o}parseMaybeConditional(t,e,s){const r=this.state.start,i=this.state.startLoc,n=this.state.potentialArrowAt,a=this.parseExprOps(t,e);return"ArrowFunctionExpression"===a.type&&a.start===n||this.checkExpressionErrors(e,!1)?a:this.parseConditional(a,t,r,i,s)}parseConditional(t,e,s,r,i){if(this.eat(d.question)){const i=this.startNodeAt(s,r);return i.test=t,i.consequent=this.parseMaybeAssign(),this.expect(d.colon),i.alternate=this.parseMaybeAssign(e),this.finishNode(i,"ConditionalExpression")}return t}parseExprOps(t,e){const s=this.state.start,r=this.state.startLoc,i=this.state.potentialArrowAt,n=this.parseMaybeUnary(e);return"ArrowFunctionExpression"===n.type&&n.start===i||this.checkExpressionErrors(e,!1)?n:this.parseExprOp(n,s,r,-1,t)}parseExprOp(t,e,s,r,i){let n=this.state.type.binop;if(null!=n&&(!i||!this.match(d._in))&&n>r){const a=this.state.value;if("|>"===a&&this.state.inFSharpPipelineDirectBody)return t;const o=this.startNodeAt(e,s);o.left=t,o.operator=a,"**"!==a||"UnaryExpression"!==t.type||!this.options.createParenthesizedExpressions&&t.extra&&t.extra.parenthesized||this.raise(t.argument.start,ut.UnexpectedTokenUnaryExponentiation);const c=this.state.type,h=c===d.logicalOR||c===d.logicalAND,l=c===d.nullishCoalescing;if(c===d.pipeline?(this.expectPlugin("pipelineOperator"),this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(t,e)):l&&(n=d.logicalAND.binop),this.next(),c===d.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(d.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,ut.UnexpectedAwaitAfterPipelineBody);o.right=this.parseExprOpRightExpr(c,n,i),this.finishNode(o,h||l?"LogicalExpression":"BinaryExpression");const p=this.state.type;if(l&&(p===d.logicalOR||p===d.logicalAND)||h&&p===d.nullishCoalescing)throw this.raise(this.state.start,ut.MixingCoalesceWithLogical);return this.parseExprOp(o,e,s,r,i)}return t}parseExprOpRightExpr(t,e,s){const r=this.state.start,i=this.state.startLoc;switch(t){case d.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(t,e,s),r,i));case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(e,s))}default:return this.parseExprOpBaseRightExpr(t,e,s)}}parseExprOpBaseRightExpr(t,e,s){const r=this.state.start,i=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),r,i,t.rightAssociative?e-1:e,s)}parseMaybeUnary(t){if(this.isContextual("await")&&this.isAwaitAllowed())return this.parseAwait();if(this.state.type.prefix){const e=this.startNode(),s=this.match(d.incDec);if(e.operator=this.state.value,e.prefix=!0,"throw"===e.operator&&this.expectPlugin("throwExpressions"),this.next(),e.argument=this.parseMaybeUnary(),this.checkExpressionErrors(t,!0),s)this.checkLVal(e.argument,void 0,void 0,"prefix operation");else if(this.state.strict&&"delete"===e.operator){const t=e.argument;"Identifier"===t.type?this.raise(e.start,ut.StrictDelete):"MemberExpression"===t.type&&"PrivateName"===t.property.type&&this.raise(e.start,ut.DeletePrivateField)}return this.finishNode(e,s?"UpdateExpression":"UnaryExpression")}const e=this.state.start,s=this.state.startLoc;let r=this.parseExprSubscripts(t);if(this.checkExpressionErrors(t,!1))return r;while(this.state.type.postfix&&!this.canInsertSemicolon()){const t=this.startNodeAt(e,s);t.operator=this.state.value,t.prefix=!1,t.argument=r,this.checkLVal(r,void 0,void 0,"postfix operation"),this.next(),r=this.finishNode(t,"UpdateExpression")}return r}parseExprSubscripts(t){const e=this.state.start,s=this.state.startLoc,r=this.state.potentialArrowAt,i=this.parseExprAtom(t);return"ArrowFunctionExpression"===i.type&&i.start===r?i:this.parseSubscripts(i,e,s)}parseSubscripts(t,e,s,r){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do{const n=this.state.maybeInAsyncArrowHead;i.maybeAsyncArrow&&(this.state.maybeInAsyncArrowHead=!0),t=this.parseSubscript(t,e,s,r,i),i.maybeAsyncArrow=!1,this.state.maybeInAsyncArrowHead=n}while(!i.stop);return t}parseSubscript(t,e,s,r,i){if(!r&&this.eat(d.doubleColon)){const n=this.startNodeAt(e,s);return n.object=t,n.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(n,"BindExpression"),e,s,r)}let n=!1;if(this.match(d.questionDot)){if(i.optionalChainMember=n=!0,r&&40===this.lookaheadCharCode())return i.stop=!0,t;this.next()}const a=this.eat(d.bracketL);if(n&&!this.match(d.parenL)&&!this.match(d.backQuote)||a||this.eat(d.dot)){const r=this.startNodeAt(e,s);return r.object=t,r.property=a?this.parseExpression():n?this.parseIdentifier(!0):this.parseMaybePrivateName(!0),r.computed=a,"PrivateName"===r.property.type&&("Super"===r.object.type&&this.raise(e,ut.SuperPrivateField),this.classScope.usePrivateName(r.property.id.name,r.property.start)),a&&this.expect(d.bracketR),i.optionalChainMember?(r.optional=n,this.finishNode(r,"OptionalMemberExpression")):this.finishNode(r,"MemberExpression")}if(!r&&this.match(d.parenL)){const r=this.state.maybeInArrowParameters,a=this.state.yieldPos,o=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.next();let c=this.startNodeAt(e,s);return c.callee=t,n?(c.optional=!0,c.arguments=this.parseCallExpressionArguments(d.parenR,!1)):c.arguments=this.parseCallExpressionArguments(d.parenR,i.maybeAsyncArrow,"Import"===t.type,"Super"!==t.type,c),this.finishCallExpression(c,i.optionalChainMember),i.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!n?(i.stop=!0,c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,s),c),this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=a,this.state.awaitPos=o):(this.toReferencedListDeep(c.arguments),-1!==a&&(this.state.yieldPos=a),(this.isAwaitAllowed()||r)&&-1===o||(this.state.awaitPos=o)),this.state.maybeInArrowParameters=r,c}return this.match(d.backQuote)?this.parseTaggedTemplateExpression(e,s,t,i):(i.stop=!0,t)}parseTaggedTemplateExpression(t,e,s,r,i){const n=this.startNodeAt(t,e);return n.tag=s,n.quasi=this.parseTemplate(!0),i&&(n.typeParameters=i),r.optionalChainMember&&this.raise(t,ut.OptionalChainingNoTemplate),this.finishNode(n,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return"Identifier"===t.type&&"async"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,e){if("Import"===t.callee.type)if(1!==t.arguments.length)this.raise(t.start,ut.ImportCallArity);else{const e=t.arguments[0];e&&"SpreadElement"===e.type&&this.raise(e.start,ut.ImportCallSpreadArgument)}return this.finishNode(t,e?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,e,s,r,i){const n=[];let a,o=!0;const c=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;while(!this.eat(t)){if(o)o=!1;else if(this.expect(d.comma),this.match(t)){s&&this.raise(this.state.lastTokStart,ut.ImportCallArgumentTrailingComma),i&&this.addExtra(i,"trailingComma",this.state.lastTokStart),this.next();break}this.match(d.parenL)&&!a&&(a=this.state.start),n.push(this.parseExprListItem(!1,e?new Le:void 0,e?{start:0}:void 0,r))}return e&&a&&this.shouldParseAsyncArrow()&&this.unexpected(),this.state.inFSharpPipelineDirectBody=c,n}shouldParseAsyncArrow(){return this.match(d.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,e){var s;return this.expect(d.arrow),this.parseArrowExpression(t,e.arguments,!0,null==(s=e.extra)?void 0:s.trailingComma),t}parseNoCallExpr(){const t=this.state.start,e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,e,!0)}parseExprAtom(t){this.state.type===d.slash&&this.readRegexp();const e=this.state.potentialArrowAt===this.state.start;let s;switch(this.state.type){case d._super:return s=this.startNode(),this.next(),!this.match(d.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(s.start,ut.UnexpectedSuper):this.raise(s.start,ut.SuperNotAllowed),this.match(d.parenL)||this.match(d.bracketL)||this.match(d.dot)||this.raise(s.start,ut.UnsupportedSuper),this.finishNode(s,"Super");case d._import:return s=this.startNode(),this.next(),this.match(d.dot)?this.parseImportMetaProperty(s):(this.match(d.parenL)||this.raise(this.state.lastTokStart,ut.UnsupportedImport),this.finishNode(s,"Import"));case d._this:return s=this.startNode(),this.next(),this.finishNode(s,"ThisExpression");case d.name:{s=this.startNode();const t=this.state.containsEsc,r=this.parseIdentifier();if(!t&&"async"===r.name&&this.match(d._function)&&!this.canInsertSemicolon()){const t=this.state.context.length-1;if(this.state.context[t]!==gt.functionStatement)throw new Error("Internal error");return this.state.context[t]=gt.functionExpression,this.next(),this.parseFunction(s,void 0,!0)}if(e&&!t&&"async"===r.name&&this.match(d.name)&&!this.canInsertSemicolon()){const t=this.state.maybeInArrowParameters,e=this.state.maybeInAsyncArrowHead,r=this.state.yieldPos,i=this.state.awaitPos;this.state.maybeInArrowParameters=!0,this.state.maybeInAsyncArrowHead=!0,this.state.yieldPos=-1,this.state.awaitPos=-1;const n=[this.parseIdentifier()];return this.expect(d.arrow),this.checkYieldAwaitInDefaultParams(),this.state.maybeInArrowParameters=t,this.state.maybeInAsyncArrowHead=e,this.state.yieldPos=r,this.state.awaitPos=i,this.parseArrowExpression(s,n,!0),s}return e&&this.match(d.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(s,[r],!1),s):r}case d._do:{this.expectPlugin("doExpressions");const t=this.startNode();this.next();const e=this.state.labels;return this.state.labels=[],t.body=this.parseBlock(),this.state.labels=e,this.finishNode(t,"DoExpression")}case d.regexp:{const t=this.state.value;return s=this.parseLiteral(t.value,"RegExpLiteral"),s.pattern=t.pattern,s.flags=t.flags,s}case d.num:return this.parseLiteral(this.state.value,"NumericLiteral");case d.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case d.string:return this.parseLiteral(this.state.value,"StringLiteral");case d._null:return s=this.startNode(),this.next(),this.finishNode(s,"NullLiteral");case d._true:case d._false:return this.parseBooleanLiteral();case d.parenL:return this.parseParenAndDistinguishExpression(e);case d.bracketBarL:case d.bracketHashL:{this.expectPlugin("recordAndTuple");const e=this.state.inFSharpPipelineDirectBody,r=this.state.type===d.bracketBarL?d.bracketBarR:d.bracketR;return this.state.inFSharpPipelineDirectBody=!1,s=this.startNode(),this.next(),s.elements=this.parseExprList(r,!0,t,s),this.state.inFSharpPipelineDirectBody=e,this.finishNode(s,"TupleExpression")}case d.bracketL:{const e=this.state.inFSharpPipelineDirectBody;return this.state.inFSharpPipelineDirectBody=!1,s=this.startNode(),this.next(),s.elements=this.parseExprList(d.bracketR,!0,t,s),this.state.maybeInArrowParameters||this.toReferencedList(s.elements),this.state.inFSharpPipelineDirectBody=e,this.finishNode(s,"ArrayExpression")}case d.braceBarL:case d.braceHashL:{this.expectPlugin("recordAndTuple");const e=this.state.inFSharpPipelineDirectBody,s=this.state.type===d.braceBarL?d.braceBarR:d.braceR;this.state.inFSharpPipelineDirectBody=!1;const r=this.parseObj(s,!1,!0,t);return this.state.inFSharpPipelineDirectBody=e,r}case d.braceL:{const e=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const s=this.parseObj(d.braceR,!1,!1,t);return this.state.inFSharpPipelineDirectBody=e,s}case d._function:return this.parseFunctionExpression();case d.at:this.parseDecorators();case d._class:return s=this.startNode(),this.takeDecorators(s),this.parseClass(s,!1);case d._new:return this.parseNew();case d.backQuote:return this.parseTemplate(!1);case d.doubleColon:{s=this.startNode(),this.next(),s.object=null;const t=s.callee=this.parseNoCallExpr();if("MemberExpression"===t.type)return this.finishNode(s,"BindExpression");throw this.raise(t.start,ut.UnsupportedBind)}case d.hash:if(this.state.inPipeline)return s=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(s.start,ut.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(s.start,ut.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(s,"PipelinePrimaryTopicReference");default:throw this.unexpected()}}parseBooleanLiteral(){const t=this.startNode();return t.value=this.match(d._true),this.next(),this.finishNode(t,"BooleanLiteral")}parseMaybePrivateName(t){const e=this.match(d.hash);if(e){this.expectOnePlugin(["classPrivateProperties","classPrivateMethods"]),t||this.raise(this.state.pos,ut.UnexpectedPrivateField);const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space between # and identifier"),e.id=this.parseIdentifier(!0),this.finishNode(e,"PrivateName")}return this.parseIdentifier(!0)}parseFunctionExpression(){const t=this.startNode();let e=this.startNode();return this.next(),e=this.createIdentifier(e,"function"),this.prodParam.hasYield&&this.eat(d.dot)?this.parseMetaProperty(t,e,"sent"):this.parseFunction(t)}parseMetaProperty(t,e,s){t.meta=e,"function"===e.name&&"sent"===s&&(this.isContextual(s)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const r=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==s||r)&&this.raise(t.property.start,ut.UnsupportedMetaProperty,e.name,s),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){const e=this.createIdentifier(this.startNodeAtNode(t),"import");return this.expect(d.dot),this.isContextual("meta")?(this.expectPlugin("importMeta"),this.inModule||this.raiseWithData(e.start,{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},ut.ImportMetaOutsideModule),this.sawUnambiguousESM=!0):this.hasPlugin("importMeta")||this.raise(e.start,ut.ImportCallArityLtOne),this.parseMetaProperty(t,e,"meta")}parseLiteral(t,e,s,r){s=s||this.state.start,r=r||this.state.startLoc;const i=this.startNodeAt(s,r);return this.addExtra(i,"rawValue",t),this.addExtra(i,"raw",this.input.slice(s,this.state.end)),i.value=t,this.next(),this.finishNode(i,e)}parseParenAndDistinguishExpression(t){const e=this.state.start,s=this.state.startLoc;let r;this.expect(d.parenL);const i=this.state.maybeInArrowParameters,n=this.state.yieldPos,a=this.state.awaitPos,o=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.yieldPos=-1,this.state.awaitPos=-1,this.state.inFSharpPipelineDirectBody=!1;const c=this.state.start,h=this.state.startLoc,l=[],p=new Le,u={start:0};let f,m,y=!0;while(!this.match(d.parenR)){if(y)y=!1;else if(this.expect(d.comma,u.start||null),this.match(d.parenR)){m=this.state.start;break}if(this.match(d.ellipsis)){const t=this.state.start,e=this.state.startLoc;f=this.state.start,l.push(this.parseParenItem(this.parseRestBinding(),t,e)),this.checkCommaAfterRest(41);break}l.push(this.parseMaybeAssign(!1,p,this.parseParenItem,u))}const g=this.state.start,x=this.state.startLoc;this.expect(d.parenR),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=o;let b=this.startNodeAt(e,s);if(t&&this.shouldParseArrow()&&(b=this.parseArrow(b))){this.isAwaitAllowed()||this.state.maybeInAsyncArrowHead||(this.state.awaitPos=a),this.checkYieldAwaitInDefaultParams(),this.state.yieldPos=n,this.state.awaitPos=a;for(let t=0;t1?(r=this.startNodeAt(c,h),r.expressions=l,this.finishNodeAt(r,"SequenceExpression",g,x)):r=l[0],!this.options.createParenthesizedExpressions)return this.addExtra(r,"parenthesized",!0),this.addExtra(r,"parenStart",e),r;const v=this.startNodeAt(e,s);return v.expression=r,this.finishNode(v,"ParenthesizedExpression"),v}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(d.arrow))return t}parseParenItem(t,e,s){return t}parseNew(){const t=this.startNode();let e=this.startNode();if(this.next(),e=this.createIdentifier(e,"new"),this.eat(d.dot)){const s=this.parseMetaProperty(t,e,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let t=ut.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(t+=" or class properties"),this.raise(s.start,t)}return s}return t.callee=this.parseNoCallExpr(),"Import"===t.callee.type?this.raise(t.callee.start,ut.ImportCallNotNewExpression):"OptionalMemberExpression"===t.callee.type||"OptionalCallExpression"===t.callee.type?this.raise(this.state.lastTokEnd,ut.OptionalChainingNoNew):this.eat(d.questionDot)&&this.raise(this.state.start,ut.OptionalChainingNoNew),this.parseNewArguments(t),this.finishNode(t,"NewExpression")}parseNewArguments(t){if(this.eat(d.parenL)){const e=this.parseExprList(d.parenR);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t||this.raise(this.state.start+1,ut.InvalidEscapeSequenceTemplate)),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),e.tail=this.match(d.backQuote),this.finishNode(e,"TemplateElement")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let s=this.parseTemplateElement(t);e.quasis=[s];while(!s.tail)this.expect(d.dollarBraceL),e.expressions.push(this.parseExpression()),this.expect(d.braceR),e.quasis.push(s=this.parseTemplateElement(t));return this.next(),this.finishNode(e,"TemplateLiteral")}parseObj(t,e,s,r){const i=Object.create(null);let n=!0;const a=this.startNode();a.properties=[],this.next();while(!this.eat(t)){if(n)n=!1;else if(this.expect(d.comma),this.match(t)){this.addExtra(a,"trailingComma",this.state.lastTokStart),this.next();break}const s=this.parseObjectMember(e,r);e||this.checkDuplicatedProto(s,i,r),s.shorthand&&this.addExtra(s,"shorthand",!0),a.properties.push(s)}let o="ObjectExpression";return e?o="ObjectPattern":s&&(o="RecordExpression"),this.finishNode(a,o)}isAsyncProp(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.match(d.name)||this.match(d.num)||this.match(d.string)||this.match(d.bracketL)||this.state.type.keyword||this.match(d.star))&&!this.hasPrecedingLineBreak()}parseObjectMember(t,e){let s=[];if(this.match(d.at)){this.hasPlugin("decorators")&&this.raise(this.state.start,ut.UnsupportedPropertyDecorator);while(this.match(d.at))s.push(this.parseDecorator())}const r=this.startNode();let i,n,a=!1,o=!1;if(this.match(d.ellipsis))return s.length&&this.unexpected(),t?(this.next(),r.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(r,"RestElement")):this.parseSpread();s.length&&(r.decorators=s,s=[]),r.method=!1,(t||e)&&(i=this.state.start,n=this.state.startLoc),t||(a=this.eat(d.star));const c=this.state.containsEsc;return this.parsePropertyName(r,!1),t||c||a||!this.isAsyncProp(r)?o=!1:(o=!0,a=this.eat(d.star),this.parsePropertyName(r,!1)),this.parseObjPropValue(r,i,n,a,o,t,e,c),r}isGetterOrSetterMethod(t,e){return!e&&!t.computed&&"Identifier"===t.key.type&&("get"===t.key.name||"set"===t.key.name)&&(this.match(d.string)||this.match(d.num)||this.match(d.bracketL)||this.match(d.name)||!!this.state.type.keyword)}getGetterSetterExpectedParamCount(t){return"get"===t.kind?0:1}checkGetterSetterParams(t){const e=this.getGetterSetterExpectedParamCount(t),s=t.start;t.params.length!==e&&("get"===t.kind?this.raise(s,ut.BadGetterArity):this.raise(s,ut.BadSetterArity)),"set"===t.kind&&"RestElement"===t.params[t.params.length-1].type&&this.raise(s,ut.BadSetterRestParameter)}parseObjectMethod(t,e,s,r,i){return s||e||this.match(d.parenL)?(r&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,e,s,!1,!1,"ObjectMethod")):!i&&this.isGetterOrSetterMethod(t,r)?((e||s)&&this.unexpected(),t.kind=t.key.name,this.parsePropertyName(t,!1),this.parseMethod(t,!1,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(t),t):void 0}parseObjectProperty(t,e,s,r,i){return t.shorthand=!1,this.eat(d.colon)?(t.value=r?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssign(!1,i),this.finishNode(t,"ObjectProperty")):t.computed||"Identifier"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!0),r?t.value=this.parseMaybeDefault(e,s,t.key.__clone()):this.match(d.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),t.value=this.parseMaybeDefault(e,s,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,"ObjectProperty"))}parseObjPropValue(t,e,s,r,i,n,a,o){const c=this.parseObjectMethod(t,r,i,n,o)||this.parseObjectProperty(t,e,s,n,a);return c||this.unexpected(),c}parsePropertyName(t,e){if(this.eat(d.bracketL))t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(d.bracketR);else{const s=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(d.num)||this.match(d.string)||this.match(d.bigint)?this.parseExprAtom():this.parseMaybePrivateName(e),"PrivateName"!==t.key.type&&(t.computed=!1),this.state.inPropertyName=s}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,s,r,i,n,a=!1){const o=this.state.yieldPos,c=this.state.awaitPos;this.state.yieldPos=-1,this.state.awaitPos=-1,this.initFunction(t,s),t.generator=!!e;const h=r;return this.scope.enter(y|b|(a?w:0)|(i?v:0)),this.prodParam.enter(he(s,t.generator)),this.parseFunctionParams(t,h),this.parseFunctionBodyAndFinish(t,n,!0),this.prodParam.exit(),this.scope.exit(),this.state.yieldPos=o,this.state.awaitPos=c,t}parseArrowExpression(t,e,s,r){this.scope.enter(y|g),this.prodParam.enter(he(s,!1)),this.initFunction(t,s);const i=this.state.maybeInArrowParameters,n=this.state.yieldPos,a=this.state.awaitPos;return e&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,e,r)),this.state.maybeInArrowParameters=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=i,this.state.yieldPos=n,this.state.awaitPos=a,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,e,s){t.params=this.toAssignableList(e,s)}parseFunctionBodyAndFinish(t,e,s=!1){this.parseFunctionBody(t,!1,s),this.finishNode(t,e)}parseFunctionBody(t,e,s=!1){const r=e&&!this.match(d.braceL),i=this.state.inParameters;if(this.state.inParameters=!1,r)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e,!1);else{const r=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|oe),t.body=this.parseBlock(!0,!1,i=>{const n=!this.isSimpleParamList(t.params);if(i&&n){const e="method"!==t.kind&&"constructor"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,ut.IllegalLanguageModeDirective)}const a=!r&&this.state.strict;this.checkParams(t,!this.state.strict&&!e&&!s&&!n,e,a),this.state.strict&&t.id&&this.checkLVal(t.id,z,void 0,"function name",void 0,a)}),this.prodParam.exit(),this.state.labels=i}this.state.inParameters=i}isSimpleParamList(t){for(let e=0,s=t.length;e=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t,e){const s=this.state.start,r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const n=this.parseExprOp(this.parseMaybeUnary(),s,r,t,e);return this.state.inFSharpPipelineDirectBody=i,n}}const Ue={kind:"loop"},qe={kind:"switch"},Ve=0,ze=1,He=2,We=4;class Ke extends Be{parseTopLevel(t,e){if(e.sourceType=this.options.sourceType,e.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(e,!0,!0,d.eof),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(let s=0,r=Array.from(this.scope.undefinedExports);sthis.parseStatement("do")),this.state.labels.pop(),this.expect(d._while),t.test=this.parseHeaderExpression(),this.eat(d.semi),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(Ue);let e=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(e=this.state.lastTokStart),this.scope.enter(f),this.expect(d.parenL),this.match(d.semi))return e>-1&&this.unexpected(e),this.parseFor(t,null);const s=this.isLet();if(this.match(d._var)||this.match(d._const)||s){const r=this.startNode(),i=s?"let":this.state.value;return this.next(),this.parseVar(r,!0,i),this.finishNode(r,"VariableDeclaration"),(this.match(d._in)||this.isContextual("of"))&&1===r.declarations.length?this.parseForIn(t,r,e):(e>-1&&this.unexpected(e),this.parseFor(t,r))}const r=new Le,i=this.parseExpression(!0,r);if(this.match(d._in)||this.isContextual("of")){this.toAssignable(i);const s=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(i,void 0,void 0,s),this.parseForIn(t,i,e)}return this.checkExpressionErrors(r,!0),e>-1&&this.unexpected(e),this.parseFor(t,i)}parseFunctionStatement(t,e,s){return this.next(),this.parseFunction(t,ze|(s?0:He),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(d._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,ut.IllegalReturn),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let s,r;for(this.expect(d.braceL),this.state.labels.push(qe),this.scope.enter(f);!this.match(d.braceR);)if(this.match(d._case)||this.match(d._default)){const t=this.match(d._case);s&&this.finishNode(s,"SwitchCase"),e.push(s=this.startNode()),s.consequent=[],this.next(),t?s.test=this.parseExpression():(r&&this.raise(this.state.lastTokStart,ut.MultipleDefaultsInSwitch),r=!0,s.test=null),this.expect(d.colon)}else s?s.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),s&&this.finishNode(s,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),et.test(this.input.slice(this.state.lastTokEnd,this.state.start))&&this.raise(this.state.lastTokEnd,ut.NewlineAfterThrow),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(d._catch)){const e=this.startNode();if(this.next(),this.match(d.parenL)){this.expect(d.parenL),e.param=this.parseBindingAtom();const t="Identifier"===e.param.type;this.scope.enter(t?x:0),this.checkLVal(e.param,_,null,"catch clause"),this.expect(d.parenR)}else e.param=null,this.scope.enter(f);e.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(d._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,ut.NoCatchOrFinally),this.finishNode(t,"TryStatement")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(Ue),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("while")),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,ut.StrictWith),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("with")),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,e,s,r){for(let n=0,a=this.state.labels;n=0;n--){const e=this.state.labels[n];if(e.statementStart!==t.start)break;e.statementStart=this.state.start,e.kind=i}return this.state.labels.push({name:e,kind:i,statementStart:this.state.start}),t.body=this.parseStatement(r?-1===r.indexOf("label")?r+"label":r:"label"),this.state.labels.pop(),t.label=s,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(t=!1,e=!0,s){const r=this.startNode();return this.expect(d.braceL),e&&this.scope.enter(f),this.parseBlockBody(r,t,!1,d.braceR,s),e&&this.scope.exit(),this.finishNode(r,"BlockStatement")}isValidDirective(t){return"ExpressionStatement"===t.type&&"StringLiteral"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,s,r,i){const n=t.body=[],a=t.directives=[];this.parseBlockOrModuleBlockBody(n,e?a:void 0,s,r,i)}parseBlockOrModuleBlockBody(t,e,s,r,i){const n=[],a=this.state.strict;let o=!1,c=!1;while(!this.match(r)){!c&&this.state.octalPositions.length&&n.push(...this.state.octalPositions);const r=this.parseStatement(null,s);if(e&&!c&&this.isValidDirective(r)){const t=this.stmtToDirective(r);e.push(t),o||"use strict"!==t.value.value||(o=!0,this.setStrict(!0))}else c=!0,t.push(r)}if(this.state.strict&&n.length)for(let h=0;hthis.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,e,s){const r=this.match(d._in);return this.next(),r?s>-1&&this.unexpected(s):t.await=s>-1,"VariableDeclaration"!==e.type||null==e.declarations[0].init||r&&!this.state.strict&&"var"===e.kind&&"Identifier"===e.declarations[0].id.type?"AssignmentPattern"===e.type&&this.raise(e.start,ut.InvalidLhs,"for-loop"):this.raise(e.start,ut.ForInOfLoopInitializer,r?"for-in":"for-of"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(d.parenR),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")}parseVar(t,e,s){const r=t.declarations=[],i=this.hasPlugin("typescript");for(t.kind=s;;){const t=this.startNode();if(this.parseVarId(t,s),this.eat(d.eq)?t.init=this.parseMaybeAssign(e):("const"!==s||this.match(d._in)||this.isContextual("of")?"Identifier"===t.id.type||e&&(this.match(d._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,ut.DeclarationMissingInitializer,"Complex binding patterns"):i||this.unexpected(),t.init=null),r.push(this.finishNode(t,"VariableDeclarator")),!this.eat(d.comma))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"var"===e?R:_,void 0,"variable declaration","var"!==e)}parseFunction(t,e=Ve,s=!1){const r=e&ze,i=e&He,n=!!r&&!(e&We);this.initFunction(t,s),this.match(d.star)&&i&&this.raise(this.state.start,ut.GeneratorInSingleStatementContext),t.generator=this.eat(d.star),r&&(t.id=this.parseFunctionId(n));const a=this.state.maybeInArrowParameters,o=this.state.yieldPos,c=this.state.awaitPos;return this.state.maybeInArrowParameters=!1,this.state.yieldPos=-1,this.state.awaitPos=-1,this.scope.enter(y),this.prodParam.enter(he(s,t.generator)),r||(t.id=this.parseFunctionId()),this.parseFunctionParams(t),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,r?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),r&&!i&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=a,this.state.yieldPos=o,this.state.awaitPos=c,t}parseFunctionId(t){return t||this.match(d.name)?this.parseIdentifier():null}parseFunctionParams(t,e){const s=this.state.inParameters;this.state.inParameters=!0,this.expect(d.parenL),t.params=this.parseBindingList(d.parenR,41,!1,e),this.state.inParameters=s,this.checkYieldAwaitInDefaultParams()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?R:_:j,t.id.start)}parseClass(t,e,s){this.next(),this.takeDecorators(t);const r=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,s),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,r),this.state.strict=r,this.finishNode(t,e?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(d.eq)||this.match(d.semi)||this.match(d.braceR)}isClassMethod(){return this.match(d.parenL)}isNonstaticConstructor(t){return!t.computed&&!t.static&&("constructor"===t.key.name||"constructor"===t.key.value)}parseClassBody(t,e){this.classScope.enter();const s={hadConstructor:!1};let r=[];const i=this.startNode();if(i.body=[],this.expect(d.braceL),this.withTopicForbiddingContext(()=>{while(!this.match(d.braceR)){if(this.eat(d.semi)){if(r.length>0)throw this.raise(this.state.lastTokEnd,ut.DecoratorSemicolon);continue}if(this.match(d.at)){r.push(this.parseDecorator());continue}const e=this.startNode();r.length&&(e.decorators=r,this.resetStartLocationFromNode(e,r[0]),r=[]),this.parseClassMember(i,e,s,t),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(e.start,ut.DecoratorConstructor)}}),e||(this.state.strict=!1),this.next(),r.length)throw this.raise(this.state.start,ut.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(t,e){const s=this.state.containsEsc,r=this.parseIdentifier(!0);if(this.isClassMethod()){const s=e;return s.kind="method",s.computed=!1,s.key=r,s.static=!1,this.pushClassMethod(t,s,!1,!1,!1,!1),!0}if(this.isClassProperty()){const s=e;return s.computed=!1,s.key=r,s.static=!1,t.body.push(this.parseClassProperty(s)),!0}if(s)throw this.unexpected();return!1}parseClassMember(t,e,s,r){const i=this.isContextual("static");i&&this.parseClassMemberFromModifier(t,e)||this.parseClassMemberWithIsStatic(t,e,s,i,r)}parseClassMemberWithIsStatic(t,e,s,r,i){const n=e,a=e,o=e,c=e,h=n,l=n;if(e.static=r,this.eat(d.star))return h.kind="method",this.parseClassPropertyName(h),"PrivateName"===h.key.type?void this.pushClassPrivateMethod(t,a,!0,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,ut.ConstructorIsGenerator),void this.pushClassMethod(t,n,!0,!1,!1,!1));const p=this.state.containsEsc,u=this.parseClassPropertyName(e),f="PrivateName"===u.type,m="Identifier"===u.type,y=this.state.start;if(this.parsePostMemberNameModifiers(l),this.isClassMethod()){if(h.kind="method",f)return void this.pushClassPrivateMethod(t,a,!1,!1);const e=this.isNonstaticConstructor(n);let r=!1;e&&(n.kind="constructor",s.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(u.start,ut.DuplicateConstructor),s.hadConstructor=!0,r=i),this.pushClassMethod(t,n,!1,!1,e,r)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(t,c):this.pushClassProperty(t,o);else if(!m||"async"!==u.name||p||this.isLineTerminator())!m||"get"!==u.name&&"set"!==u.name||p||this.match(d.star)&&this.isLineTerminator()?this.isLineTerminator()?f?this.pushClassPrivateProperty(t,c):this.pushClassProperty(t,o):this.unexpected():(h.kind=u.name,this.parseClassPropertyName(n),"PrivateName"===h.key.type?this.pushClassPrivateMethod(t,a,!1,!1):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,ut.ConstructorIsAccessor),this.pushClassMethod(t,n,!1,!1,!1,!1)),this.checkGetterSetterParams(n));else{const e=this.eat(d.star);l.optional&&this.unexpected(y),h.kind="method",this.parseClassPropertyName(h),this.parsePostMemberNameModifiers(l),"PrivateName"===h.key.type?this.pushClassPrivateMethod(t,a,e,!0):(this.isNonstaticConstructor(n)&&this.raise(n.key.start,ut.ConstructorIsAsync),this.pushClassMethod(t,n,e,!0,!1,!1))}}parseClassPropertyName(t){const e=this.parsePropertyName(t,!0);return t.computed||!t.static||"prototype"!==e.name&&"prototype"!==e.value||this.raise(e.start,ut.StaticPrototype),"PrivateName"===e.type&&"constructor"===e.id.name&&this.raise(e.start,ut.ConstructorClassPrivateField),e}pushClassProperty(t,e){e.computed||"constructor"!==e.key.name&&"constructor"!==e.key.value||this.raise(e.key.start,ut.ConstructorClassField),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){this.expectPlugin("classPrivateProperties",e.key.start);const s=this.parseClassPrivateProperty(e);t.body.push(s),this.classScope.declarePrivateName(s.key.id.name,tt,s.key.start)}pushClassMethod(t,e,s,r,i,n){t.body.push(this.parseMethod(e,s,r,i,n,"ClassMethod",!0))}pushClassPrivateMethod(t,e,s,r){this.expectPlugin("classPrivateMethods",e.key.start);const i=this.parseMethod(e,s,r,!1,!1,"ClassPrivateMethod",!0);t.body.push(i);const n="get"===i.kind?i.static?Y:Q:"set"===i.kind?i.static?J:Z:tt;this.classScope.declarePrivateName(i.key.id.name,n,i.key.start)}parsePostMemberNameModifiers(t){}parseAccessModifier(){}parseClassPrivateProperty(t){return this.scope.enter(w|b),this.prodParam.enter(ie),t.value=this.eat(d.eq)?this.parseMaybeAssign():null,this.semicolon(),this.prodParam.exit(),this.scope.exit(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return t.typeAnnotation||this.expectPlugin("classProperties"),this.scope.enter(w|b),this.prodParam.enter(ie),this.match(d.eq)?(this.expectPlugin("classProperties"),this.next(),t.value=this.parseMaybeAssign()):t.value=null,this.semicolon(),this.prodParam.exit(),this.scope.exit(),this.finishNode(t,"ClassProperty")}parseClassId(t,e,s,r=L){this.match(d.name)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,r,void 0,"class name")):s||!e?t.id=null:this.unexpected(null,ut.MissingClassName)}parseClassSuper(t){t.superClass=this.eat(d._extends)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),s=!e||this.eat(d.comma),r=s&&this.eatExportStar(t),i=r&&this.maybeParseExportNamespaceSpecifier(t),n=s&&(!i||this.eat(d.comma)),a=e||r;if(r&&!i)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(t);if(e&&s&&!r&&!o||i&&n&&!o)throw this.unexpected(null,d.braceL);let c;if(a||o?(c=!1,this.parseExportFrom(t,a)):c=this.maybeParseExportDeclaration(t),a||o||c)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,"ExportNamedDeclaration");if(this.eat(d._default))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,"ExportDefaultDeclaration");throw this.unexpected(null,d.braceL)}eatExportStar(t){return this.eat(d.star)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual("as")){t.specifiers||(t.specifiers=[]);const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseIdentifier(!0),t.specifiers.push(this.finishNode(e,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){return!!this.match(d.braceL)&&(t.specifiers||(t.specifiers=[]),t.specifiers.push(...this.parseExportSpecifiers()),t.source=null,t.declaration=null,!0)}maybeParseExportDeclaration(t){if(this.shouldParseExportDeclaration()){if(this.isContextual("async")){const t=this.nextTokenStart();this.isUnparsedContextual(t,"function")||this.unexpected(t,d._function)}return t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t),!0}return!1}isAsyncFunction(){if(!this.isContextual("async"))return!1;const t=this.nextTokenStart();return!et.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(d._function)||e)return this.next(),e&&this.next(),this.parseFunction(t,ze|We,e);if(this.match(d._class))return this.parseClass(t,!0,!0);if(this.match(d.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,ut.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(d._const)||this.match(d._var)||this.isLet())throw this.raise(this.state.start,ut.UnsupportedDefaultExport);{const t=this.parseMaybeAssign();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(d.name))return"async"!==this.state.value&&"let"!==this.state.value;if(!this.match(d._default))return!1;const t=this.nextTokenStart();return 44===this.input.charCodeAt(t)||this.isUnparsedContextual(t,"from")}parseExportFrom(t,e){this.eatContextual("from")?(t.source=this.parseImportSource(),this.checkExport(t)):e?this.unexpected():t.source=null,this.semicolon()}shouldParseExportDeclaration(){if(this.match(d.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,ut.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(t,e,s,r){if(e)if(s)this.checkDuplicateExports(t,"default");else if(t.specifiers&&t.specifiers.length)for(let n=0,a=t.specifiers;n-1&&this.raise(t.start,"default"===e?ut.DuplicateDefaultExport:ut.DuplicateExport,e),this.state.exportedIdentifiers.push(e)}parseExportSpecifiers(){const t=[];let e=!0;this.expect(d.braceL);while(!this.eat(d.braceR)){if(e)e=!1;else if(this.expect(d.comma),this.eat(d.braceR))break;const s=this.startNode();s.local=this.parseIdentifier(!0),s.exported=this.eatContextual("as")?this.parseIdentifier(!0):s.local.__clone(),t.push(this.finishNode(s,"ExportSpecifier"))}return t}parseImport(t){if(t.specifiers=[],!this.match(d.string)){const e=this.maybeParseDefaultImportSpecifier(t),s=!e||this.eat(d.comma),r=s&&this.maybeParseStarImportSpecifier(t);s&&!r&&this.parseNamedImportSpecifiers(t),this.expectContextual("from")}return t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(d.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return this.match(d.name)}parseImportSpecifierLocal(t,e,s,r){e.local=this.parseIdentifier(),this.checkLVal(e.local,_,void 0,r),t.specifiers.push(this.finishNode(e,s))}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(t){if(this.match(d.star)){const e=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(t,e,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;this.expect(d.braceL);while(!this.eat(d.braceR)){if(e)e=!1;else{if(this.eat(d.colon))throw this.raise(this.state.start,ut.DestructureNamedImport);if(this.expect(d.comma),this.eat(d.braceR))break}this.parseImportSpecifier(t)}}parseImportSpecifier(t){const e=this.startNode();e.imported=this.parseIdentifier(!0),this.eatContextual("as")?e.local=this.parseIdentifier():(this.checkReservedWord(e.imported.name,e.start,!0,!0),e.local=e.imported.__clone()),this.checkLVal(e.local,_,void 0,"import specifier"),t.specifiers.push(this.finishNode(e,"ImportSpecifier"))}}class $e{constructor(){this.privateNames=new Set,this.loneAccessors=new Map,this.undefinedPrivateNames=new Map}}class Xe{constructor(t){this.stack=[],this.undefinedPrivateNames=new Map,this.raise=t}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new $e)}exit(){const t=this.stack.pop(),e=this.current();for(let s=0,r=Array.from(t.undefinedPrivateNames);sge(t,e)),s=e.join("/");let r=ts[s];if(!r){r=Ge;for(let t=0;tn)i.push(arguments[n++]);if(r=e,(d(e)||void 0!==t)&&!ot(t))return u(e)||(e=function(t,e){if("function"==typeof r&&(e=r.call(this,t,e)),!ot(e))return e}),i[1]=e,$.apply(null,i)}})}K[q][V]||C(K[q],V,K[q].valueOf),R(K,U),O[B]=!0},"417f":function(t,e,s){var r=s("3d8a");t.exports=function(t,e,s){for(var i in e)r(t,i,e[i],s);return t}},"41f6":function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},4301:function(t,e,s){var r=s("ac83"),i=s("d68d"),n=s("df22");t.exports=function(t,e){if(r(t),i(e)&&e.constructor===t)return e;var s=n.f(t),a=s.resolve;return a(e),s.promise}},4423:function(t,e,s){"use strict";var r=s("91fe"),i=s("407d").some,n=s("fb11"),a=s("6885"),o=n("some"),c=a("some");r({target:"Array",proto:!0,forced:!o||!c},{some:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},4445:function(t,e,s){var r=s("4ccd");t.exports=r&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},4758:function(t,e){"function"===typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var s=function(){};s.prototype=e.prototype,t.prototype=new s,t.prototype.constructor=t}},4888:function(t,e){t.exports={}},"49a5":function(t,e,s){(function(t){var r=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),s={},r=0;r=n)return t;switch(t){case"%s":return String(r[s++]);case"%d":return Number(r[s++]);case"%j":try{return JSON.stringify(r[s++])}catch(e){return"[Circular]"}default:return t}})),c=r[s];s=3&&(r.depth=arguments[2]),arguments.length>=4&&(r.colors=arguments[3]),x(s)?r.showHidden=s:s&&e._extend(r,s),E(r.showHidden)&&(r.showHidden=!1),E(r.depth)&&(r.depth=2),E(r.colors)&&(r.colors=!1),E(r.customInspect)&&(r.customInspect=!0),r.colors&&(r.stylize=c),p(r,t,r.depth)}function c(t,e){var s=o.styles[e];return s?"["+o.colors[s][0]+"m"+t+"["+o.colors[s][1]+"m":t}function h(t,e){return t}function l(t){var e={};return t.forEach((function(t,s){e[t]=!0})),e}function p(t,s,r){if(t.customInspect&&s&&N(s.inspect)&&s.inspect!==e.inspect&&(!s.constructor||s.constructor.prototype!==s)){var i=s.inspect(r,t);return P(i)||(i=p(t,i,r)),i}var n=u(t,s);if(n)return n;var a=Object.keys(s),o=l(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(s)),k(s)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return d(s);if(0===a.length){if(N(s)){var c=s.name?": "+s.name:"";return t.stylize("[Function"+c+"]","special")}if(A(s))return t.stylize(RegExp.prototype.toString.call(s),"regexp");if(C(s))return t.stylize(Date.prototype.toString.call(s),"date");if(k(s))return d(s)}var h,x="",b=!1,v=["{","}"];if(g(s)&&(b=!0,v=["[","]"]),N(s)){var w=s.name?": "+s.name:"";x=" [Function"+w+"]"}return A(s)&&(x=" "+RegExp.prototype.toString.call(s)),C(s)&&(x=" "+Date.prototype.toUTCString.call(s)),k(s)&&(x=" "+d(s)),0!==a.length||b&&0!=s.length?r<0?A(s)?t.stylize(RegExp.prototype.toString.call(s),"regexp"):t.stylize("[Object]","special"):(t.seen.push(s),h=b?f(t,s,r,o,a):a.map((function(e){return m(t,s,r,o,e,b)})),t.seen.pop(),y(h,x,v)):v[0]+x+v[1]}function u(t,e){if(E(e))return t.stylize("undefined","undefined");if(P(e)){var s="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(s,"string")}return w(e)?t.stylize(""+e,"number"):x(e)?t.stylize(""+e,"boolean"):b(e)?t.stylize("null","null"):void 0}function d(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,s,r,i){for(var n=[],a=0,o=e.length;a-1&&(o=n?o.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+o.split("\n").map((function(t){return" "+t})).join("\n"))):o=t.stylize("[Circular]","special")),E(a)){if(n&&i.match(/^\d+$/))return o;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+o}function y(t,e,s){var r=t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return r>60?s[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+s[1]:s[0]+e+" "+t.join(", ")+" "+s[1]}function g(t){return Array.isArray(t)}function x(t){return"boolean"===typeof t}function b(t){return null===t}function v(t){return null==t}function w(t){return"number"===typeof t}function P(t){return"string"===typeof t}function T(t){return"symbol"===typeof t}function E(t){return void 0===t}function A(t){return S(t)&&"[object RegExp]"===O(t)}function S(t){return"object"===typeof t&&null!==t}function C(t){return S(t)&&"[object Date]"===O(t)}function k(t){return S(t)&&("[object Error]"===O(t)||t instanceof Error)}function N(t){return"function"===typeof t}function I(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t}function O(t){return Object.prototype.toString.call(t)}function D(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(s){if(E(n)&&(n=Object({NODE_ENV:"production",BASE_URL:"/form-generator/"}).NODE_DEBUG||""),s=s.toUpperCase(),!a[s])if(new RegExp("\\b"+s+"\\b","i").test(n)){var r=t.pid;a[s]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",s,r,t)}}else a[s]=function(){};return a[s]},e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=g,e.isBoolean=x,e.isNull=b,e.isNullOrUndefined=v,e.isNumber=w,e.isString=P,e.isSymbol=T,e.isUndefined=E,e.isRegExp=A,e.isObject=S,e.isDate=C,e.isError=k,e.isFunction=N,e.isPrimitive=I,e.isBuffer=s("dc62");var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var t=new Date,e=[D(t.getHours()),D(t.getMinutes()),D(t.getSeconds())].join(":");return[t.getDate(),M[t.getMonth()],e].join(" ")}function _(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",L(),e.format.apply(e,arguments))},e.inherits=s("4758"),e._extend=function(t,e){if(!e||!S(e))return t;var s=Object.keys(e),r=s.length;while(r--)t[s[r]]=e[s[r]];return t};var R="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function j(t,e){if(!t){var s=new Error("Promise was rejected with a falsy value");s.reason=t,t=s}return e(t)}function F(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');function s(){for(var s=[],r=0;rc)i.f(t,s=r[c++],e[s]);return t}},5646:function(t,e,s){"use strict";var r=s("91fe"),i=s("ed51"),n=s("90a7"),a=s("4ce0"),o=s("94d7"),c=s("2ba5"),h=s("3d8a"),l=s("57c4"),p=s("e17a"),u=s("ed35"),d=s("143b"),f=d.IteratorPrototype,m=d.BUGGY_SAFARI_ITERATORS,y=l("iterator"),g="keys",x="values",b="entries",v=function(){return this};t.exports=function(t,e,s,l,d,w,P){i(s,e,l);var T,E,A,S=function(t){if(t===d&&O)return O;if(!m&&t in N)return N[t];switch(t){case g:return function(){return new s(this,t)};case x:return function(){return new s(this,t)};case b:return function(){return new s(this,t)}}return function(){return new s(this)}},C=e+" Iterator",k=!1,N=t.prototype,I=N[y]||N["@@iterator"]||d&&N[d],O=!m&&I||S(d),D="Array"==e&&N.entries||I;if(D&&(T=n(D.call(new t)),f!==Object.prototype&&T.next&&(p||n(T)===f||(a?a(T,f):"function"!=typeof T[y]&&c(T,y,v)),o(T,C,!0,!0),p&&(u[C]=v))),d==x&&I&&I.name!==x&&(k=!0,O=function(){return I.call(this)}),p&&!P||N[y]===O||c(N,y,O),u[e]=O,d)if(E={values:S(x),keys:w?O:S(g),entries:S(b)},P)for(A in E)(m||k||!(A in N))&&h(N,A,E[A]);else r({target:e,proto:!0,forced:m||k},E);return E}},5751:function(t,e,s){var r=s("57c4"),i=s("641d"),n=s("c223"),a=r("unscopables"),o=Array.prototype;void 0==o[a]&&n.f(o,a,{configurable:!0,value:i(null)}),t.exports=function(t){o[a][t]=!0}},"57c4":function(t,e,s){var r=s("d5dc"),i=s("f880"),n=s("f28d"),a=s("9db6"),o=s("4ccd"),c=s("4445"),h=i("wks"),l=r.Symbol,p=c?l:l&&l.withoutSetter||a;t.exports=function(t){return n(h,t)||(o&&n(l,t)?h[t]=l[t]:h[t]=p("Symbol."+t)),h[t]}},"5c90":function(t,e){t.exports=function(t){try{return{error:!1,value:t()}}catch(e){return{error:!0,value:e}}}},"60f2":function(t,e,s){var r=s("d68d"),i=s("4ce0");t.exports=function(t,e,s){var n,a;return i&&"function"==typeof(n=e.constructor)&&n!==s&&r(a=n.prototype)&&a!==s.prototype&&i(t,a),t}},"618d":function(t,e,s){"use strict";var r=s("91fe"),i=s("e17a"),n=s("644f"),a=s("f30e"),o=s("df50"),c=s("fb8e"),h=s("4301"),l=s("3d8a"),p=!!n&&a((function(){n.prototype["finally"].call({then:function(){}},(function(){}))}));r({target:"Promise",proto:!0,real:!0,forced:p},{finally:function(t){var e=c(this,o("Promise")),s="function"==typeof t;return this.then(s?function(s){return h(e,t()).then((function(){return s}))}:t,s?function(s){return h(e,t()).then((function(){throw s}))}:t)}}),i||"function"!=typeof n||n.prototype["finally"]||l(n.prototype,"finally",o("Promise").prototype["finally"])},6266:function(t,e,s){(function(t){function s(t,e){for(var s=0,r=t.length-1;r>=0;r--){var i=t[r];"."===i?t.splice(r,1):".."===i?(t.splice(r,1),s++):s&&(t.splice(r,1),s--)}if(e)for(;s--;s)t.unshift("..");return t}function r(t){"string"!==typeof t&&(t+="");var e,s=0,r=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){s=e+1;break}}else-1===r&&(i=!1,r=e+1);return-1===r?"":t.slice(s,r)}function i(t,e){if(t.filter)return t.filter(e);for(var s=[],r=0;r=-1&&!r;n--){var a=n>=0?arguments[n]:t.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,r="/"===a.charAt(0))}return e=s(i(e.split("/"),(function(t){return!!t})),!r).join("/"),(r?"/":"")+e||"."},e.normalize=function(t){var r=e.isAbsolute(t),a="/"===n(t,-1);return t=s(i(t.split("/"),(function(t){return!!t})),!r).join("/"),t||r||(t="."),t&&a&&(t+="/"),(r?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(i(t,(function(t,e){if("string"!==typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,s){function r(t){for(var e=0;e=0;s--)if(""!==t[s])break;return e>s?[]:t.slice(e,s-e+1)}t=e.resolve(t).substr(1),s=e.resolve(s).substr(1);for(var i=r(t.split("/")),n=r(s.split("/")),a=Math.min(i.length,n.length),o=a,c=0;c=1;--n)if(e=t.charCodeAt(n),47===e){if(!i){r=n;break}}else i=!1;return-1===r?s?"/":".":s&&1===r?"/":t.slice(0,r)},e.basename=function(t,e){var s=r(t);return e&&s.substr(-1*e.length)===e&&(s=s.substr(0,s.length-e.length)),s},e.extname=function(t){"string"!==typeof t&&(t+="");for(var e=-1,s=0,r=-1,i=!0,n=0,a=t.length-1;a>=0;--a){var o=t.charCodeAt(a);if(47!==o)-1===r&&(i=!1,r=a+1),46===o?-1===e?e=a:1!==n&&(n=1):-1!==e&&(n=-1);else if(!i){s=a+1;break}}return-1===e||-1===r||0===n||1===n&&e===r-1&&e===s+1?"":t.slice(e,r)};var n="b"==="ab".substr(-1)?function(t,e,s){return t.substr(e,s)}:function(t,e,s){return e<0&&(e=t.length+e),t.substr(e,s)}}).call(this,s("eef6"))},"641d":function(t,e,s){var r,i=s("ac83"),n=s("55b0"),a=s("6807"),o=s("4888"),c=s("c49e"),h=s("032e"),l=s("4d52"),p=">",u="<",d="prototype",f="script",m=l("IE_PROTO"),y=function(){},g=function(t){return u+f+p+t+u+"/"+f+p},x=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},b=function(){var t,e=h("iframe"),s="java"+f+":";return e.style.display="none",c.appendChild(e),e.src=String(s),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},v=function(){try{r=document.domain&&new ActiveXObject("htmlfile")}catch(e){}v=r?x(r):b();var t=a.length;while(t--)delete v[d][a[t]];return v()};o[m]=!0,t.exports=Object.create||function(t,e){var s;return null!==t?(y[d]=i(t),s=new y,y[d]=null,s[m]=t):s=v(),void 0===e?s:n(s,e)}},"644f":function(t,e,s){var r=s("d5dc");t.exports=r.Promise},"65af":function(t,e,s){var r=s("02d0"),i=s("6807"),n=i.concat("length","prototype");e.f=Object.getOwnPropertyNames||function(t){return r(t,n)}},"66b2":function(t,e,s){var r=s("ac83"),i=s("0532"),n=s("684e"),a=s("0b29"),o=s("e28b"),c=s("2bba"),h=function(t,e){this.stopped=t,this.result=e},l=t.exports=function(t,e,s,l,p){var u,d,f,m,y,g,x,b=a(e,s,l?2:1);if(p)u=t;else{if(d=o(t),"function"!=typeof d)throw TypeError("Target is not iterable");if(i(d)){for(f=0,m=n(t.length);m>f;f++)if(y=l?b(r(x=t[f])[0],x[1]):b(t[f]),y&&y instanceof h)return y;return new h(!1)}u=d.call(t)}g=u.next;while(!(x=g.call(u)).done)if(y=c(u,b,x.value,l),"object"==typeof y&&y&&y instanceof h)return y;return new h(!1)};l.stop=function(t){return new h(!0,t)}},"67ea":function(t,e){var s={}.toString;t.exports=function(t){return s.call(t).slice(8,-1)}},6807:function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"684e":function(t,e,s){var r=s("f240"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},6885:function(t,e,s){var r=s("7a23"),i=s("f30e"),n=s("f28d"),a=Object.defineProperty,o={},c=function(t){throw t};t.exports=function(t,e){if(n(o,t))return o[t];e||(e={});var s=[][t],h=!!n(e,"ACCESSORS")&&e.ACCESSORS,l=n(e,0)?e[0]:c,p=n(e,1)?e[1]:void 0;return o[t]=!!s&&!i((function(){if(h&&!r)return!0;var t={length:-1};h?a(t,1,{enumerable:!0,get:c}):t[1]=1,s.call(t,l,p)}))}},"6be9":function(t,e,s){var r=s("8c47"),i=s("684e"),n=s("0192"),a=function(t){return function(e,s,a){var o,c=r(e),h=i(c.length),l=n(a,h);if(t&&s!=s){while(h>l)if(o=c[l++],o!=o)return!0}else for(;h>l;l++)if((t||l in c)&&c[l]===s)return t||l||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"6dcf":function(t,e,s){var r,i,n,a=s("d5dc"),o=s("f30e"),c=s("67ea"),h=s("0b29"),l=s("c49e"),p=s("032e"),u=s("c044"),d=a.location,f=a.setImmediate,m=a.clearImmediate,y=a.process,g=a.MessageChannel,x=a.Dispatch,b=0,v={},w="onreadystatechange",P=function(t){if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},T=function(t){return function(){P(t)}},E=function(t){P(t.data)},A=function(t){a.postMessage(t+"",d.protocol+"//"+d.host)};f&&m||(f=function(t){var e=[],s=1;while(arguments.length>s)e.push(arguments[s++]);return v[++b]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},r(b),b},m=function(t){delete v[t]},"process"==c(y)?r=function(t){y.nextTick(T(t))}:x&&x.now?r=function(t){x.now(T(t))}:g&&!u?(i=new g,n=i.port2,i.port1.onmessage=E,r=h(n.postMessage,n,1)):!a.addEventListener||"function"!=typeof postMessage||a.importScripts||o(A)?r=w in p("script")?function(t){l.appendChild(p("script"))[w]=function(){l.removeChild(this),P(t)}}:function(t){setTimeout(T(t),0)}:(r=A,a.addEventListener("message",E,!1))),t.exports={set:f,clear:m}},7267:function(t,e,s){"use strict";var r=s("3d8a"),i=s("ac83"),n=s("f30e"),a=s("0618"),o="toString",c=RegExp.prototype,h=c[o],l=n((function(){return"/a/b"!=h.call({source:"a",flags:"b"})})),p=h.name!=o;(l||p)&&r(RegExp.prototype,o,(function(){var t=i(this),e=String(t.source),s=t.flags,r=String(void 0===s&&t instanceof RegExp&&!("flags"in c)?a.call(t):s);return"/"+e+"/"+r}),{unsafe:!0})},7287:function(t,e,s){var r=s("57c4");e.f=r},"79dd":function(t,e,s){var r=s("91fe"),i=s("ee6f"),n=s("16e5"),a=s("f30e"),o=a((function(){n(1)}));r({target:"Object",stat:!0,forced:o},{keys:function(t){return n(i(t))}})},"7a23":function(t,e,s){var r=s("f30e");t.exports=!r((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"7ae7":function(t,e,s){"use strict";var r=s("91fe"),i=s("f30e"),n=s("a8c9"),a=s("d68d"),o=s("ee6f"),c=s("684e"),h=s("01d7"),l=s("3132"),p=s("b1a1"),u=s("57c4"),d=s("bf98"),f=u("isConcatSpreadable"),m=9007199254740991,y="Maximum allowed index exceeded",g=d>=51||!i((function(){var t=[];return t[f]=!1,t.concat()[0]!==t})),x=p("concat"),b=function(t){if(!a(t))return!1;var e=t[f];return void 0!==e?!!e:n(t)},v=!g||!x;r({target:"Array",proto:!0,forced:v},{concat:function(t){var e,s,r,i,n,a=o(this),p=l(a,0),u=0;for(e=-1,r=arguments.length;em)throw TypeError(y);for(s=0;s=m)throw TypeError(y);h(p,u++,n)}return p.length=u,p}})},"7dc7":function(t,e,s){var r=s("d68d");t.exports=function(t,e){if(!r(t))return t;var s,i;if(e&&"function"==typeof(s=t.toString)&&!r(i=s.call(t)))return i;if("function"==typeof(s=t.valueOf)&&!r(i=s.call(t)))return i;if(!e&&"function"==typeof(s=t.toString)&&!r(i=s.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"80d3":function(t,e,s){"use strict";var r=s("91fe"),i=s("4aef").f,n=s("684e"),a=s("e1c9"),o=s("3193"),c=s("30c9"),h=s("e17a"),l="".endsWith,p=Math.min,u=c("endsWith"),d=!h&&!u&&!!function(){var t=i(String.prototype,"endsWith");return t&&!t.writable}();r({target:"String",proto:!0,forced:!d&&!u},{endsWith:function(t){var e=String(o(this));a(t);var s=arguments.length>1?arguments[1]:void 0,r=n(e.length),i=void 0===s?r:p(n(s),r),c=String(t);return l?l.call(e,c,i):e.slice(i-c.length,i)===c}})},"81a0":function(t,e,s){var r=s("67ea"),i=s("21d4");t.exports=function(t,e){var s=t.exec;if("function"===typeof s){var n=s.call(t,e);if("object"!==typeof n)throw TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==r(t))throw TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},"861d":function(t,e,s){"use strict";function r(t,e,s,r){var i,n=!1,a=0;function o(){i&&clearTimeout(i)}function c(){o(),n=!0}function h(){var c=this,h=Date.now()-a,l=arguments;function p(){a=Date.now(),s.apply(c,l)}function u(){i=void 0}n||(r&&!i&&p(),o(),void 0===r&&h>t?p():!0!==e&&(i=setTimeout(r?u:p,void 0===r?t-h:t)))}return"boolean"!==typeof e&&(r=s,s=e,e=void 0),h.cancel=c,h}function i(t,e,s){return void 0===s?r(t,e,!1):r(t,s,!1!==e)}s.d(e,"a",(function(){return i}))},"86dd":function(t,e,s){"use strict";var r=s("91fe"),i=s("407d").filter,n=s("b1a1"),a=s("6885"),o=n("filter"),c=a("filter");r({target:"Array",proto:!0,forced:!o||!c},{filter:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},"88b4":function(t,e,s){var r=s("7a23"),i=s("f30e"),n=s("032e");t.exports=!r&&!i((function(){return 7!=Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))},"8c13":function(t,e,s){t.exports=function(t){var e={};function s(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,s),i.l=!0,i.exports}return s.m=t,s.c=e,s.d=function(t,e,r){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},s.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(s.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)s.d(r,i,function(e){return t[e]}.bind(null,i));return r},s.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s="fb15")}({"02f4":function(t,e,s){var r=s("4588"),i=s("be13");t.exports=function(t){return function(e,s){var n,a,o=String(i(e)),c=r(s),h=o.length;return c<0||c>=h?t?"":void 0:(n=o.charCodeAt(c),n<55296||n>56319||c+1===h||(a=o.charCodeAt(c+1))<56320||a>57343?t?o.charAt(c):n:t?o.slice(c,c+2):a-56320+(n-55296<<10)+65536)}}},"0390":function(t,e,s){"use strict";var r=s("02f4")(!0);t.exports=function(t,e,s){return e+(s?r(t,e).length:1)}},"07e3":function(t,e){var s={}.hasOwnProperty;t.exports=function(t,e){return s.call(t,e)}},"0bfb":function(t,e,s){"use strict";var r=s("cb7c");t.exports=function(){var t=r(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0fc9":function(t,e,s){var r=s("3a38"),i=Math.max,n=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):n(t,e)}},1654:function(t,e,s){"use strict";var r=s("71c1")(!0);s("30f1")(String,"String",(function(t){this._t=String(t),this._i=0}),(function(){var t,e=this._t,s=this._i;return s>=e.length?{value:void 0,done:!0}:(t=r(e,s),this._i+=t.length,{value:t,done:!1})}))},1691:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},"1af6":function(t,e,s){var r=s("63b6");r(r.S,"Array",{isArray:s("9003")})},"1bc3":function(t,e,s){var r=s("f772");t.exports=function(t,e){if(!r(t))return t;var s,i;if(e&&"function"==typeof(s=t.toString)&&!r(i=s.call(t)))return i;if("function"==typeof(s=t.valueOf)&&!r(i=s.call(t)))return i;if(!e&&"function"==typeof(s=t.toString)&&!r(i=s.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"1ec9":function(t,e,s){var r=s("f772"),i=s("e53d").document,n=r(i)&&r(i.createElement);t.exports=function(t){return n?i.createElement(t):{}}},"20fd":function(t,e,s){"use strict";var r=s("d9f6"),i=s("aebd");t.exports=function(t,e,s){e in t?r.f(t,e,i(0,s)):t[e]=s}},"214f":function(t,e,s){"use strict";s("b0c5");var r=s("2aba"),i=s("32e9"),n=s("79e5"),a=s("be13"),o=s("2b4c"),c=s("520a"),h=o("species"),l=!n((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),p=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var s="ab".split(t);return 2===s.length&&"a"===s[0]&&"b"===s[1]}();t.exports=function(t,e,s){var u=o(t),d=!n((function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})),f=d?!n((function(){var e=!1,s=/a/;return s.exec=function(){return e=!0,null},"split"===t&&(s.constructor={},s.constructor[h]=function(){return s}),s[u](""),!e})):void 0;if(!d||!f||"replace"===t&&!l||"split"===t&&!p){var m=/./[u],y=s(a,u,""[t],(function(t,e,s,r,i){return e.exec===c?d&&!i?{done:!0,value:m.call(e,s,r)}:{done:!0,value:t.call(s,e,r)}:{done:!1}})),g=y[0],x=y[1];r(String.prototype,t,g),i(RegExp.prototype,u,2==e?function(t,e){return x.call(t,this,e)}:function(t){return x.call(t,this)})}}},"230e":function(t,e,s){var r=s("d3f4"),i=s("7726").document,n=r(i)&&r(i.createElement);t.exports=function(t){return n?i.createElement(t):{}}},"23c6":function(t,e,s){var r=s("2d95"),i=s("2b4c")("toStringTag"),n="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(s){}};t.exports=function(t){var e,s,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(s=a(e=Object(t),i))?s:n?r(e):"Object"==(o=r(e))&&"function"==typeof e.callee?"Arguments":o}},"241e":function(t,e,s){var r=s("25eb");t.exports=function(t){return Object(r(t))}},"25eb":function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},"294c":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"2aba":function(t,e,s){var r=s("7726"),i=s("32e9"),n=s("69a8"),a=s("ca5a")("src"),o=s("fa5b"),c="toString",h=(""+o).split(c);s("8378").inspectSource=function(t){return o.call(t)},(t.exports=function(t,e,s,o){var c="function"==typeof s;c&&(n(s,"name")||i(s,"name",e)),t[e]!==s&&(c&&(n(s,a)||i(s,a,t[e]?""+t[e]:h.join(String(e)))),t===r?t[e]=s:o?t[e]?t[e]=s:i(t,e,s):(delete t[e],i(t,e,s)))})(Function.prototype,c,(function(){return"function"==typeof this&&this[a]||o.call(this)}))},"2b4c":function(t,e,s){var r=s("5537")("wks"),i=s("ca5a"),n=s("7726").Symbol,a="function"==typeof n,o=t.exports=function(t){return r[t]||(r[t]=a&&n[t]||(a?n:i)("Symbol."+t))};o.store=r},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var s={}.toString;t.exports=function(t){return s.call(t).slice(8,-1)}},"2fdb":function(t,e,s){"use strict";var r=s("5ca1"),i=s("d2c8"),n="includes";r(r.P+r.F*s("5147")(n),"String",{includes:function(t){return!!~i(this,t,n).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"30f1":function(t,e,s){"use strict";var r=s("b8e3"),i=s("63b6"),n=s("9138"),a=s("35e8"),o=s("481b"),c=s("8f60"),h=s("45f2"),l=s("53e2"),p=s("5168")("iterator"),u=!([].keys&&"next"in[].keys()),d="@@iterator",f="keys",m="values",y=function(){return this};t.exports=function(t,e,s,g,x,b,v){c(s,e,g);var w,P,T,E=function(t){if(!u&&t in k)return k[t];switch(t){case f:return function(){return new s(this,t)};case m:return function(){return new s(this,t)}}return function(){return new s(this,t)}},A=e+" Iterator",S=x==m,C=!1,k=t.prototype,N=k[p]||k[d]||x&&k[x],I=N||E(x),O=x?S?E("entries"):I:void 0,D="Array"==e&&k.entries||N;if(D&&(T=l(D.call(new t)),T!==Object.prototype&&T.next&&(h(T,A,!0),r||"function"==typeof T[p]||a(T,p,y))),S&&N&&N.name!==m&&(C=!0,I=function(){return N.call(this)}),r&&!v||!u&&!C&&k[p]||a(k,p,I),o[e]=I,o[A]=y,x)if(w={values:S?I:E(m),keys:b?I:E(f),entries:O},v)for(P in w)P in k||n(k,P,w[P]);else i(i.P+i.F*(u||C),e,w);return w}},"32a6":function(t,e,s){var r=s("241e"),i=s("c3a1");s("ce7e")("keys",(function(){return function(t){return i(r(t))}}))},"32e9":function(t,e,s){var r=s("86cc"),i=s("4630");t.exports=s("9e1e")?function(t,e,s){return r.f(t,e,i(1,s))}:function(t,e,s){return t[e]=s,t}},"32fc":function(t,e,s){var r=s("e53d").document;t.exports=r&&r.documentElement},"335c":function(t,e,s){var r=s("6b4c");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"355d":function(t,e){e.f={}.propertyIsEnumerable},"35e8":function(t,e,s){var r=s("d9f6"),i=s("aebd");t.exports=s("8e60")?function(t,e,s){return r.f(t,e,i(1,s))}:function(t,e,s){return t[e]=s,t}},"36c3":function(t,e,s){var r=s("335c"),i=s("25eb");t.exports=function(t){return r(i(t))}},3702:function(t,e,s){var r=s("481b"),i=s("5168")("iterator"),n=Array.prototype;t.exports=function(t){return void 0!==t&&(r.Array===t||n[i]===t)}},"3a38":function(t,e){var s=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:s)(t)}},"40c3":function(t,e,s){var r=s("6b4c"),i=s("5168")("toStringTag"),n="Arguments"==r(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(s){}};t.exports=function(t){var e,s,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(s=a(e=Object(t),i))?s:n?r(e):"Object"==(o=r(e))&&"function"==typeof e.callee?"Arguments":o}},4588:function(t,e){var s=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:s)(t)}},"45f2":function(t,e,s){var r=s("d9f6").f,i=s("07e3"),n=s("5168")("toStringTag");t.exports=function(t,e,s){t&&!i(t=s?t:t.prototype,n)&&r(t,n,{configurable:!0,value:e})}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"469f":function(t,e,s){s("6c1c"),s("1654"),t.exports=s("7d7b")},"481b":function(t,e){t.exports={}},"4aa6":function(t,e,s){t.exports=s("dc62")},"4bf8":function(t,e,s){var r=s("be13");t.exports=function(t){return Object(r(t))}},"4ee1":function(t,e,s){var r=s("5168")("iterator"),i=!1;try{var n=[7][r]();n["return"]=function(){i=!0},Array.from(n,(function(){throw 2}))}catch(a){}t.exports=function(t,e){if(!e&&!i)return!1;var s=!1;try{var n=[7],o=n[r]();o.next=function(){return{done:s=!0}},n[r]=function(){return o},t(n)}catch(a){}return s}},"50ed":function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},5147:function(t,e,s){var r=s("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(s){try{return e[r]=!1,!"/./"[t](e)}catch(i){}}return!0}},5168:function(t,e,s){var r=s("dbdb")("wks"),i=s("62a0"),n=s("e53d").Symbol,a="function"==typeof n,o=t.exports=function(t){return r[t]||(r[t]=a&&n[t]||(a?n:i)("Symbol."+t))};o.store=r},5176:function(t,e,s){t.exports=s("51b6")},"51b6":function(t,e,s){s("a3c3"),t.exports=s("584a").Object.assign},"520a":function(t,e,s){"use strict";var r=s("0bfb"),i=RegExp.prototype.exec,n=String.prototype.replace,a=i,o="lastIndex",c=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[o]||0!==e[o]}(),h=void 0!==/()??/.exec("")[1],l=c||h;l&&(a=function(t){var e,s,a,l,p=this;return h&&(s=new RegExp("^"+p.source+"$(?!\\s)",r.call(p))),c&&(e=p[o]),a=i.call(p,t),c&&a&&(p[o]=p.global?a.index+a[0].length:e),h&&a&&a.length>1&&n.call(a[0],s,(function(){for(l=1;l1?arguments[1]:void 0,y=void 0!==m,g=0,x=l(u);if(y&&(m=r(m,f>2?arguments[2]:void 0,2)),void 0==x||d==Array&&o(x))for(e=c(u.length),s=new d(e);e>g;g++)h(s,g,y?m(u[g],g):u[g]);else for(p=x.call(u),s=new d;!(i=p.next()).done;g++)h(s,g,y?a(p,m,[i.value,g],!0):i.value);return s.length=g,s}})},"54a1":function(t,e,s){s("6c1c"),s("1654"),t.exports=s("95d5")},5537:function(t,e,s){var r=s("8378"),i=s("7726"),n="__core-js_shared__",a=i[n]||(i[n]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:s("2d00")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},5559:function(t,e,s){var r=s("dbdb")("keys"),i=s("62a0");t.exports=function(t){return r[t]||(r[t]=i(t))}},"584a":function(t,e){var s=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=s)},"5b4e":function(t,e,s){var r=s("36c3"),i=s("b447"),n=s("0fc9");t.exports=function(t){return function(e,s,a){var o,c=r(e),h=i(c.length),l=n(a,h);if(t&&s!=s){while(h>l)if(o=c[l++],o!=o)return!0}else for(;h>l;l++)if((t||l in c)&&c[l]===s)return t||l||0;return!t&&-1}}},"5ca1":function(t,e,s){var r=s("7726"),i=s("8378"),n=s("32e9"),a=s("2aba"),o=s("9b43"),c="prototype",h=function(t,e,s){var l,p,u,d,f=t&h.F,m=t&h.G,y=t&h.S,g=t&h.P,x=t&h.B,b=m?r:y?r[e]||(r[e]={}):(r[e]||{})[c],v=m?i:i[e]||(i[e]={}),w=v[c]||(v[c]={});for(l in m&&(s=e),s)p=!f&&b&&void 0!==b[l],u=(p?b:s)[l],d=x&&p?o(u,r):g&&"function"==typeof u?o(Function.call,u):u,b&&a(b,l,u,t&h.U),v[l]!=u&&n(v,l,d),g&&w[l]!=u&&(w[l]=u)};r.core=i,h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},"5d73":function(t,e,s){t.exports=s("469f")},"5f1b":function(t,e,s){"use strict";var r=s("23c6"),i=RegExp.prototype.exec;t.exports=function(t,e){var s=t.exec;if("function"===typeof s){var n=s.call(t,e);if("object"!==typeof n)throw new TypeError("RegExp exec method returned something other than an Object or null");return n}if("RegExp"!==r(t))throw new TypeError("RegExp#exec called on incompatible receiver");return i.call(t,e)}},"626a":function(t,e,s){var r=s("2d95");t.exports=Object("z").propertyIsEnumerable(0)?Object:function(t){return"String"==r(t)?t.split(""):Object(t)}},"62a0":function(t,e){var s=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++s+r).toString(36))}},"63b6":function(t,e,s){var r=s("e53d"),i=s("584a"),n=s("d864"),a=s("35e8"),o=s("07e3"),c="prototype",h=function(t,e,s){var l,p,u,d=t&h.F,f=t&h.G,m=t&h.S,y=t&h.P,g=t&h.B,x=t&h.W,b=f?i:i[e]||(i[e]={}),v=b[c],w=f?r:m?r[e]:(r[e]||{})[c];for(l in f&&(s=e),s)p=!d&&w&&void 0!==w[l],p&&o(b,l)||(u=p?w[l]:s[l],b[l]=f&&"function"!=typeof w[l]?s[l]:g&&p?n(u,r):x&&w[l]==u?function(t){var e=function(e,s,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,s)}return new t(e,s,r)}return t.apply(this,arguments)};return e[c]=t[c],e}(u):y&&"function"==typeof u?n(Function.call,u):u,y&&((b.virtual||(b.virtual={}))[l]=u,t&h.R&&v&&!v[l]&&a(v,l,u)))};h.F=1,h.G=2,h.S=4,h.P=8,h.B=16,h.W=32,h.U=64,h.R=128,t.exports=h},6762:function(t,e,s){"use strict";var r=s("5ca1"),i=s("c366")(!0);r(r.P,"Array",{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),s("9c6c")("includes")},6821:function(t,e,s){var r=s("626a"),i=s("be13");t.exports=function(t){return r(i(t))}},"69a8":function(t,e){var s={}.hasOwnProperty;t.exports=function(t,e){return s.call(t,e)}},"6a99":function(t,e,s){var r=s("d3f4");t.exports=function(t,e){if(!r(t))return t;var s,i;if(e&&"function"==typeof(s=t.toString)&&!r(i=s.call(t)))return i;if("function"==typeof(s=t.valueOf)&&!r(i=s.call(t)))return i;if(!e&&"function"==typeof(s=t.toString)&&!r(i=s.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},"6b4c":function(t,e){var s={}.toString;t.exports=function(t){return s.call(t).slice(8,-1)}},"6c1c":function(t,e,s){s("c367");for(var r=s("e53d"),i=s("35e8"),n=s("481b"),a=s("5168")("toStringTag"),o="CSSRuleList,CSSStyleDeclaration,CSSValueList,ClientRectList,DOMRectList,DOMStringList,DOMTokenList,DataTransferItemList,FileList,HTMLAllCollection,HTMLCollection,HTMLFormElement,HTMLSelectElement,MediaList,MimeTypeArray,NamedNodeMap,NodeList,PaintRequestList,Plugin,PluginArray,SVGLengthList,SVGNumberList,SVGPathSegList,SVGPointList,SVGStringList,SVGTransformList,SourceBufferList,StyleSheetList,TextTrackCueList,TextTrackList,TouchList".split(","),c=0;c=h?t?"":void 0:(n=o.charCodeAt(c),n<55296||n>56319||c+1===h||(a=o.charCodeAt(c+1))<56320||a>57343?t?o.charAt(c):n:t?o.slice(c,c+2):a-56320+(n-55296<<10)+65536)}}},7726:function(t,e){var s=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=s)},"774e":function(t,e,s){t.exports=s("d2d5")},"77f1":function(t,e,s){var r=s("4588"),i=Math.max,n=Math.min;t.exports=function(t,e){return t=r(t),t<0?i(t+e,0):n(t,e)}},"794b":function(t,e,s){t.exports=!s("8e60")&&!s("294c")((function(){return 7!=Object.defineProperty(s("1ec9")("div"),"a",{get:function(){return 7}}).a}))},"79aa":function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7cd6":function(t,e,s){var r=s("40c3"),i=s("5168")("iterator"),n=s("481b");t.exports=s("584a").getIteratorMethod=function(t){if(void 0!=t)return t[i]||t["@@iterator"]||n[r(t)]}},"7d7b":function(t,e,s){var r=s("e4ae"),i=s("7cd6");t.exports=s("584a").getIterator=function(t){var e=i(t);if("function"!=typeof e)throw TypeError(t+" is not iterable!");return r(e.call(t))}},"7e90":function(t,e,s){var r=s("d9f6"),i=s("e4ae"),n=s("c3a1");t.exports=s("8e60")?Object.defineProperties:function(t,e){i(t);var s,a=n(e),o=a.length,c=0;while(o>c)r.f(t,s=a[c++],e[s]);return t}},8378:function(t,e){var s=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=s)},8436:function(t,e){t.exports=function(){}},"86cc":function(t,e,s){var r=s("cb7c"),i=s("c69a"),n=s("6a99"),a=Object.defineProperty;e.f=s("9e1e")?Object.defineProperty:function(t,e,s){if(r(t),e=n(e,!0),r(s),i)try{return a(t,e,s)}catch(o){}if("get"in s||"set"in s)throw TypeError("Accessors not supported!");return"value"in s&&(t[e]=s.value),t}},"8aae":function(t,e,s){s("32a6"),t.exports=s("584a").Object.keys},"8e60":function(t,e,s){t.exports=!s("294c")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},"8f60":function(t,e,s){"use strict";var r=s("a159"),i=s("aebd"),n=s("45f2"),a={};s("35e8")(a,s("5168")("iterator"),(function(){return this})),t.exports=function(t,e,s){t.prototype=r(a,{next:i(1,s)}),n(t,e+" Iterator")}},9003:function(t,e,s){var r=s("6b4c");t.exports=Array.isArray||function(t){return"Array"==r(t)}},9138:function(t,e,s){t.exports=s("35e8")},9306:function(t,e,s){"use strict";var r=s("c3a1"),i=s("9aa9"),n=s("355d"),a=s("241e"),o=s("335c"),c=Object.assign;t.exports=!c||s("294c")((function(){var t={},e={},s=Symbol(),r="abcdefghijklmnopqrst";return t[s]=7,r.split("").forEach((function(t){e[t]=t})),7!=c({},t)[s]||Object.keys(c({},e)).join("")!=r}))?function(t,e){var s=a(t),c=arguments.length,h=1,l=i.f,p=n.f;while(c>h){var u,d=o(arguments[h++]),f=l?r(d).concat(l(d)):r(d),m=f.length,y=0;while(m>y)p.call(d,u=f[y++])&&(s[u]=d[u])}return s}:c},9427:function(t,e,s){var r=s("63b6");r(r.S,"Object",{create:s("a159")})},"95d5":function(t,e,s){var r=s("40c3"),i=s("5168")("iterator"),n=s("481b");t.exports=s("584a").isIterable=function(t){var e=Object(t);return void 0!==e[i]||"@@iterator"in e||n.hasOwnProperty(r(e))}},"9aa9":function(t,e){e.f=Object.getOwnPropertySymbols},"9b43":function(t,e,s){var r=s("d8e8");t.exports=function(t,e,s){if(r(t),void 0===e)return t;switch(s){case 1:return function(s){return t.call(e,s)};case 2:return function(s,r){return t.call(e,s,r)};case 3:return function(s,r,i){return t.call(e,s,r,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,s){var r=s("2b4c")("unscopables"),i=Array.prototype;void 0==i[r]&&s("32e9")(i,r,{}),t.exports=function(t){i[r][t]=!0}},"9def":function(t,e,s){var r=s("4588"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},"9e1e":function(t,e,s){t.exports=!s("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a159:function(t,e,s){var r=s("e4ae"),i=s("7e90"),n=s("1691"),a=s("5559")("IE_PROTO"),o=function(){},c="prototype",h=function(){var t,e=s("1ec9")("iframe"),r=n.length,i="<",a=">";e.style.display="none",s("32fc").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),h=t.F;while(r--)delete h[c][n[r]];return h()};t.exports=Object.create||function(t,e){var s;return null!==t?(o[c]=r(t),s=new o,o[c]=null,s[a]=t):s=h(),void 0===e?s:i(s,e)}},a352:function(t,e){t.exports=s("2480")},a3c3:function(t,e,s){var r=s("63b6");r(r.S+r.F,"Object",{assign:s("9306")})},a481:function(t,e,s){"use strict";var r=s("cb7c"),i=s("4bf8"),n=s("9def"),a=s("4588"),o=s("0390"),c=s("5f1b"),h=Math.max,l=Math.min,p=Math.floor,u=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g,f=function(t){return void 0===t?t:String(t)};s("214f")("replace",2,(function(t,e,s,m){return[function(r,i){var n=t(this),a=void 0==r?void 0:r[e];return void 0!==a?a.call(r,n,i):s.call(String(n),r,i)},function(t,e){var i=m(s,t,this,e);if(i.done)return i.value;var p=r(t),u=String(this),d="function"===typeof e;d||(e=String(e));var g=p.global;if(g){var x=p.unicode;p.lastIndex=0}var b=[];while(1){var v=c(p,u);if(null===v)break;if(b.push(v),!g)break;var w=String(v[0]);""===w&&(p.lastIndex=o(u,n(p.lastIndex),x))}for(var P="",T=0,E=0;E=T&&(P+=u.slice(T,S)+O,T=S+A.length)}return P+u.slice(T)}];function y(t,e,r,n,a,o){var c=r+t.length,h=n.length,l=d;return void 0!==a&&(a=i(a),l=u),s.call(o,l,(function(s,i){var o;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(c);case"<":o=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return s;if(l>h){var u=p(l/10);return 0===u?s:u<=h?void 0===n[u-1]?i.charAt(1):n[u-1]+i.charAt(1):s}o=n[l-1]}return void 0===o?"":o}))}}))},a4bb:function(t,e,s){t.exports=s("8aae")},a745:function(t,e,s){t.exports=s("f410")},aae3:function(t,e,s){var r=s("d3f4"),i=s("2d95"),n=s("2b4c")("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[n])?!!e:"RegExp"==i(t))}},aebd:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},b0c5:function(t,e,s){"use strict";var r=s("520a");s("5ca1")({target:"RegExp",proto:!0,forced:r!==/./.exec},{exec:r})},b0dc:function(t,e,s){var r=s("e4ae");t.exports=function(t,e,s,i){try{return i?e(r(s)[0],s[1]):e(s)}catch(a){var n=t["return"];throw void 0!==n&&r(n.call(t)),a}}},b447:function(t,e,s){var r=s("3a38"),i=Math.min;t.exports=function(t){return t>0?i(r(t),9007199254740991):0}},b8e3:function(t,e){t.exports=!0},be13:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},c366:function(t,e,s){var r=s("6821"),i=s("9def"),n=s("77f1");t.exports=function(t){return function(e,s,a){var o,c=r(e),h=i(c.length),l=n(a,h);if(t&&s!=s){while(h>l)if(o=c[l++],o!=o)return!0}else for(;h>l;l++)if((t||l in c)&&c[l]===s)return t||l||0;return!t&&-1}}},c367:function(t,e,s){"use strict";var r=s("8436"),i=s("50ed"),n=s("481b"),a=s("36c3");t.exports=s("30f1")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,s=this._i++;return!t||s>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?s:"values"==e?t[s]:[s,t[s]])}),"values"),n.Arguments=n.Array,r("keys"),r("values"),r("entries")},c3a1:function(t,e,s){var r=s("e6f3"),i=s("1691");t.exports=Object.keys||function(t){return r(t,i)}},c649:function(t,e,s){"use strict";(function(t){s.d(e,"c",(function(){return p})),s.d(e,"a",(function(){return h})),s.d(e,"b",(function(){return a})),s.d(e,"d",(function(){return l}));s("a481");var r=s("4aa6"),i=s.n(r);function n(){return"undefined"!==typeof window?window.console:t.console}var a=n();function o(t){var e=i()(null);return function(s){var r=e[s];return r||(e[s]=t(s))}}var c=/-(\w)/g,h=o((function(t){return t.replace(c,(function(t,e){return e?e.toUpperCase():""}))}));function l(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function p(t,e,s){var r=0===s?t.children[0]:t.children[s-1].nextSibling;t.insertBefore(e,r)}}).call(this,s("c8ba"))},c69a:function(t,e,s){t.exports=!s("9e1e")&&!s("79e5")((function(){return 7!=Object.defineProperty(s("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(r){"object"===typeof window&&(s=window)}t.exports=s},c8bb:function(t,e,s){t.exports=s("54a1")},ca5a:function(t,e){var s=0,r=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++s+r).toString(36))}},cb7c:function(t,e,s){var r=s("d3f4");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},ce7e:function(t,e,s){var r=s("63b6"),i=s("584a"),n=s("294c");t.exports=function(t,e){var s=(i.Object||{})[t]||Object[t],a={};a[t]=e(s),r(r.S+r.F*n((function(){s(1)})),"Object",a)}},d2c8:function(t,e,s){var r=s("aae3"),i=s("be13");t.exports=function(t,e,s){if(r(e))throw TypeError("String#"+s+" doesn't accept regex!");return String(i(t))}},d2d5:function(t,e,s){s("1654"),s("549b"),t.exports=s("584a").Array.from},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d864:function(t,e,s){var r=s("79aa");t.exports=function(t,e,s){if(r(t),void 0===e)return t;switch(s){case 1:return function(s){return t.call(e,s)};case 2:return function(s,r){return t.call(e,s,r)};case 3:return function(s,r,i){return t.call(e,s,r,i)}}return function(){return t.apply(e,arguments)}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},d9f6:function(t,e,s){var r=s("e4ae"),i=s("794b"),n=s("1bc3"),a=Object.defineProperty;e.f=s("8e60")?Object.defineProperty:function(t,e,s){if(r(t),e=n(e,!0),r(s),i)try{return a(t,e,s)}catch(o){}if("get"in s||"set"in s)throw TypeError("Accessors not supported!");return"value"in s&&(t[e]=s.value),t}},dbdb:function(t,e,s){var r=s("584a"),i=s("e53d"),n="__core-js_shared__",a=i[n]||(i[n]={});(t.exports=function(t,e){return a[t]||(a[t]=void 0!==e?e:{})})("versions",[]).push({version:r.version,mode:s("b8e3")?"pure":"global",copyright:"© 2019 Denis Pushkarev (zloirock.ru)"})},dc62:function(t,e,s){s("9427");var r=s("584a").Object;t.exports=function(t,e){return r.create(t,e)}},e4ae:function(t,e,s){var r=s("f772");t.exports=function(t){if(!r(t))throw TypeError(t+" is not an object!");return t}},e53d:function(t,e){var s=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=s)},e6f3:function(t,e,s){var r=s("07e3"),i=s("36c3"),n=s("5b4e")(!1),a=s("5559")("IE_PROTO");t.exports=function(t,e){var s,o=i(t),c=0,h=[];for(s in o)s!=a&&r(o,s)&&h.push(s);while(e.length>c)r(o,s=e[c++])&&(~n(h,s)||h.push(s));return h}},f410:function(t,e,s){s("1af6"),t.exports=s("584a").Array.isArray},f559:function(t,e,s){"use strict";var r=s("5ca1"),i=s("9def"),n=s("d2c8"),a="startsWith",o=""[a];r(r.P+r.F*s("5147")(a),"String",{startsWith:function(t){var e=n(this,t,a),s=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),r=String(t);return o?o.call(e,r,s):e.slice(s,s+r.length)===r}})},f772:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},fa5b:function(t,e,s){t.exports=s("5537")("native-function-to-string",Function.toString)},fb15:function(t,e,s){"use strict";var r;(s.r(e),"undefined"!==typeof window)&&((r=window.document.currentScript)&&(r=r.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(s.p=r[1]));var i=s("5176"),n=s.n(i),a=(s("f559"),s("a4bb")),o=s.n(a),c=s("a745"),h=s.n(c);function l(t){if(h()(t))return t}var p=s("5d73"),u=s.n(p);function d(t,e){var s=[],r=!0,i=!1,n=void 0;try{for(var a,o=u()(t);!(r=(a=o.next()).done);r=!0)if(s.push(a.value),e&&s.length===e)break}catch(c){i=!0,n=c}finally{try{r||null==o["return"]||o["return"]()}finally{if(i)throw n}}return s}function f(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}function m(t,e){return l(t)||d(t,e)||f()}s("6762"),s("2fdb");function y(t){if(h()(t)){for(var e=0,s=new Array(t.length);e=n?i.length:i.indexOf(t)}));return s?a.filter((function(t){return-1!==t})):a}function I(t,e){var s=this;this.$nextTick((function(){return s.$emit(t.toLowerCase(),e)}))}function O(t){var e=this;return function(s){null!==e.realList&&e["onDrag"+t](s),I.call(e,t,s)}}function D(t){return["transition-group","TransitionGroup"].includes(t)}function M(t){if(!t||1!==t.length)return!1;var e=m(t,1),s=e[0].componentOptions;return!!s&&D(s.tag)}function L(t,e,s){return t[s]||(e[s]?e[s]():void 0)}function _(t,e,s){var r=0,i=0,n=L(e,s,"header");n&&(r=n.length,t=t?[].concat(T(n),T(t)):T(n));var a=L(e,s,"footer");return a&&(i=a.length,t=t?[].concat(T(t),T(a)):T(a)),{children:t,headerOffset:r,footerOffset:i}}function R(t,e){var s=null,r=function(t,e){s=C(s,t,e)},i=o()(t).filter((function(t){return"id"===t||t.startsWith("data-")})).reduce((function(e,s){return e[s]=t[s],e}),{});if(r("attrs",i),!e)return s;var a=e.on,c=e.props,h=e.attrs;return r("on",a),r("props",c),n()(s.attrs,h),s}var j=["Start","Add","Remove","Update","End"],F=["Choose","Unchoose","Sort","Filter","Clone"],B=["Move"].concat(j,F).map((function(t){return"on"+t})),U=null,q={options:Object,list:{type:Array,required:!1,default:null},value:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:function(t){return t}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},V={name:"draggable",inheritAttrs:!1,props:q,data:function(){return{transitionMode:!1,noneFunctionalComponentMode:!1}},render:function(t){var e=this.$slots.default;this.transitionMode=M(e);var s=_(e,this.$slots,this.$scopedSlots),r=s.children,i=s.headerOffset,n=s.footerOffset;this.headerOffset=i,this.footerOffset=n;var a=R(this.$attrs,this.componentData);return t(this.getTag(),a,r)},created:function(){null!==this.list&&null!==this.value&&S["b"].error("Value and list props are mutually exclusive! Please set one or another."),"div"!==this.element&&S["b"].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"),void 0!==this.options&&S["b"].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props")},mounted:function(){var t=this;if(this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase()&&!this.getIsFunctional(),this.noneFunctionalComponentMode&&this.transitionMode)throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));var e={};j.forEach((function(s){e["on"+s]=O.call(t,s)})),F.forEach((function(s){e["on"+s]=I.bind(t,s)}));var s=o()(this.$attrs).reduce((function(e,s){return e[Object(S["a"])(s)]=t.$attrs[s],e}),{}),r=n()({},this.options,s,e,{onMove:function(e,s){return t.onDragMove(e,s)}});!("draggable"in r)&&(r.draggable=">*"),this._sortable=new A.a(this.rootContainer,r),this.computeIndexes()},beforeDestroy:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{rootContainer:function(){return this.transitionMode?this.$el.children[0]:this.$el},realList:function(){return this.list?this.list:this.value}},watch:{options:{handler:function(t){this.updateOptions(t)},deep:!0},$attrs:{handler:function(t){this.updateOptions(t)},deep:!0},realList:function(){this.computeIndexes()}},methods:{getIsFunctional:function(){var t=this._vnode.fnOptions;return t&&t.functional},getTag:function(){return this.tag||this.element},updateOptions:function(t){for(var e in t){var s=Object(S["a"])(e);-1===B.indexOf(s)&&this._sortable.option(s,t[e])}},getChildrenNodes:function(){if(this.noneFunctionalComponentMode)return this.$children[0].$slots.default;var t=this.$slots.default;return this.transitionMode?t[0].child.$slots.default:t},computeIndexes:function(){var t=this;this.$nextTick((function(){t.visibleIndexes=N(t.getChildrenNodes(),t.rootContainer.children,t.transitionMode,t.footerOffset)}))},getUnderlyingVm:function(t){var e=k(this.getChildrenNodes()||[],t);if(-1===e)return null;var s=this.realList[e];return{index:e,element:s}},getUnderlyingPotencialDraggableComponent:function(t){var e=t.__vue__;return e&&e.$options&&D(e.$options._componentTag)?e.$parent:!("realList"in e)&&1===e.$children.length&&"realList"in e.$children[0]?e.$children[0]:e},emitChanges:function(t){var e=this;this.$nextTick((function(){e.$emit("change",t)}))},alterList:function(t){if(this.list)t(this.list);else{var e=T(this.value);t(e),this.$emit("input",e)}},spliceList:function(){var t=arguments,e=function(e){return e.splice.apply(e,T(t))};this.alterList(e)},updatePosition:function(t,e){var s=function(s){return s.splice(e,0,s.splice(t,1)[0])};this.alterList(s)},getRelatedContextFromMoveEvent:function(t){var e=t.to,s=t.related,r=this.getUnderlyingPotencialDraggableComponent(e);if(!r)return{component:r};var i=r.realList,a={list:i,component:r};if(e!==s&&i&&r.getUnderlyingVm){var o=r.getUnderlyingVm(s);if(o)return n()(o,a)}return a},getVmIndex:function(t){var e=this.visibleIndexes,s=e.length;return t>s-1?s:e[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var e=this.getChildrenNodes();e[t].data=null;var s=this.getComponent();s.children=[],s.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),U=t.item},onDragAdd:function(t){var e=t.item._underlying_vm_;if(void 0!==e){Object(S["d"])(t.item);var s=this.getVmIndex(t.newIndex);this.spliceList(s,0,e),this.computeIndexes();var r={element:e,newIndex:s};this.emitChanges({added:r})}},onDragRemove:function(t){if(Object(S["c"])(this.rootContainer,t.item,t.oldIndex),"clone"!==t.pullMode){var e=this.context.index;this.spliceList(e,1);var s={element:this.context.element,oldIndex:e};this.resetTransitionData(e),this.emitChanges({removed:s})}else Object(S["d"])(t.clone)},onDragUpdate:function(t){Object(S["d"])(t.item),Object(S["c"])(t.from,t.item,t.oldIndex);var e=this.context.index,s=this.getVmIndex(t.newIndex);this.updatePosition(e,s);var r={element:this.context.element,oldIndex:e,newIndex:s};this.emitChanges({moved:r})},updateProperty:function(t,e){t.hasOwnProperty(e)&&(t[e]+=this.headerOffset)},computeFutureIndex:function(t,e){if(!t.element)return 0;var s=T(e.to.children).filter((function(t){return"none"!==t.style["display"]})),r=s.indexOf(e.related),i=t.component.getVmIndex(r),n=-1!==s.indexOf(U);return n||!e.willInsertAfter?i:i+1},onDragMove:function(t,e){var s=this.move;if(!s||!this.realList)return!0;var r=this.getRelatedContextFromMoveEvent(t),i=this.context,a=this.computeFutureIndex(r,t);n()(i,{futureIndex:a});var o=n()({},t,{relatedContext:r,draggedContext:i});return s(o,e)},onDragEnd:function(){this.computeIndexes(),U=null}}};"undefined"!==typeof window&&"Vue"in window&&window.Vue.component("draggable",V);var z=V;e["default"]=z}})["default"]},"8c47":function(t,e,s){var r=s("fee7"),i=s("3193");t.exports=function(t){return r(i(t))}},"90a7":function(t,e,s){var r=s("f28d"),i=s("ee6f"),n=s("4d52"),a=s("1f53"),o=n("IE_PROTO"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),r(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},"91fe":function(t,e,s){var r=s("d5dc"),i=s("4aef").f,n=s("2ba5"),a=s("3d8a"),o=s("200e"),c=s("f69c"),h=s("12d9");t.exports=function(t,e){var s,l,p,u,d,f,m=t.target,y=t.global,g=t.stat;if(l=y?r:g?r[m]||o(m,{}):(r[m]||{}).prototype,l)for(p in e){if(d=e[p],t.noTargetGet?(f=i(l,p),u=f&&f.value):u=l[p],s=h(y?p:m+(g?".":"#")+p,t.forced),!s&&void 0!==u){if(typeof d===typeof u)continue;c(d,u)}(t.sham||u&&u.sham)&&n(d,"sham",!0),a(l,p,d,t)}}},9249:function(t,e,s){"use strict";var r=s("91fe"),i=s("c1c8").left,n=s("fb11"),a=s("6885"),o=n("reduce"),c=a("reduce",{1:0});r({target:"Array",proto:!0,forced:!o||!c},{reduce:function(t){return i(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},"94d7":function(t,e,s){var r=s("c223").f,i=s("f28d"),n=s("57c4"),a=n("toStringTag");t.exports=function(t,e,s){t&&!i(t=s?t:t.prototype,a)&&r(t,a,{configurable:!0,value:e})}},9552:function(t,e,s){var r=s("efd1"),i=s("67ea"),n=s("57c4"),a=n("toStringTag"),o="Arguments"==i(function(){return arguments}()),c=function(t,e){try{return t[e]}catch(s){}};t.exports=r?i:function(t){var e,s,r;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(s=c(e=Object(t),a))?s:o?i(e):"Object"==(r=i(e))&&"function"==typeof e.callee?"Arguments":r}},"9a14":function(t,e,s){var r=s("d5dc"),i=s("41f6"),n=s("021b"),a=s("2ba5");for(var o in i){var c=r[o],h=c&&c.prototype;if(h&&h.forEach!==n)try{a(h,"forEach",n)}catch(l){h.forEach=n}}},"9db6":function(t,e){var s=0,r=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++s+r).toString(36)}},a406:function(t,e,s){var r=s("df50");t.exports=r("navigator","userAgent")||""},a74f:function(t,e,s){(function(e){(function(e,s){t.exports=s()})(0,(function(){"use strict";var t=function(t){var e=t.id,s=t.viewBox,r=t.content;this.id=e,this.viewBox=s,this.content=r};t.prototype.stringify=function(){return this.content},t.prototype.toString=function(){return this.stringify()},t.prototype.destroy=function(){var t=this;["id","viewBox","content"].forEach((function(e){return delete t[e]}))};var s=function(t){var e=!!document.importNode,s=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement;return e?document.importNode(s,!0):s};"undefined"!==typeof window?window:"undefined"!==typeof e||"undefined"!==typeof self&&self;function r(t,e){return e={exports:{}},t(e,e.exports),e.exports}var i=r((function(t,e){(function(e,s){t.exports=s()})(0,(function(){function t(t){var e=t&&"object"===typeof t;return e&&"[object RegExp]"!==Object.prototype.toString.call(t)&&"[object Date]"!==Object.prototype.toString.call(t)}function e(t){return Array.isArray(t)?[]:{}}function s(s,r){var i=r&&!0===r.clone;return i&&t(s)?n(e(s),s,r):s}function r(e,r,i){var a=e.slice();return r.forEach((function(r,o){"undefined"===typeof a[o]?a[o]=s(r,i):t(r)?a[o]=n(e[o],r,i):-1===e.indexOf(r)&&a.push(s(r,i))})),a}function i(e,r,i){var a={};return t(e)&&Object.keys(e).forEach((function(t){a[t]=s(e[t],i)})),Object.keys(r).forEach((function(o){t(r[o])&&e[o]?a[o]=n(e[o],r[o],i):a[o]=s(r[o],i)})),a}function n(t,e,n){var a=Array.isArray(e),o=n||{arrayMerge:r},c=o.arrayMerge||r;return a?Array.isArray(t)?c(t,e,n):s(e,n):i(t,e,n)}return n.all=function(t,e){if(!Array.isArray(t)||t.length<2)throw new Error("first argument should be an array with at least two elements");return t.reduce((function(t,s){return n(t,s,e)}))},n}))})),n=r((function(t,e){var s={svg:{name:"xmlns",uri:"http://www.w3.org/2000/svg"},xlink:{name:"xmlns:xlink",uri:"http://www.w3.org/1999/xlink"}};e.default=s,t.exports=e.default})),a=function(t){return Object.keys(t).map((function(e){var s=t[e].toString().replace(/"/g,""");return e+'="'+s+'"'})).join(" ")},o=n.svg,c=n.xlink,h={};h[o.name]=o.uri,h[c.name]=c.uri;var l=function(t,e){void 0===t&&(t="");var s=i(h,e||{}),r=a(s);return""+t+""},p=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={isMounted:{}};return r.isMounted.get=function(){return!!this.node},e.createFromExistingNode=function(t){return new e({id:t.getAttribute("id"),viewBox:t.getAttribute("viewBox"),content:t.outerHTML})},e.prototype.destroy=function(){this.isMounted&&this.unmount(),t.prototype.destroy.call(this)},e.prototype.mount=function(t){if(this.isMounted)return this.node;var e="string"===typeof t?document.querySelector(t):t,s=this.render();return this.node=s,e.appendChild(s),s},e.prototype.render=function(){var t=this.stringify();return s(l(t)).childNodes[0]},e.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(e.prototype,r),e}(t);return p}))}).call(this,s("d314"))},a7d9:function(t,e,s){var r=s("d5dc");t.exports=function(t,e){var s=r.console;s&&s.error&&(1===arguments.length?s.error(t):s.error(t,e))}},a867:function(t,e,s){"use strict";var r=s("df50"),i=s("c223"),n=s("57c4"),a=s("7a23"),o=n("species");t.exports=function(t){var e=r(t),s=i.f;a&&e&&!e[o]&&s(e,o,{configurable:!0,get:function(){return this}})}},a8c9:function(t,e,s){var r=s("67ea");t.exports=Array.isArray||function(t){return"Array"==r(t)}},a9f2:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},ac83:function(t,e,s){var r=s("d68d");t.exports=function(t){if(!r(t))throw TypeError(String(t)+" is not an object");return t}},aec8:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},af82:function(t,e,s){"use strict";var r=s("91fe"),i=s("021b");r({target:"Array",proto:!0,forced:[].forEach!=i},{forEach:i})},b128:function(t,e,s){var r=s("7a23"),i=s("d5dc"),n=s("12d9"),a=s("60f2"),o=s("c223").f,c=s("65af").f,h=s("e1dd"),l=s("0618"),p=s("dcb6"),u=s("3d8a"),d=s("f30e"),f=s("d0e2").set,m=s("a867"),y=s("57c4"),g=y("match"),x=i.RegExp,b=x.prototype,v=/a/g,w=/a/g,P=new x(v)!==v,T=p.UNSUPPORTED_Y,E=r&&n("RegExp",!P||T||d((function(){return w[g]=!1,x(v)!=v||x(w)==w||"/a/i"!=x(v,"i")})));if(E){var A=function(t,e){var s,r=this instanceof A,i=h(t),n=void 0===e;if(!r&&i&&t.constructor===A&&n)return t;P?i&&!n&&(t=t.source):t instanceof A&&(n&&(e=l.call(t)),t=t.source),T&&(s=!!e&&e.indexOf("y")>-1,s&&(e=e.replace(/y/g,"")));var o=a(P?new x(t,e):x(t,e),r?this:b,A);return T&&s&&f(o,{sticky:s}),o},S=function(t){t in A||o(A,t,{configurable:!0,get:function(){return x[t]},set:function(e){x[t]=e}})},C=c(x),k=0;while(C.length>k)S(C[k++]);b.constructor=A,A.prototype=b,u(i,"RegExp",A)}m("RegExp")},b1a1:function(t,e,s){var r=s("f30e"),i=s("57c4"),n=s("bf98"),a=i("species");t.exports=function(t){return n>=51||!r((function(){var e=[],s=e.constructor={};return s[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},b3f9:function(t,e,s){"use strict";var r=s("91fe"),i=s("21d4");r({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},b41f:function(t,e,s){var r,i,n,a,o,c,h,l,p=s("d5dc"),u=s("4aef").f,d=s("67ea"),f=s("6dcf").set,m=s("c044"),y=p.MutationObserver||p.WebKitMutationObserver,g=p.process,x=p.Promise,b="process"==d(g),v=u(p,"queueMicrotask"),w=v&&v.value;w||(r=function(){var t,e;b&&(t=g.domain)&&t.exit();while(i){e=i.fn,i=i.next;try{e()}catch(s){throw i?a():n=void 0,s}}n=void 0,t&&t.enter()},b?a=function(){g.nextTick(r)}:y&&!m?(o=!0,c=document.createTextNode(""),new y(r).observe(c,{characterData:!0}),a=function(){c.data=o=!o}):x&&x.resolve?(h=x.resolve(void 0),l=h.then,a=function(){l.call(h,r)}):a=function(){f.call(p,r)}),t.exports=w||function(t){var e={fn:t,next:void 0};n&&(n.next=e),i||(i=e,a()),n=e}},bf98:function(t,e,s){var r,i,n=s("d5dc"),a=s("a406"),o=n.process,c=o&&o.versions,h=c&&c.v8;h?(r=h.split("."),i=r[0]+r[1]):a&&(r=a.match(/Edge\/(\d+)/),(!r||r[1]>=74)&&(r=a.match(/Chrome\/(\d+)/),r&&(i=r[1]))),t.exports=i&&+i},c044:function(t,e,s){var r=s("a406");t.exports=/(iphone|ipod|ipad).*applewebkit/i.test(r)},c0aa:function(t,e,s){var r=s("2a2f"),i=s("f28d"),n=s("7287"),a=s("c223").f;t.exports=function(t){var e=r.Symbol||(r.Symbol={});i(e,t)||a(e,t,{value:n.f(t)})}},c1b0:function(t,e,s){"use strict";var r=s("91fe"),i=s("0192"),n=s("f240"),a=s("684e"),o=s("ee6f"),c=s("3132"),h=s("01d7"),l=s("b1a1"),p=s("6885"),u=l("splice"),d=p("splice",{ACCESSORS:!0,0:0,1:2}),f=Math.max,m=Math.min,y=9007199254740991,g="Maximum allowed length exceeded";r({target:"Array",proto:!0,forced:!u||!d},{splice:function(t,e){var s,r,l,p,u,d,x=o(this),b=a(x.length),v=i(t,b),w=arguments.length;if(0===w?s=r=0:1===w?(s=0,r=b-v):(s=w-2,r=m(f(n(e),0),b-v)),b+s-r>y)throw TypeError(g);for(l=c(x,r),p=0;pb-r+s;p--)delete x[p-1]}else if(s>r)for(p=b-r;p>v;p--)u=p+r-1,d=p+s-1,u in x?x[d]=x[u]:delete x[d];for(p=0;p=0:p>u;u+=d)u in l&&(c=s(c,l[u],u,h));return c}};t.exports={left:o(!1),right:o(!0)}},c223:function(t,e,s){var r=s("7a23"),i=s("88b4"),n=s("ac83"),a=s("7dc7"),o=Object.defineProperty;e.f=r?o:function(t,e,s){if(n(t),e=a(e,!0),n(s),i)try{return o(t,e,s)}catch(r){}if("get"in s||"set"in s)throw TypeError("Accessors not supported");return"value"in s&&(t[e]=s.value),t}},c354:function(t,e,s){var r=s("7a23"),i=s("c223").f,n=Function.prototype,a=n.toString,o=/^\s*function ([^ (]*)/,c="name";r&&!(c in n)&&i(n,c,{configurable:!0,get:function(){try{return a.call(this).match(o)[1]}catch(t){return""}}})},c451:function(t,e,s){"use strict";s.d(e,"a",(function(){return n}));s("4178"),s("86dd"),s("af82"),s("3f36"),s("f4dd"),s("79dd"),s("9a14");function r(t,e,s){return e in t?Object.defineProperty(t,e,{value:s,enumerable:!0,configurable:!0,writable:!0}):t[e]=s,t}function i(t,e){var s=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),s.push.apply(s,r)}return s}function n(t){for(var e=1;e=51&&/native code/.test(B))return!1;var e=B.resolve(1),s=function(t){t((function(){}),(function(){}))},r=e.constructor={};return r[L]=s,!(e.then((function(){}))instanceof s)})),st=et||!P((function(t){B.all(t)["catch"]((function(){}))})),rt=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},it=function(t,e,s){if(!e.notified){e.notified=!0;var r=e.reactions;A((function(){var i=e.value,n=e.state==J,a=0;while(r.length>a){var o,c,h,l=r[a++],p=n?l.ok:l.fail,u=l.resolve,d=l.reject,f=l.domain;try{p?(n||(e.rejection===tt&&ct(t,e),e.rejection=Z),!0===p?o=i:(f&&f.enter(),o=p(i),f&&(f.exit(),h=!0)),o===l.promise?d(U("Promise-chain cycle")):(c=rt(o))?c.call(o,u,d):u(o)):d(i)}catch(m){f&&!h&&f.exit(),d(m)}}e.reactions=[],e.notified=!1,s&&!e.rejection&&at(t,e)}))}},nt=function(t,e,s){var r,i;$?(r=q.createEvent("Event"),r.promise=e,r.reason=s,r.initEvent(t,!1,!0),h.dispatchEvent(r)):r={promise:e,reason:s},(i=h["on"+t])?i(r):t===X&&C("Unhandled promise rejection",s)},at=function(t,e){E.call(h,(function(){var s,r=e.value,i=ot(e);if(i&&(s=N((function(){K?V.emit("unhandledRejection",r,t):nt(X,t,r)})),e.rejection=K||ot(e)?tt:Z,s.error))throw s.value}))},ot=function(t){return t.rejection!==Z&&!t.parent},ct=function(t,e){E.call(h,(function(){K?V.emit("rejectionHandled",t):nt(G,t,e.value)}))},ht=function(t,e,s,r){return function(i){t(e,s,i,r)}},lt=function(t,e,s,r){e.done||(e.done=!0,r&&(e=r),e.value=s,e.state=Q,it(t,e,!0))},pt=function(t,e,s,r){if(!e.done){e.done=!0,r&&(e=r);try{if(t===s)throw U("Promise can't be resolved itself");var i=rt(s);i?A((function(){var r={done:!1};try{i.call(s,ht(pt,t,r,e),ht(lt,t,r,e))}catch(n){lt(t,r,n,e)}})):(e.value=s,e.state=J,it(t,e,!1))}catch(n){lt(t,{done:!1},n,e)}}};et&&(B=function(t){x(this,B,_),g(t),r.call(this);var e=R(this);try{t(ht(pt,this,e),ht(lt,this,e))}catch(s){lt(this,e,s)}},r=function(t){j(this,{type:_,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:Y,value:void 0})},r.prototype=d(B.prototype,{then:function(t,e){var s=F(this),r=H(T(this,B));return r.ok="function"!=typeof t||t,r.fail="function"==typeof e&&e,r.domain=K?V.domain:void 0,s.parent=!0,s.reactions.push(r),s.state!=Y&&it(this,s,!1),r.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new r,e=R(t);this.promise=t,this.resolve=ht(pt,t,e),this.reject=ht(lt,t,e)},k.f=H=function(t){return t===B||t===n?new i(t):W(t)},c||"function"!=typeof p||(a=p.prototype.then,u(p.prototype,"then",(function(t,e){var s=this;return new B((function(t,e){a.call(s,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof z&&o({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return S(B,z.apply(h,arguments))}}))),o({global:!0,wrap:!0,forced:et},{Promise:B}),f(B,_,!1,!0),m(_),n=l(_),o({target:_,stat:!0,forced:et},{reject:function(t){var e=H(this);return e.reject.call(void 0,t),e.promise}}),o({target:_,stat:!0,forced:c||et},{resolve:function(t){return S(c&&this===n?B:this,t)}}),o({target:_,stat:!0,forced:st},{all:function(t){var e=this,s=H(e),r=s.resolve,i=s.reject,n=N((function(){var s=g(e.resolve),n=[],a=0,o=1;w(t,(function(t){var c=a++,h=!1;n.push(void 0),o++,s.call(e,t).then((function(t){h||(h=!0,n[c]=t,--o||r(n))}),i)})),--o||r(n)}));return n.error&&i(n.value),s.promise},race:function(t){var e=this,s=H(e),r=s.reject,i=N((function(){var i=g(e.resolve);w(t,(function(t){i.call(e,t).then(s.resolve,r)}))}));return i.error&&r(i.value),s.promise}})},d0e2:function(t,e,s){var r,i,n,a=s("3109"),o=s("d5dc"),c=s("d68d"),h=s("2ba5"),l=s("f28d"),p=s("4d52"),u=s("4888"),d=o.WeakMap,f=function(t){return n(t)?i(t):r(t,{})},m=function(t){return function(e){var s;if(!c(e)||(s=i(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return s}};if(a){var y=new d,g=y.get,x=y.has,b=y.set;r=function(t,e){return b.call(y,t,e),e},i=function(t){return g.call(y,t)||{}},n=function(t){return x.call(y,t)}}else{var v=p("state");u[v]=!0,r=function(t,e){return h(t,v,e),e},i=function(t){return l(t,v)?t[v]:{}},n=function(t){return l(t,v)}}t.exports={set:r,get:i,has:n,enforce:f,getterFor:m}},d314:function(t,e){var s;s=function(){return this}();try{s=s||new Function("return this")()}catch(r){"object"===typeof window&&(s=window)}t.exports=s},d5dc:function(t,e,s){(function(e){var s=function(t){return t&&t.Math==Math&&t};t.exports=s("object"==typeof globalThis&&globalThis)||s("object"==typeof window&&window)||s("object"==typeof self&&self)||s("object"==typeof e&&e)||Function("return this")()}).call(this,s("d314"))},d68d:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d780:function(t,e,s){"use strict";var r=s("deaa"),i=s("ac83"),n=s("ee6f"),a=s("684e"),o=s("f240"),c=s("3193"),h=s("536c"),l=s("81a0"),p=Math.max,u=Math.min,d=Math.floor,f=/\$([$&'`]|\d\d?|<[^>]*>)/g,m=/\$([$&'`]|\d\d?)/g,y=function(t){return void 0===t?t:String(t)};r("replace",2,(function(t,e,s,r){var g=r.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,x=r.REPLACE_KEEPS_$0,b=g?"$":"$0";return[function(s,r){var i=c(this),n=void 0==s?void 0:s[t];return void 0!==n?n.call(s,i,r):e.call(String(i),s,r)},function(t,r){if(!g&&x||"string"===typeof r&&-1===r.indexOf(b)){var n=s(e,t,this,r);if(n.done)return n.value}var c=i(t),d=String(this),f="function"===typeof r;f||(r=String(r));var m=c.global;if(m){var w=c.unicode;c.lastIndex=0}var P=[];while(1){var T=l(c,d);if(null===T)break;if(P.push(T),!m)break;var E=String(T[0]);""===E&&(c.lastIndex=h(d,a(c.lastIndex),w))}for(var A="",S=0,C=0;C=S&&(A+=d.slice(S,N)+L,S=N+k.length)}return A+d.slice(S)}];function v(t,s,r,i,a,o){var c=r+t.length,h=i.length,l=m;return void 0!==a&&(a=n(a),l=f),e.call(o,l,(function(e,n){var o;switch(n.charAt(0)){case"$":return"$";case"&":return t;case"`":return s.slice(0,r);case"'":return s.slice(c);case"<":o=a[n.slice(1,-1)];break;default:var l=+n;if(0===l)return e;if(l>h){var p=d(l/10);return 0===p?e:p<=h?void 0===i[p-1]?n.charAt(1):i[p-1]+n.charAt(1):e}o=i[l-1]}return void 0===o?"":o}))}}))},d886:function(t,e,s){"use strict";s.d(e,"a",(function(){return r}));s("4178"),s("fc88"),s("e350"),s("d9a3"),s("3a20"),s("ef8e"),s("252a");function r(t){return r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},r(t)}},d9a3:function(t,e,s){"use strict";var r=s("8c47"),i=s("5751"),n=s("ed35"),a=s("d0e2"),o=s("5646"),c="Array Iterator",h=a.set,l=a.getterFor(c);t.exports=o(Array,"Array",(function(t,e){h(this,{type:c,target:r(t),index:0,kind:e})}),(function(){var t=l(this),e=t.target,s=t.kind,r=t.index++;return!e||r>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==s?{value:r,done:!1}:"values"==s?{value:e[r],done:!1}:{value:[r,e[r]],done:!1}}),"values"),n.Arguments=n.Array,i("keys"),i("values"),i("entries")},da66:function(t,e,s){var r=s("d68d");t.exports=function(t){if(!r(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},dc62:function(t,e){t.exports=function(t){return t&&"object"===typeof t&&"function"===typeof t.copy&&"function"===typeof t.fill&&"function"===typeof t.readUInt8}},dcb6:function(t,e,s){"use strict";var r=s("f30e");function i(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=r((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=r((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},de3e:function(t,e,s){var r=s("91fe"),i=s("e045");r({target:"Object",stat:!0,forced:Object.assign!==i},{assign:i})},deaa:function(t,e,s){"use strict";s("b3f9");var r=s("3d8a"),i=s("f30e"),n=s("57c4"),a=s("21d4"),o=s("2ba5"),c=n("species"),h=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){return"$0"==="a".replace(/./,"$0")}(),p=n("replace"),u=function(){return!!/./[p]&&""===/./[p]("a","$0")}(),d=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var s="ab".split(t);return 2!==s.length||"a"!==s[0]||"b"!==s[1]}));t.exports=function(t,e,s,p){var f=n(t),m=!i((function(){var e={};return e[f]=function(){return 7},7!=""[t](e)})),y=m&&!i((function(){var e=!1,s=/a/;return"split"===t&&(s={},s.constructor={},s.constructor[c]=function(){return s},s.flags="",s[f]=/./[f]),s.exec=function(){return e=!0,null},s[f](""),!e}));if(!m||!y||"replace"===t&&(!h||!l||u)||"split"===t&&!d){var g=/./[f],x=s(f,""[t],(function(t,e,s,r,i){return e.exec===a?m&&!i?{done:!0,value:g.call(e,s,r)}:{done:!0,value:t.call(s,e,r)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:u}),b=x[0],v=x[1];r(String.prototype,t,b),r(RegExp.prototype,f,2==e?function(t,e){return v.call(t,this,e)}:function(t){return v.call(t,this)})}p&&o(RegExp.prototype[f],"sham",!0)}},df22:function(t,e,s){"use strict";var r=s("a9f2"),i=function(t){var e,s;this.promise=new t((function(t,r){if(void 0!==e||void 0!==s)throw TypeError("Bad Promise constructor");e=t,s=r})),this.resolve=r(e),this.reject=r(s)};t.exports.f=function(t){return new i(t)}},df50:function(t,e,s){var r=s("2a2f"),i=s("d5dc"),n=function(t){return"function"==typeof t?t:void 0};t.exports=function(t,e){return arguments.length<2?n(r[t])||n(i[t]):r[t]&&r[t][e]||i[t]&&i[t][e]}},e045:function(t,e,s){"use strict";var r=s("7a23"),i=s("f30e"),n=s("16e5"),a=s("1072"),o=s("354c"),c=s("ee6f"),h=s("fee7"),l=Object.assign,p=Object.defineProperty;t.exports=!l||i((function(){if(r&&1!==l({b:1},l(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},s=Symbol(),i="abcdefghijklmnopqrst";return t[s]=7,i.split("").forEach((function(t){e[t]=t})),7!=l({},t)[s]||n(l({},e)).join("")!=i}))?function(t,e){var s=c(t),i=arguments.length,l=1,p=a.f,u=o.f;while(i>l){var d,f=h(arguments[l++]),m=p?n(f).concat(p(f)):n(f),y=m.length,g=0;while(y>g)d=m[g++],r&&!u.call(f,d)||(s[d]=f[d])}return s}:l},e16c:function(t,e,s){(function(e){(function(e,s){t.exports=s()})(0,(function(){"use strict";"undefined"!==typeof window?window:"undefined"!==typeof e||"undefined"!==typeof self&&self;function t(t,e){return e={exports:{}},t(e,e.exports),e.exports}var s=t((function(t,e){(function(e,s){t.exports=s()})(0,(function(){function t(t){var e=t&&"object"===typeof t;return e&&"[object RegExp]"!==Object.prototype.toString.call(t)&&"[object Date]"!==Object.prototype.toString.call(t)}function e(t){return Array.isArray(t)?[]:{}}function s(s,r){var i=r&&!0===r.clone;return i&&t(s)?n(e(s),s,r):s}function r(e,r,i){var a=e.slice();return r.forEach((function(r,o){"undefined"===typeof a[o]?a[o]=s(r,i):t(r)?a[o]=n(e[o],r,i):-1===e.indexOf(r)&&a.push(s(r,i))})),a}function i(e,r,i){var a={};return t(e)&&Object.keys(e).forEach((function(t){a[t]=s(e[t],i)})),Object.keys(r).forEach((function(o){t(r[o])&&e[o]?a[o]=n(e[o],r[o],i):a[o]=s(r[o],i)})),a}function n(t,e,n){var a=Array.isArray(e),o=n||{arrayMerge:r},c=o.arrayMerge||r;return a?Array.isArray(t)?c(t,e,n):s(e,n):i(t,e,n)}return n.all=function(t,e){if(!Array.isArray(t)||t.length<2)throw new Error("first argument should be an array with at least two elements");return t.reduce((function(t,s){return n(t,s,e)}))},n}))}));function r(t){return t=t||Object.create(null),{on:function(e,s){(t[e]||(t[e]=[])).push(s)},off:function(e,s){t[e]&&t[e].splice(t[e].indexOf(s)>>>0,1)},emit:function(e,s){(t[e]||[]).map((function(t){t(s)})),(t["*"]||[]).map((function(t){t(e,s)}))}}}var i=t((function(t,e){var s={svg:{name:"xmlns",uri:"http://www.w3.org/2000/svg"},xlink:{name:"xmlns:xlink",uri:"http://www.w3.org/1999/xlink"}};e.default=s,t.exports=e.default})),n=function(t){return Object.keys(t).map((function(e){var s=t[e].toString().replace(/"/g,""");return e+'="'+s+'"'})).join(" ")},a=i.svg,o=i.xlink,c={};c[a.name]=a.uri,c[o.name]=o.uri;var h,l=function(t,e){void 0===t&&(t="");var r=s(c,e||{}),i=n(r);return""+t+""},p=i.svg,u=i.xlink,d={attrs:(h={style:["position: absolute","width: 0","height: 0"].join("; ")},h[p.name]=p.uri,h[u.name]=u.uri,h)},f=function(t){this.config=s(d,t||{}),this.symbols=[]};f.prototype.add=function(t){var e=this,s=e.symbols,r=this.find(t.id);return r?(s[s.indexOf(r)]=t,!1):(s.push(t),!0)},f.prototype.remove=function(t){var e=this,s=e.symbols,r=this.find(t);return!!r&&(s.splice(s.indexOf(r),1),r.destroy(),!0)},f.prototype.find=function(t){return this.symbols.filter((function(e){return e.id===t}))[0]||null},f.prototype.has=function(t){return null!==this.find(t)},f.prototype.stringify=function(){var t=this.config,e=t.attrs,s=this.symbols.map((function(t){return t.stringify()})).join("");return l(s,e)},f.prototype.toString=function(){return this.stringify()},f.prototype.destroy=function(){this.symbols.forEach((function(t){return t.destroy()}))};var m=function(t){var e=t.id,s=t.viewBox,r=t.content;this.id=e,this.viewBox=s,this.content=r};m.prototype.stringify=function(){return this.content},m.prototype.toString=function(){return this.stringify()},m.prototype.destroy=function(){var t=this;["id","viewBox","content"].forEach((function(e){return delete t[e]}))};var y=function(t){var e=!!document.importNode,s=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement;return e?document.importNode(s,!0):s},g=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var s={isMounted:{}};return s.isMounted.get=function(){return!!this.node},e.createFromExistingNode=function(t){return new e({id:t.getAttribute("id"),viewBox:t.getAttribute("viewBox"),content:t.outerHTML})},e.prototype.destroy=function(){this.isMounted&&this.unmount(),t.prototype.destroy.call(this)},e.prototype.mount=function(t){if(this.isMounted)return this.node;var e="string"===typeof t?document.querySelector(t):t,s=this.render();return this.node=s,e.appendChild(s),s},e.prototype.render=function(){var t=this.stringify();return y(l(t)).childNodes[0]},e.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(e.prototype,s),e}(m),x={autoConfigure:!0,mountTo:"body",syncUrlsWithBaseTag:!1,listenLocationChangeEvent:!0,locationChangeEvent:"locationChange",locationChangeAngularEmitter:!1,usagesToUpdate:"use[*|href]",moveGradientsOutsideSymbol:!1},b=function(t){return Array.prototype.slice.call(t,0)},v={isChrome:function(){return/chrome/i.test(navigator.userAgent)},isFirefox:function(){return/firefox/i.test(navigator.userAgent)},isIE:function(){return/msie/i.test(navigator.userAgent)||/trident/i.test(navigator.userAgent)},isEdge:function(){return/edge/i.test(navigator.userAgent)}},w=function(t,e){var s=document.createEvent("CustomEvent");s.initCustomEvent(t,!1,!1,e),window.dispatchEvent(s)},P=function(t){var e=[];return b(t.querySelectorAll("style")).forEach((function(t){t.textContent+="",e.push(t)})),e},T=function(t){return(t||window.location.href).split("#")[0]},E=function(t){angular.module("ng").run(["$rootScope",function(e){e.$on("$locationChangeSuccess",(function(e,s,r){w(t,{oldUrl:r,newUrl:s})}))}])},A="linearGradient, radialGradient, pattern",S=function(t,e){return void 0===e&&(e=A),b(t.querySelectorAll("symbol")).forEach((function(t){b(t.querySelectorAll(e)).forEach((function(e){t.parentNode.insertBefore(e,t)}))})),t};function C(t,e){var s=b(t).reduce((function(t,s){if(!s.attributes)return t;var r=b(s.attributes),i=e?r.filter(e):r;return t.concat(i)}),[]);return s}var k=i.xlink.uri,N="xlink:href",I=/[{}|\\\^\[\]`"<>]/g;function O(t){return t.replace(I,(function(t){return"%"+t[0].charCodeAt(0).toString(16).toUpperCase()}))}function D(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function M(t,e,s){return b(t).forEach((function(t){var r=t.getAttribute(N);if(r&&0===r.indexOf(e)){var i=r.replace(e,s);t.setAttributeNS(k,N,i)}})),t}var L,_=["clipPath","colorProfile","src","cursor","fill","filter","marker","markerStart","markerMid","markerEnd","mask","stroke","style"],R=_.map((function(t){return"["+t+"]"})).join(","),j=function(t,e,s,r){var i=O(s),n=O(r),a=t.querySelectorAll(R),o=C(a,(function(t){var e=t.localName,s=t.value;return-1!==_.indexOf(e)&&-1!==s.indexOf("url("+i)}));o.forEach((function(t){return t.value=t.value.replace(new RegExp(D(i),"g"),n)})),M(e,i,n)},F={MOUNT:"mount",SYMBOL_MOUNT:"symbol_mount"},B=function(t){function e(e){var i=this;void 0===e&&(e={}),t.call(this,s(x,e));var n=r();this._emitter=n,this.node=null;var a=this,o=a.config;if(o.autoConfigure&&this._autoConfigure(e),o.syncUrlsWithBaseTag){var c=document.getElementsByTagName("base")[0].getAttribute("href");n.on(F.MOUNT,(function(){return i.updateUrls("#",c)}))}var h=this._handleLocationChange.bind(this);this._handleLocationChange=h,o.listenLocationChangeEvent&&window.addEventListener(o.locationChangeEvent,h),o.locationChangeAngularEmitter&&E(o.locationChangeEvent),n.on(F.MOUNT,(function(t){o.moveGradientsOutsideSymbol&&S(t)})),n.on(F.SYMBOL_MOUNT,(function(t){o.moveGradientsOutsideSymbol&&S(t.parentNode),(v.isIE()||v.isEdge())&&P(t)}))}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={isMounted:{}};return i.isMounted.get=function(){return!!this.node},e.prototype._autoConfigure=function(t){var e=this,s=e.config;"undefined"===typeof t.syncUrlsWithBaseTag&&(s.syncUrlsWithBaseTag="undefined"!==typeof document.getElementsByTagName("base")[0]),"undefined"===typeof t.locationChangeAngularEmitter&&(s.locationChangeAngularEmitter="angular"in window),"undefined"===typeof t.moveGradientsOutsideSymbol&&(s.moveGradientsOutsideSymbol=v.isFirefox())},e.prototype._handleLocationChange=function(t){var e=t.detail,s=e.oldUrl,r=e.newUrl;this.updateUrls(s,r)},e.prototype.add=function(e){var s=this,r=t.prototype.add.call(this,e);return this.isMounted&&r&&(e.mount(s.node),this._emitter.emit(F.SYMBOL_MOUNT,e.node)),r},e.prototype.attach=function(t){var e=this,s=this;if(s.isMounted)return s.node;var r="string"===typeof t?document.querySelector(t):t;return s.node=r,this.symbols.forEach((function(t){t.mount(s.node),e._emitter.emit(F.SYMBOL_MOUNT,t.node)})),b(r.querySelectorAll("symbol")).forEach((function(t){var e=g.createFromExistingNode(t);e.node=t,s.add(e)})),this._emitter.emit(F.MOUNT,r),r},e.prototype.destroy=function(){var t=this,e=t.config,s=t.symbols,r=t._emitter;s.forEach((function(t){return t.destroy()})),r.off("*"),window.removeEventListener(e.locationChangeEvent,this._handleLocationChange),this.isMounted&&this.unmount()},e.prototype.mount=function(t,e){void 0===t&&(t=this.config.mountTo),void 0===e&&(e=!1);var s=this;if(s.isMounted)return s.node;var r="string"===typeof t?document.querySelector(t):t,i=s.render();return this.node=i,e&&r.childNodes[0]?r.insertBefore(i,r.childNodes[0]):r.appendChild(i),this._emitter.emit(F.MOUNT,i),i},e.prototype.render=function(){return y(this.stringify())},e.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},e.prototype.updateUrls=function(t,e){if(!this.isMounted)return!1;var s=document.querySelectorAll(this.config.usagesToUpdate);return j(this.node,s,T(t)+"#",T(e)+"#"),!0},Object.defineProperties(e.prototype,i),e}(f),U=t((function(t){ -/*! - * domready (c) Dustin Diaz 2014 - License MIT - */ -!function(e,s){t.exports=s()}(0,(function(){var t,e=[],s=document,r=s.documentElement.doScroll,i="DOMContentLoaded",n=(r?/^loaded|^c/:/^loaded|^i|^c/).test(s.readyState);return n||s.addEventListener(i,t=function(){s.removeEventListener(i,t),n=1;while(t=e.shift())t()}),function(t){n?setTimeout(t,0):e.push(t)}}))})),q="__SVG_SPRITE_NODE__",V="__SVG_SPRITE__",z=!!window[V];z?L=window[V]:(L=new B({attrs:{id:q}}),window[V]=L);var H=function(){var t=document.getElementById(q);t?L.attach(t):L.mount(document.body,!0)};document.body?H():U(H);var W=L;return W}))}).call(this,s("d314"))},e17a:function(t,e){t.exports=!1},e1c9:function(t,e,s){var r=s("e1dd");t.exports=function(t){if(r(t))throw TypeError("The method doesn't accept regular expressions");return t}},e1dd:function(t,e,s){var r=s("d68d"),i=s("67ea"),n=s("57c4"),a=n("match");t.exports=function(t){var e;return r(t)&&(void 0!==(e=t[a])?!!e:"RegExp"==i(t))}},e28b:function(t,e,s){var r=s("9552"),i=s("ed35"),n=s("57c4"),a=n("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||i[r(t)]}},e350:function(t,e,s){var r=s("c0aa");r("iterator")},e52f:function(t,e,s){var r=s("57c4"),i=r("iterator"),n=!1;try{var a=0,o={next:function(){return{done:!!a++}},return:function(){n=!0}};o[i]=function(){return this},Array.from(o,(function(){throw 2}))}catch(c){}t.exports=function(t,e){if(!e&&!n)return!1;var s=!1;try{var r={};r[i]=function(){return{next:function(){return{done:s=!0}}}},t(r)}catch(c){}return s}},e628:function(t,e,s){var r=s("df50"),i=s("65af"),n=s("1072"),a=s("ac83");t.exports=r("Reflect","ownKeys")||function(t){var e=i.f(a(t)),s=n.f;return s?e.concat(s(t)):e}},e90a:function(t,e,s){"use strict";function r(t,e,s,r,i,n,a,o){var c,h="function"===typeof t?t.options:t;if(e&&(h.render=e,h.staticRenderFns=s,h._compiled=!0),r&&(h.functional=!0),n&&(h._scopeId="data-v-"+n),a?(c=function(t){t=t||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,t||"undefined"===typeof __VUE_SSR_CONTEXT__||(t=__VUE_SSR_CONTEXT__),i&&i.call(this,t),t&&t._registeredComponents&&t._registeredComponents.add(a)},h._ssrRegister=c):i&&(c=o?function(){i.call(this,this.$root.$options.shadowRoot)}:i),c)if(h.functional){h._injectStyles=c;var l=h.render;h.render=function(t,e){return c.call(e),l(t,e)}}else{var p=h.beforeCreate;h.beforeCreate=p?[].concat(p,c):[c]}return{exports:t,options:h}}s.d(e,"a",(function(){return r}))},e90c:function(t,e,s){"use strict";var r=s("91fe"),i=s("fee7"),n=s("8c47"),a=s("fb11"),o=[].join,c=i!=Object,h=a("join",",");r({target:"Array",proto:!0,forced:c||!h},{join:function(t){return o.call(n(this),void 0===t?",":t)}})},ecc0:function(t,e,s){(function(s){var r,i,n;(function(s,a){i=[],r=a,n="function"===typeof r?r.apply(e,i):r,void 0===n||(t.exports=n)})(0,(function(){"use strict";function e(t,e){return"undefined"==typeof e?e={autoBom:!1}:"object"!=typeof e&&(console.warn("Deprecated: Expected third argument to be a object"),e={autoBom:!e}),e.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\ufeff",t],{type:t.type}):t}function r(t,e,s){var r=new XMLHttpRequest;r.open("GET",t),r.responseType="blob",r.onload=function(){o(r.response,e,s)},r.onerror=function(){console.error("could not download file")},r.send()}function i(t){var e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(t){}return 200<=e.status&&299>=e.status}function n(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(r){var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof s&&s.global===s?s:void 0,o=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype?function(t,e,s){var o=a.URL||a.webkitURL,c=document.createElement("a");e=e||t.name||"download",c.download=e,c.rel="noopener","string"==typeof t?(c.href=t,c.origin===location.origin?n(c):i(c.href)?r(t,e,s):n(c,c.target="_blank")):(c.href=o.createObjectURL(t),setTimeout((function(){o.revokeObjectURL(c.href)}),4e4),setTimeout((function(){n(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(t,s,a){if(s=s||t.name||"download","string"!=typeof t)navigator.msSaveOrOpenBlob(e(t,a),s);else if(i(t))r(t,s,a);else{var o=document.createElement("a");o.href=t,o.target="_blank",setTimeout((function(){n(o)}))}}:function(t,e,s,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof t)return r(t,e,s);var n="application/octet-stream"===t.type,o=/constructor/i.test(a.HTMLElement)||a.safari,c=/CriOS\/[\d]+/.test(navigator.userAgent);if((c||n&&o)&&"object"==typeof FileReader){var h=new FileReader;h.onloadend=function(){var t=h.result;t=c?t:t.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=t:location=t,i=null},h.readAsDataURL(t)}else{var l=a.URL||a.webkitURL,p=l.createObjectURL(t);i?i.location=p:location.href=p,i=null,setTimeout((function(){l.revokeObjectURL(p)}),4e4)}});a.saveAs=o.saveAs=o,t.exports=o}))}).call(this,s("d314"))},ed35:function(t,e){t.exports={}},ed51:function(t,e,s){"use strict";var r=s("143b").IteratorPrototype,i=s("641d"),n=s("aec8"),a=s("94d7"),o=s("ed35"),c=function(){return this};t.exports=function(t,e,s){var h=e+" Iterator";return t.prototype=i(r,{next:n(1,s)}),a(t,h,!1,!0),o[h]=c,t}},ee6f:function(t,e,s){var r=s("3193");t.exports=function(t){return Object(r(t))}},eef6:function(t,e,s){e.nextTick=function(t){var e=Array.prototype.slice.call(arguments);e.shift(),setTimeout((function(){t.apply(null,e)}),0)},e.platform=e.arch=e.execPath=e.title="browser",e.pid=1,e.browser=!0,e.env={},e.argv=[],e.binding=function(t){throw new Error("No such module. (Possibly not yet loaded)")},function(){var t,r="/";e.cwd=function(){return r},e.chdir=function(e){t||(t=s("6266")),r=t.resolve(e,r)}}(),e.exit=e.kill=e.umask=e.dlopen=e.uptime=e.memoryUsage=e.uvCounters=function(){},e.features={}},ef8e:function(t,e,s){"use strict";var r=s("3303").charAt,i=s("d0e2"),n=s("5646"),a="String Iterator",o=i.set,c=i.getterFor(a);n(String,"String",(function(t){o(this,{type:a,string:String(t),index:0})}),(function(){var t,e=c(this),s=e.string,i=e.index;return i>=s.length?{value:void 0,done:!0}:(t=r(s,i),e.index+=t.length,{value:t,done:!1})}))},efd1:function(t,e,s){var r=s("57c4"),i=r("toStringTag"),n={};n[i]="z",t.exports="[object z]"===String(n)},f240:function(t,e){var s=Math.ceil,r=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?r:s)(t)}},f28d:function(t,e){var s={}.hasOwnProperty;t.exports=function(t,e){return s.call(t,e)}},f30e:function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},f348:function(t,e,s){ -/*! - * clipboard.js v2.0.6 - * https://clipboardjs.com/ - * - * Licensed MIT © Zeno Rocha - */ -(function(e,s){t.exports=s()})(0,(function(){return function(t){var e={};function s(r){if(e[r])return e[r].exports;var i=e[r]={i:r,l:!1,exports:{}};return t[r].call(i.exports,i,i.exports,s),i.l=!0,i.exports}return s.m=t,s.c=e,s.d=function(t,e,r){s.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:r})},s.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},s.t=function(t,e){if(1&e&&(t=s(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var r=Object.create(null);if(s.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)s.d(r,i,function(e){return t[e]}.bind(null,i));return r},s.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return s.d(e,"a",e),e},s.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},s.p="",s(s.s=6)}([function(t,e){function s(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var s=t.hasAttribute("readonly");s||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),s||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var r=window.getSelection(),i=document.createRange();i.selectNodeContents(t),r.removeAllRanges(),r.addRange(i),e=r.toString()}return e}t.exports=s},function(t,e){function s(){}s.prototype={on:function(t,e,s){var r=this.e||(this.e={});return(r[t]||(r[t]=[])).push({fn:e,ctx:s}),this},once:function(t,e,s){var r=this;function i(){r.off(t,i),e.apply(s,arguments)}return i._=e,this.on(t,i,s)},emit:function(t){var e=[].slice.call(arguments,1),s=((this.e||(this.e={}))[t]||[]).slice(),r=0,i=s.length;for(r;r0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"selectFake",value:function(){var t=this,e="rtl"==document.documentElement.getAttribute("dir");this.removeFake(),this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[e?"right":"left"]="-9999px";var s=window.pageYOffset||document.documentElement.scrollTop;this.fakeElem.style.top=s+"px",this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.container.appendChild(this.fakeElem),this.selectedText=i()(this.fakeElem),this.copyText()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=i()(this.target),this.copyText()}},{key:"copyText",value:function(){var t=void 0;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==("undefined"===typeof t?"undefined":n(t))||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),t}(),h=c,l=s(1),p=s.n(l),u=s(2),d=s.n(u),f="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m=function(){function t(t,e){for(var s=0;s0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"===typeof t.action?t.action:this.defaultAction,this.target="function"===typeof t.target?t.target:this.defaultTarget,this.text="function"===typeof t.text?t.text:this.defaultText,this.container="object"===f(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=d()(t,"click",(function(t){return e.onClick(t)}))}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new h({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return v("action",t)}},{key:"defaultTarget",value:function(t){var e=v("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return v("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"===typeof t?[t]:t,s=!!document.queryCommandSupported;return e.forEach((function(t){s=s&&!!document.queryCommandSupported(t)})),s}}]),e}(p.a);function v(t,e){var s="data-clipboard-"+t;if(e.hasAttribute(s))return e.getAttribute(s)}e["default"]=b}])["default"]}))},f4dd:function(t,e,s){var r=s("91fe"),i=s("7a23"),n=s("e628"),a=s("8c47"),o=s("4aef"),c=s("01d7");r({target:"Object",stat:!0,sham:!i},{getOwnPropertyDescriptors:function(t){var e,s,r=a(t),i=o.f,h=n(r),l={},p=0;while(h.length>p)s=i(r,e=h[p++]),void 0!==s&&c(l,e,s);return l}})},f69c:function(t,e,s){var r=s("f28d"),i=s("e628"),n=s("4aef"),a=s("c223");t.exports=function(t,e){for(var s=i(e),o=a.f,c=n.f,h=0;h"+t+""},p=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var s={isMounted:{}};return s.isMounted.get=function(){return!!this.node},e.createFromExistingNode=function(t){return new e({id:t.getAttribute("id"),viewBox:t.getAttribute("viewBox"),content:t.outerHTML})},e.prototype.destroy=function(){this.isMounted&&this.unmount(),t.prototype.destroy.call(this)},e.prototype.mount=function(t){if(this.isMounted)return this.node;var e="string"===typeof t?document.querySelector(t):t,r=this.render();return this.node=r,e.appendChild(r),r},e.prototype.render=function(){var t=this.stringify();return r(l(t)).childNodes[0]},e.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(e.prototype,s),e}(t);return p}))}).call(this,r("2409"))},"0a8b":function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},"0bbf":function(t,e,r){"use strict";var s=r("d844"),i=["age","authorization","content-length","content-type","etag","expires","from","host","if-modified-since","if-unmodified-since","last-modified","location","max-forwards","proxy-authorization","referer","retry-after","user-agent"];t.exports=function(t){var e,r,n,a={};return t?(s.forEach(t.split("\n"),(function(t){if(n=t.indexOf(":"),e=s.trim(t.substr(0,n)).toLowerCase(),r=s.trim(t.substr(n+1)),e){if(a[e]&&i.indexOf(e)>=0)return;a[e]="set-cookie"===e?(a[e]?a[e]:[]).concat([r]):a[e]?a[e]+", "+r:r}})),a):a}},"0f45":function(t,e,r){"use strict";var s=r("e65c"),i=r("2278").findIndex,n=r("1183"),a="findIndex",o=!0;a in[]&&Array(1)[a]((function(){o=!1})),s({target:"Array",proto:!0,forced:o},{findIndex:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(a)},1183:function(t,e,r){var s=r("f36e"),i=r("6a02"),n=r("6513"),a=s("unscopables"),o=Array.prototype;void 0==o[a]&&n.f(o,a,{configurable:!0,value:i(null)}),t.exports=function(t){o[a][t]=!0}},"11f4":function(t,e,r){"use strict";t.exports=function(t){return!(!t||!t.__CANCEL__)}},1264:function(t,e,r){var s=r("7746"),i=r("6513").f,n=Function.prototype,a=n.toString,o=/^\s*function ([^ (]*)/,c="name";s&&!(c in n)&&i(n,c,{configurable:!0,get:function(){try{return a.call(this).match(o)[1]}catch(t){return""}}})},"12b5":function(t,e,r){var s=r("e65c"),i=r("e2c5"),n=r("1c20"),a=r("28b8"),o=a((function(){n(1)}));s({target:"Object",stat:!0,forced:o},{keys:function(t){return n(i(t))}})},"152f":function(t,e,r){var s=r("f36e");e.f=s},"155b":function(t,e,r){"use strict";var s=r("068e");function i(t){if("function"!==typeof t)throw new TypeError("executor must be a function.");var e;this.promise=new Promise((function(t){e=t}));var r=this;t((function(t){r.reason||(r.reason=new s(t),e(r.reason))}))}i.prototype.throwIfRequested=function(){if(this.reason)throw this.reason},i.source=function(){var t,e=new i((function(e){t=e}));return{token:e,cancel:t}},t.exports=i},"15ee":function(t,e,r){"use strict";var s=r("e65c"),i=r("0785"),n=r("77e4"),a=r("54d5"),o=r("e2c5"),c=r("74e5"),h=r("e541"),l=r("d196"),p=l("splice"),u=Math.max,d=Math.min,f=9007199254740991,m="Maximum allowed length exceeded";s({target:"Array",proto:!0,forced:!p},{splice:function(t,e){var r,s,l,p,y,g,x=o(this),b=a(x.length),v=i(t,b),w=arguments.length;if(0===w?r=s=0:1===w?(r=0,s=b-v):(r=w-2,s=d(u(n(e),0),b-v)),b+r-s>f)throw TypeError(m);for(l=c(x,s),p=0;pb-s+r;p--)delete x[p-1]}else if(r>s)for(p=b-s;p>v;p--)y=p+s-1,g=p+r-1,y in x?x[g]=x[y]:delete x[g];for(p=0;p79&&a<83;s({target:"Array",proto:!0,forced:!c||h},{reduce:function(t){return i(this,t,arguments.length,arguments.length>1?arguments[1]:void 0)}})},2278:function(t,e,r){var s=r("493f"),i=r("7fdb"),n=r("e2c5"),a=r("54d5"),o=r("74e5"),c=[].push,h=function(t){var e=1==t,r=2==t,h=3==t,l=4==t,p=6==t,u=7==t,d=5==t||p;return function(f,m,y,g){for(var x,b,v=n(f),w=i(v),P=s(m,y,3),T=a(w.length),E=0,A=g||o,S=e?A(f,T):r||u?A(f,0):void 0;T>E;E++)if((d||E in w)&&(x=w[E],b=P(x,E,v),t))if(e)S[E]=b;else if(b)switch(t){case 3:return!0;case 5:return x;case 6:return E;case 2:c.call(S,x)}else switch(t){case 4:return!1;case 7:c.call(S,x)}return p?-1:h||l?l:S}};t.exports={forEach:h(0),map:h(1),filter:h(2),some:h(3),every:h(4),find:h(5),findIndex:h(6),filterOut:h(7)}},2409:function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(s){"object"===typeof window&&(r=window)}t.exports=r},2427:function(t,e,r){var s=r("ded2");t.exports=s("navigator","userAgent")||""},2480:function(t,e,r){"use strict"; +/**! + * Sortable 1.10.2 + * @author RubaXa + * @author owenm + * @license MIT + */ +function s(t){return s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}function i(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function n(){return n=Object.assign||function(t){for(var e=1;e=0||(i[r]=t[r]);return i}function c(t,e){if(null==t)return{};var r,s,i=o(t,e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);for(s=0;s=0||Object.prototype.propertyIsEnumerable.call(t,r)&&(i[r]=t[r])}return i}function h(t){return l(t)||p(t)||u()}function l(t){if(Array.isArray(t)){for(var e=0,r=new Array(t.length);e"===e[0]&&(e=e.substring(1)),t)try{if(t.matches)return t.matches(e);if(t.msMatchesSelector)return t.msMatchesSelector(e);if(t.webkitMatchesSelector)return t.webkitMatchesSelector(e)}catch(r){return!1}return!1}}function A(t){return t.host&&t!==document&&t.host.nodeType?t.host:t.parentNode}function S(t,e,r,s){if(t){r=r||document;do{if(null!=e&&(">"===e[0]?t.parentNode===r&&E(t,e):E(t,e))||s&&t===r)return t;if(t===r)break}while(t=A(t))}return null}var C,N=/\s+/g;function k(t,e,r){if(t&&e)if(t.classList)t.classList[r?"add":"remove"](e);else{var s=(" "+t.className+" ").replace(N," ").replace(" "+e+" "," ");t.className=(s+(r?" "+e:"")).replace(N," ")}}function I(t,e,r){var s=t&&t.style;if(s){if(void 0===r)return document.defaultView&&document.defaultView.getComputedStyle?r=document.defaultView.getComputedStyle(t,""):t.currentStyle&&(r=t.currentStyle),void 0===e?r:r[e];e in s||-1!==e.indexOf("webkit")||(e="-webkit-"+e),s[e]=r+("string"===typeof r?"":"px")}}function O(t,e){var r="";if("string"===typeof t)r=t;else do{var s=I(t,"transform");s&&"none"!==s&&(r=s+" "+r)}while(!e&&(t=t.parentNode));var i=window.DOMMatrix||window.WebKitCSSMatrix||window.CSSMatrix||window.MSCSSMatrix;return i&&new i(r)}function D(t,e,r){if(t){var s=t.getElementsByTagName(e),i=0,n=s.length;if(r)for(;i=n:i<=n,!a)return s;if(s===M())break;s=q(s,!1)}return!1}function R(t,e,r){var s=0,i=0,n=t.children;while(i2&&void 0!==arguments[2]?arguments[2]:{},s=r.evt,i=c(r,["evt"]);rt.pluginEvent.bind(Qt)(t,e,a({dragEl:at,parentEl:ot,ghostEl:ct,rootEl:ht,nextEl:lt,lastDownEl:pt,cloneEl:ut,cloneHidden:dt,dragStarted:St,putSortable:bt,activeSortable:Qt.active,originalEvent:s,oldIndex:ft,oldDraggableIndex:yt,newIndex:mt,newDraggableIndex:gt,hideGhostForTarget:Xt,unhideGhostForTarget:Gt,cloneNowHidden:function(){dt=!0},cloneNowShown:function(){dt=!1},dispatchSortableEvent:function(t){nt({sortable:e,name:t,originalEvent:s})}},i))};function nt(t){st(a({putSortable:bt,cloneEl:ut,targetEl:at,rootEl:ht,oldIndex:ft,oldDraggableIndex:yt,newIndex:mt,newDraggableIndex:gt},t))}var at,ot,ct,ht,lt,pt,ut,dt,ft,mt,yt,gt,xt,bt,vt,wt,Pt,Tt,Et,At,St,Ct,Nt,kt,It,Ot=!1,Dt=!1,Mt=[],Lt=!1,_t=!1,Rt=[],jt=!1,Ft=[],Bt="undefined"!==typeof document,Ut=b,qt=y||m?"cssFloat":"float",Ht=Bt&&!v&&!b&&"draggable"in document.createElement("div"),zt=function(){if(Bt){if(m)return!1;var t=document.createElement("x");return t.style.cssText="pointer-events:auto","auto"===t.style.pointerEvents}}(),Vt=function(t,e){var r=I(t),s=parseInt(r.width)-parseInt(r.paddingLeft)-parseInt(r.paddingRight)-parseInt(r.borderLeftWidth)-parseInt(r.borderRightWidth),i=R(t,0,e),n=R(t,1,e),a=i&&I(i),o=n&&I(n),c=a&&parseInt(a.marginLeft)+parseInt(a.marginRight)+L(i).width,h=o&&parseInt(o.marginLeft)+parseInt(o.marginRight)+L(n).width;if("flex"===r.display)return"column"===r.flexDirection||"column-reverse"===r.flexDirection?"vertical":"horizontal";if("grid"===r.display)return r.gridTemplateColumns.split(" ").length<=1?"vertical":"horizontal";if(i&&a["float"]&&"none"!==a["float"]){var l="left"===a["float"]?"left":"right";return!n||"both"!==o.clear&&o.clear!==l?"horizontal":"vertical"}return i&&("block"===a.display||"flex"===a.display||"table"===a.display||"grid"===a.display||c>=s&&"none"===r[qt]||n&&"none"===r[qt]&&c+h>s)?"vertical":"horizontal"},Wt=function(t,e,r){var s=r?t.left:t.top,i=r?t.right:t.bottom,n=r?t.width:t.height,a=r?e.left:e.top,o=r?e.right:e.bottom,c=r?e.width:e.height;return s===a||i===o||s+n/2===a+c/2},Kt=function(t,e){var r;return Mt.some((function(s){if(!j(s)){var i=L(s),n=s[Y].options.emptyInsertThreshold,a=t>=i.left-n&&t<=i.right+n,o=e>=i.top-n&&e<=i.bottom+n;return n&&a&&o?r=s:void 0}})),r},$t=function(t){function e(t,r){return function(s,i,n,a){var o=s.options.group.name&&i.options.group.name&&s.options.group.name===i.options.group.name;if(null==t&&(r||o))return!0;if(null==t||!1===t)return!1;if(r&&"clone"===t)return t;if("function"===typeof t)return e(t(s,i,n,a),r)(s,i,n,a);var c=(r?s:i).options.group.name;return!0===t||"string"===typeof t&&t===c||t.join&&t.indexOf(c)>-1}}var r={},i=t.group;i&&"object"==s(i)||(i={name:i}),r.name=i.name,r.checkPull=e(i.pull,!0),r.checkPut=e(i.put),r.revertClone=i.revertClone,t.group=r},Xt=function(){!zt&&ct&&I(ct,"display","none")},Gt=function(){!zt&&ct&&I(ct,"display","")};Bt&&document.addEventListener("click",(function(t){if(Dt)return t.preventDefault(),t.stopPropagation&&t.stopPropagation(),t.stopImmediatePropagation&&t.stopImmediatePropagation(),Dt=!1,!1}),!0);var Yt=function(t){if(at){t=t.touches?t.touches[0]:t;var e=Kt(t.clientX,t.clientY);if(e){var r={};for(var s in t)t.hasOwnProperty(s)&&(r[s]=t[s]);r.target=r.rootEl=e,r.preventDefault=void 0,r.stopPropagation=void 0,e[Y]._onDragOver(r)}}},Jt=function(t){at&&at.parentNode[Y]._isOutsideThisEl(t.target)};function Qt(t,e){if(!t||!t.nodeType||1!==t.nodeType)throw"Sortable: `el` must be an HTMLElement, not ".concat({}.toString.call(t));this.el=t,this.options=e=n({},e),t[Y]=this;var r={group:null,sort:!0,disabled:!1,store:null,handle:null,draggable:/^[uo]l$/i.test(t.nodeName)?">li":">*",swapThreshold:1,invertSwap:!1,invertedSwapThreshold:null,removeCloneOnHide:!0,direction:function(){return Vt(t,this.options)},ghostClass:"sortable-ghost",chosenClass:"sortable-chosen",dragClass:"sortable-drag",ignore:"a, img",filter:null,preventOnFilter:!0,animation:0,easing:null,setData:function(t,e){t.setData("Text",e.textContent)},dropBubble:!1,dragoverBubble:!1,dataIdAttr:"data-id",delay:0,delayOnTouchOnly:!1,touchStartThreshold:(Number.parseInt?Number:window).parseInt(window.devicePixelRatio,10)||1,forceFallback:!1,fallbackClass:"sortable-fallback",fallbackOnBody:!1,fallbackTolerance:0,fallbackOffset:{x:0,y:0},supportPointer:!1!==Qt.supportPointer&&"PointerEvent"in window,emptyInsertThreshold:5};for(var s in rt.initializePlugins(this,t,r),r)!(s in e)&&(e[s]=r[s]);for(var i in $t(e),this)"_"===i.charAt(0)&&"function"===typeof this[i]&&(this[i]=this[i].bind(this));this.nativeDraggable=!e.forceFallback&&Ht,this.nativeDraggable&&(this.options.touchStartThreshold=1),e.supportPointer?P(t,"pointerdown",this._onTapStart):(P(t,"mousedown",this._onTapStart),P(t,"touchstart",this._onTapStart)),this.nativeDraggable&&(P(t,"dragover",this),P(t,"dragenter",this)),Mt.push(this.el),e.store&&e.store.get&&this.sort(e.store.get(this)||[]),n(this,J())}function Zt(t){t.dataTransfer&&(t.dataTransfer.dropEffect="move"),t.cancelable&&t.preventDefault()}function te(t,e,r,s,i,n,a,o){var c,h,l=t[Y],p=l.options.onMove;return!window.CustomEvent||m||y?(c=document.createEvent("Event"),c.initEvent("move",!0,!0)):c=new CustomEvent("move",{bubbles:!0,cancelable:!0}),c.to=e,c.from=t,c.dragged=r,c.draggedRect=s,c.related=i||e,c.relatedRect=n||L(e),c.willInsertAfter=o,c.originalEvent=a,t.dispatchEvent(c),p&&(h=p.call(l,c,a)),h}function ee(t){t.draggable=!1}function re(){jt=!1}function se(t,e,r){var s=L(j(r.el,r.options.draggable)),i=10;return e?t.clientX>s.right+i||t.clientX<=s.right&&t.clientY>s.bottom&&t.clientX>=s.left:t.clientX>s.right&&t.clientY>s.top||t.clientX<=s.right&&t.clientY>s.bottom+i}function ie(t,e,r,s,i,n,a,o){var c=s?t.clientY:t.clientX,h=s?r.height:r.width,l=s?r.top:r.left,p=s?r.bottom:r.right,u=!1;if(!a)if(o&&ktl+h*n/2:cp-kt)return-Nt}else if(c>l+h*(1-i)/2&&cp-h*n/2)?c>l+h/2?1:-1:0}function ne(t){return F(at)=Math.floor(this.options.touchStartThreshold/(this.nativeDraggable&&window.devicePixelRatio||1))&&this._disableDelayedDrag()},_disableDelayedDrag:function(){at&&ee(at),clearTimeout(this._dragStartTimer),this._disableDelayedDragEvents()},_disableDelayedDragEvents:function(){var t=this.el.ownerDocument;T(t,"mouseup",this._disableDelayedDrag),T(t,"touchend",this._disableDelayedDrag),T(t,"touchcancel",this._disableDelayedDrag),T(t,"mousemove",this._delayedDragTouchMoveHandler),T(t,"touchmove",this._delayedDragTouchMoveHandler),T(t,"pointermove",this._delayedDragTouchMoveHandler)},_triggerDragStart:function(t,e){e=e||"touch"==t.pointerType&&t,!this.nativeDraggable||e?this.options.supportPointer?P(document,"pointermove",this._onTouchMove):P(document,e?"touchmove":"mousemove",this._onTouchMove):(P(at,"dragend",this),P(ht,"dragstart",this._onDragStart));try{document.selection?ce((function(){document.selection.empty()})):window.getSelection().removeAllRanges()}catch(r){}},_dragStarted:function(t,e){if(Ot=!1,ht&&at){it("dragStarted",this,{evt:e}),this.nativeDraggable&&P(document,"dragover",Jt);var r=this.options;!t&&k(at,r.dragClass,!1),k(at,r.ghostClass,!0),Qt.active=this,t&&this._appendGhost(),nt({sortable:this,name:"start",originalEvent:e})}else this._nulling()},_emulateDragOver:function(){if(wt){this._lastX=wt.clientX,this._lastY=wt.clientY,Xt();var t=document.elementFromPoint(wt.clientX,wt.clientY),e=t;while(t&&t.shadowRoot){if(t=t.shadowRoot.elementFromPoint(wt.clientX,wt.clientY),t===e)break;e=t}if(at.parentNode[Y]._isOutsideThisEl(t),e)do{if(e[Y]){var r=void 0;if(r=e[Y]._onDragOver({clientX:wt.clientX,clientY:wt.clientY,target:t,rootEl:e}),r&&!this.options.dragoverBubble)break}t=e}while(e=e.parentNode);Gt()}},_onTouchMove:function(t){if(vt){var e=this.options,r=e.fallbackTolerance,s=e.fallbackOffset,i=t.touches?t.touches[0]:t,n=ct&&O(ct,!0),a=ct&&n&&n.a,o=ct&&n&&n.d,c=Ut&&It&&B(It),h=(i.clientX-vt.clientX+s.x)/(a||1)+(c?c[0]-Rt[0]:0)/(a||1),l=(i.clientY-vt.clientY+s.y)/(o||1)+(c?c[1]-Rt[1]:0)/(o||1);if(!Qt.active&&!Ot){if(r&&Math.max(Math.abs(i.clientX-this._lastX),Math.abs(i.clientY-this._lastY))=0&&(nt({rootEl:ot,name:"add",toEl:ot,fromEl:ht,originalEvent:t}),nt({sortable:this,name:"remove",toEl:ot,originalEvent:t}),nt({rootEl:ot,name:"sort",toEl:ot,fromEl:ht,originalEvent:t}),nt({sortable:this,name:"sort",toEl:ot,originalEvent:t})),bt&&bt.save()):mt!==ft&&mt>=0&&(nt({sortable:this,name:"update",toEl:ot,originalEvent:t}),nt({sortable:this,name:"sort",toEl:ot,originalEvent:t})),Qt.active&&(null!=mt&&-1!==mt||(mt=ft,gt=yt),nt({sortable:this,name:"end",toEl:ot,originalEvent:t}),this.save())))),this._nulling()},_nulling:function(){it("nulling",this),ht=at=ot=ct=lt=ut=pt=dt=vt=wt=St=mt=gt=ft=yt=Ct=Nt=bt=xt=Qt.dragged=Qt.ghost=Qt.clone=Qt.active=null,Ft.forEach((function(t){t.checked=!0})),Ft.length=Pt=Tt=0},handleEvent:function(t){switch(t.type){case"drop":case"dragend":this._onDrop(t);break;case"dragenter":case"dragover":at&&(this._onDragOver(t),Zt(t));break;case"selectstart":t.preventDefault();break}},toArray:function(){for(var t,e=[],r=this.el.children,s=0,i=r.length,n=this.options;s1&&(Me.forEach((function(t){s.addAnimationState({target:t,rect:Re?L(t):i}),G(t),t.fromRect=i,e.removeAnimationState(t)})),Re=!1,Be(!this.options.removeCloneOnHide,r))},dragOverCompleted:function(t){var e=t.sortable,r=t.isOwner,s=t.insertion,i=t.activeSortable,n=t.parentEl,a=t.putSortable,o=this.options;if(s){if(r&&i._hideClone(),_e=!1,o.animation&&Me.length>1&&(Re||!r&&!i.options.sort&&!a)){var c=L(Ie,!1,!0,!0);Me.forEach((function(t){t!==Ie&&(X(t,c),n.appendChild(t))})),Re=!0}if(!r)if(Re||qe(),Me.length>1){var h=De;i._showClone(e),i.options.animation&&!De&&h&&Le.forEach((function(t){i.addAnimationState({target:t,rect:Oe}),t.fromRect=Oe,t.thisAnimationDuration=null}))}else i._showClone(e)}},dragOverAnimationCapture:function(t){var e=t.dragRect,r=t.isOwner,s=t.activeSortable;if(Me.forEach((function(t){t.thisAnimationDuration=null})),s.options.animation&&!r&&s.multiDrag.isMultiDrag){Oe=n({},e);var i=O(Ie,!0);Oe.top-=i.f,Oe.left-=i.e}},dragOverAnimationComplete:function(){Re&&(Re=!1,qe())},drop:function(t){var e=t.originalEvent,r=t.rootEl,s=t.parentEl,i=t.sortable,n=t.dispatchSortableEvent,a=t.oldIndex,o=t.putSortable,c=o||this.sortable;if(e){var h=this.options,l=s.children;if(!je)if(h.multiDragKey&&!this.multiDragKeyDown&&this._deselectMultiDrag(),k(Ie,h.selectedClass,!~Me.indexOf(Ie)),~Me.indexOf(Ie))Me.splice(Me.indexOf(Ie),1),Ne=null,st({sortable:i,rootEl:r,name:"deselect",targetEl:Ie,originalEvt:e});else{if(Me.push(Ie),st({sortable:i,rootEl:r,name:"select",targetEl:Ie,originalEvt:e}),e.shiftKey&&Ne&&i.el.contains(Ne)){var p,u,d=F(Ne),f=F(Ie);if(~d&&~f&&d!==f)for(f>d?(u=d,p=f):(u=f,p=d+1);u1){var m=L(Ie),y=F(Ie,":not(."+this.options.selectedClass+")");if(!_e&&h.animation&&(Ie.thisAnimationDuration=null),c.captureAnimationState(),!_e&&(h.animation&&(Ie.fromRect=m,Me.forEach((function(t){if(t.thisAnimationDuration=null,t!==Ie){var e=Re?L(t):m;t.fromRect=e,c.addAnimationState({target:t,rect:e})}}))),qe(),Me.forEach((function(t){l[y]?s.insertBefore(t,l[y]):s.appendChild(t),y++})),a===F(Ie))){var g=!1;Me.forEach((function(t){t.sortableIndex===F(t)||(g=!0)})),g&&n("update")}Me.forEach((function(t){G(t)})),c.animateAll()}ke=c}(r===s||o&&"clone"!==o.lastPutMode)&&Le.forEach((function(t){t.parentNode&&t.parentNode.removeChild(t)}))}},nullingGlobal:function(){this.isMultiDrag=je=!1,Le.length=0},destroyGlobal:function(){this._deselectMultiDrag(),T(document,"pointerup",this._deselectMultiDrag),T(document,"mouseup",this._deselectMultiDrag),T(document,"touchend",this._deselectMultiDrag),T(document,"keydown",this._checkKeyDown),T(document,"keyup",this._checkKeyUp)},_deselectMultiDrag:function(t){if(("undefined"===typeof je||!je)&&ke===this.sortable&&(!t||!S(t.target,this.options.draggable,this.sortable.el,!1))&&(!t||0===t.button))while(Me.length){var e=Me[0];k(e,this.options.selectedClass,!1),Me.shift(),st({sortable:this.sortable,rootEl:this.sortable.el,name:"deselect",targetEl:e,originalEvt:t})}},_checkKeyDown:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!0)},_checkKeyUp:function(t){t.key===this.options.multiDragKey&&(this.multiDragKeyDown=!1)}},n(t,{pluginName:"multiDrag",utils:{select:function(t){var e=t.parentNode[Y];e&&e.options.multiDrag&&!~Me.indexOf(t)&&(ke&&ke!==e&&(ke.multiDrag._deselectMultiDrag(),ke=e),k(t,e.options.selectedClass,!0),Me.push(t))},deselect:function(t){var e=t.parentNode[Y],r=Me.indexOf(t);e&&e.options.multiDrag&&~r&&(k(t,e.options.selectedClass,!1),Me.splice(r,1))}},eventProperties:function(){var t=this,e=[],r=[];return Me.forEach((function(s){var i;e.push({multiDragElement:s,index:s.sortableIndex}),i=Re&&s!==Ie?-1:Re?F(s,":not(."+t.options.selectedClass+")"):F(s),r.push({multiDragElement:s,index:i})})),{items:h(Me),clones:[].concat(Le),oldIndicies:e,newIndicies:r}},optionListeners:{multiDragKey:function(t){return t=t.toLowerCase(),"ctrl"===t?t="Control":t.length>1&&(t=t.charAt(0).toUpperCase()+t.substr(1)),t}}})}function Be(t,e){Me.forEach((function(r,s){var i=e.children[r.sortableIndex+(t?Number(s):0)];i?e.insertBefore(r,i):e.appendChild(r)}))}function Ue(t,e){Le.forEach((function(r,s){var i=e.children[r.sortableIndex+(t?Number(s):0)];i?e.insertBefore(r,i):e.appendChild(r)}))}function qe(){Me.forEach((function(t){t!==Ie&&t.parentNode&&t.parentNode.removeChild(t)}))}Qt.mount(new xe),Qt.mount(Ae,Ee),e["default"]=Qt},"273d":function(t,e,r){var s=r("3534"),i=r("77de");t.exports=Object.setPrototypeOf||("__proto__"in{}?function(){var t,e=!1,r={};try{t=Object.getOwnPropertyDescriptor(Object.prototype,"__proto__").set,t.call(r,[]),e=r instanceof Array}catch(n){}return function(r,n){return s(r),i(n),e?t.call(r,n):r.__proto__=n,r}}():void 0)},"28b8":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"2b4b":function(t,e,r){var s=r("79fa");t.exports=function(t,e){var r=s.console;r&&r.error&&(1===arguments.length?r.error(t):r.error(t,e))}},"2cbd":function(t,e,r){var s=r("f382"),i=r("0a8b"),n=r("f36e"),a=n("toStringTag"),o="Arguments"==i(function(){return arguments}()),c=function(t,e){try{return t[e]}catch(r){}};t.exports=s?i:function(t){var e,r,s;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=c(e=Object(t),a))?r:o?i(e):"Object"==(s=i(e))&&"function"==typeof e.callee?"Arguments":s}},"2cd3":function(t,e,r){"use strict";var s=r("482b").IteratorPrototype,i=r("6a02"),n=r("d9cb"),a=r("46cd"),o=r("4a22"),c=function(){return this};t.exports=function(t,e,r){var h=e+" Iterator";return t.prototype=i(s,{next:n(1,r)}),a(t,h,!1,!0),o[h]=c,t}},"2cde":function(t,e,r){var s=r("79fa"),i=r("9b6f");t.exports=function(t,e){try{i(s,t,e)}catch(r){s[t]=e}return e}},"2ed0":function(t,e,r){"use strict";(function(e){var s=r("d844"),i=r("9d72"),n={"Content-Type":"application/x-www-form-urlencoded"};function a(t,e){!s.isUndefined(t)&&s.isUndefined(t["Content-Type"])&&(t["Content-Type"]=e)}function o(){var t;return("undefined"!==typeof XMLHttpRequest||"undefined"!==typeof e&&"[object process]"===Object.prototype.toString.call(e))&&(t=r("a169")),t}var c={adapter:o(),transformRequest:[function(t,e){return i(e,"Accept"),i(e,"Content-Type"),s.isFormData(t)||s.isArrayBuffer(t)||s.isBuffer(t)||s.isStream(t)||s.isFile(t)||s.isBlob(t)?t:s.isArrayBufferView(t)?t.buffer:s.isURLSearchParams(t)?(a(e,"application/x-www-form-urlencoded;charset=utf-8"),t.toString()):s.isObject(t)?(a(e,"application/json;charset=utf-8"),JSON.stringify(t)):t}],transformResponse:[function(t){if("string"===typeof t)try{t=JSON.parse(t)}catch(e){}return t}],timeout:0,xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN",maxContentLength:-1,validateStatus:function(t){return t>=200&&t<300},headers:{common:{Accept:"application/json, text/plain, */*"}}};s.forEach(["delete","get","head"],(function(t){c.headers[t]={}})),s.forEach(["post","put","patch"],(function(t){c.headers[t]=s.merge(n)})),t.exports=c}).call(this,r("eef6"))},"30a0":function(t,e){t.exports=function(t,e,r){if(!(t instanceof e))throw TypeError("Incorrect "+(r?r+" ":"")+"invocation");return t}},"31bf":function(t,e,r){(function(r){var s,i,n;(function(r,a){i=[],s=a,n="function"===typeof s?s.apply(e,i):s,void 0===n||(t.exports=n)})(0,(function(){"use strict";function e(t,e){return"undefined"==typeof e?e={autoBom:!1}:"object"!=typeof e&&(console.warn("Deprecated: Expected third argument to be a object"),e={autoBom:!e}),e.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(t.type)?new Blob(["\ufeff",t],{type:t.type}):t}function s(t,e,r){var s=new XMLHttpRequest;s.open("GET",t),s.responseType="blob",s.onload=function(){c(s.response,e,r)},s.onerror=function(){console.error("could not download file")},s.send()}function i(t){var e=new XMLHttpRequest;e.open("HEAD",t,!1);try{e.send()}catch(t){}return 200<=e.status&&299>=e.status}function n(t){try{t.dispatchEvent(new MouseEvent("click"))}catch(s){var e=document.createEvent("MouseEvents");e.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),t.dispatchEvent(e)}}var a="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof r&&r.global===r?r:void 0,o=a.navigator&&/Macintosh/.test(navigator.userAgent)&&/AppleWebKit/.test(navigator.userAgent)&&!/Safari/.test(navigator.userAgent),c=a.saveAs||("object"!=typeof window||window!==a?function(){}:"download"in HTMLAnchorElement.prototype&&!o?function(t,e,r){var o=a.URL||a.webkitURL,c=document.createElement("a");e=e||t.name||"download",c.download=e,c.rel="noopener","string"==typeof t?(c.href=t,c.origin===location.origin?n(c):i(c.href)?s(t,e,r):n(c,c.target="_blank")):(c.href=o.createObjectURL(t),setTimeout((function(){o.revokeObjectURL(c.href)}),4e4),setTimeout((function(){n(c)}),0))}:"msSaveOrOpenBlob"in navigator?function(t,r,a){if(r=r||t.name||"download","string"!=typeof t)navigator.msSaveOrOpenBlob(e(t,a),r);else if(i(t))s(t,r,a);else{var o=document.createElement("a");o.href=t,o.target="_blank",setTimeout((function(){n(o)}))}}:function(t,e,r,i){if(i=i||open("","_blank"),i&&(i.document.title=i.document.body.innerText="downloading..."),"string"==typeof t)return s(t,e,r);var n="application/octet-stream"===t.type,c=/constructor/i.test(a.HTMLElement)||a.safari,h=/CriOS\/[\d]+/.test(navigator.userAgent);if((h||n&&c||o)&&"undefined"!=typeof FileReader){var l=new FileReader;l.onloadend=function(){var t=l.result;t=h?t:t.replace(/^data:[^;]*;/,"data:attachment/file;"),i?i.location.href=t:location=t,i=null},l.readAsDataURL(t)}else{var p=a.URL||a.webkitURL,u=p.createObjectURL(t);i?i.location=u:location.href=u,i=null,setTimeout((function(){p.revokeObjectURL(u)}),4e4)}});a.saveAs=c.saveAs=c,t.exports=c}))}).call(this,r("2409"))},3335:function(t,e,r){(function(e,s){t.exports=s(r("2480"))})("undefined"!==typeof self&&self,(function(t){return function(t){var e={};function r(s){if(e[s])return e[s].exports;var i=e[s]={i:s,l:!1,exports:{}};return t[s].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=t,r.c=e,r.d=function(t,e,s){r.o(t,e)||Object.defineProperty(t,e,{enumerable:!0,get:s})},r.r=function(t){"undefined"!==typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},r.t=function(t,e){if(1&e&&(t=r(t)),8&e)return t;if(4&e&&"object"===typeof t&&t&&t.__esModule)return t;var s=Object.create(null);if(r.r(s),Object.defineProperty(s,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var i in t)r.d(s,i,function(e){return t[e]}.bind(null,i));return s},r.n=function(t){var e=t&&t.__esModule?function(){return t["default"]}:function(){return t};return r.d(e,"a",e),e},r.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},r.p="",r(r.s="fb15")}({"01f9":function(t,e,r){"use strict";var s=r("2d00"),i=r("5ca1"),n=r("2aba"),a=r("32e9"),o=r("84f2"),c=r("41a0"),h=r("7f20"),l=r("38fd"),p=r("2b4c")("iterator"),u=!([].keys&&"next"in[].keys()),d="@@iterator",f="keys",m="values",y=function(){return this};t.exports=function(t,e,r,g,x,b,v){c(r,e,g);var w,P,T,E=function(t){if(!u&&t in N)return N[t];switch(t){case f:return function(){return new r(this,t)};case m:return function(){return new r(this,t)}}return function(){return new r(this,t)}},A=e+" Iterator",S=x==m,C=!1,N=t.prototype,k=N[p]||N[d]||x&&N[x],I=k||E(x),O=x?S?E("entries"):I:void 0,D="Array"==e&&N.entries||k;if(D&&(T=l(D.call(new t)),T!==Object.prototype&&T.next&&(h(T,A,!0),s||"function"==typeof T[p]||a(T,p,y))),S&&k&&k.name!==m&&(C=!0,I=function(){return k.call(this)}),s&&!v||!u&&!C&&N[p]||a(N,p,I),o[e]=I,o[A]=y,x)if(w={values:S?I:E(m),keys:b?I:E(f),entries:O},v)for(P in w)P in N||n(N,P,w[P]);else i(i.P+i.F*(u||C),e,w);return w}},"02f4":function(t,e,r){var s=r("4588"),i=r("be13");t.exports=function(t){return function(e,r){var n,a,o=String(i(e)),c=s(r),h=o.length;return c<0||c>=h?t?"":void 0:(n=o.charCodeAt(c),n<55296||n>56319||c+1===h||(a=o.charCodeAt(c+1))<56320||a>57343?t?o.charAt(c):n:t?o.slice(c,c+2):a-56320+(n-55296<<10)+65536)}}},"0390":function(t,e,r){"use strict";var s=r("02f4")(!0);t.exports=function(t,e,r){return e+(r?s(t,e).length:1)}},"0bfb":function(t,e,r){"use strict";var s=r("cb7c");t.exports=function(){var t=s(this),e="";return t.global&&(e+="g"),t.ignoreCase&&(e+="i"),t.multiline&&(e+="m"),t.unicode&&(e+="u"),t.sticky&&(e+="y"),e}},"0d58":function(t,e,r){var s=r("ce10"),i=r("e11e");t.exports=Object.keys||function(t){return s(t,i)}},1495:function(t,e,r){var s=r("86cc"),i=r("cb7c"),n=r("0d58");t.exports=r("9e1e")?Object.defineProperties:function(t,e){i(t);var r,a=n(e),o=a.length,c=0;while(o>c)s.f(t,r=a[c++],e[r]);return t}},"214f":function(t,e,r){"use strict";r("b0c5");var s=r("2aba"),i=r("32e9"),n=r("79e5"),a=r("be13"),o=r("2b4c"),c=r("520a"),h=o("species"),l=!n((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),p=function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2===r.length&&"a"===r[0]&&"b"===r[1]}();t.exports=function(t,e,r){var u=o(t),d=!n((function(){var e={};return e[u]=function(){return 7},7!=""[t](e)})),f=d?!n((function(){var e=!1,r=/a/;return r.exec=function(){return e=!0,null},"split"===t&&(r.constructor={},r.constructor[h]=function(){return r}),r[u](""),!e})):void 0;if(!d||!f||"replace"===t&&!l||"split"===t&&!p){var m=/./[u],y=r(a,u,""[t],(function(t,e,r,s,i){return e.exec===c?d&&!i?{done:!0,value:m.call(e,r,s)}:{done:!0,value:t.call(r,e,s)}:{done:!1}})),g=y[0],x=y[1];s(String.prototype,t,g),i(RegExp.prototype,u,2==e?function(t,e){return x.call(t,this,e)}:function(t){return x.call(t,this)})}}},"230e":function(t,e,r){var s=r("d3f4"),i=r("7726").document,n=s(i)&&s(i.createElement);t.exports=function(t){return n?i.createElement(t):{}}},"23c6":function(t,e,r){var s=r("2d95"),i=r("2b4c")("toStringTag"),n="Arguments"==s(function(){return arguments}()),a=function(t,e){try{return t[e]}catch(r){}};t.exports=function(t){var e,r,o;return void 0===t?"Undefined":null===t?"Null":"string"==typeof(r=a(e=Object(t),i))?r:n?s(e):"Object"==(o=s(e))&&"function"==typeof e.callee?"Arguments":o}},2621:function(t,e){e.f=Object.getOwnPropertySymbols},"2aba":function(t,e,r){var s=r("7726"),i=r("32e9"),n=r("69a8"),a=r("ca5a")("src"),o=r("fa5b"),c="toString",h=(""+o).split(c);r("8378").inspectSource=function(t){return o.call(t)},(t.exports=function(t,e,r,o){var c="function"==typeof r;c&&(n(r,"name")||i(r,"name",e)),t[e]!==r&&(c&&(n(r,a)||i(r,a,t[e]?""+t[e]:h.join(String(e)))),t===s?t[e]=r:o?t[e]?t[e]=r:i(t,e,r):(delete t[e],i(t,e,r)))})(Function.prototype,c,(function(){return"function"==typeof this&&this[a]||o.call(this)}))},"2aeb":function(t,e,r){var s=r("cb7c"),i=r("1495"),n=r("e11e"),a=r("613b")("IE_PROTO"),o=function(){},c="prototype",h=function(){var t,e=r("230e")("iframe"),s=n.length,i="<",a=">";e.style.display="none",r("fab2").appendChild(e),e.src="javascript:",t=e.contentWindow.document,t.open(),t.write(i+"script"+a+"document.F=Object"+i+"/script"+a),t.close(),h=t.F;while(s--)delete h[c][n[s]];return h()};t.exports=Object.create||function(t,e){var r;return null!==t?(o[c]=s(t),r=new o,o[c]=null,r[a]=t):r=h(),void 0===e?r:i(r,e)}},"2b4c":function(t,e,r){var s=r("5537")("wks"),i=r("ca5a"),n=r("7726").Symbol,a="function"==typeof n,o=t.exports=function(t){return s[t]||(s[t]=a&&n[t]||(a?n:i)("Symbol."+t))};o.store=s},"2d00":function(t,e){t.exports=!1},"2d95":function(t,e){var r={}.toString;t.exports=function(t){return r.call(t).slice(8,-1)}},"2fdb":function(t,e,r){"use strict";var s=r("5ca1"),i=r("d2c8"),n="includes";s(s.P+s.F*r("5147")(n),"String",{includes:function(t){return!!~i(this,t,n).indexOf(t,arguments.length>1?arguments[1]:void 0)}})},"32e9":function(t,e,r){var s=r("86cc"),i=r("4630");t.exports=r("9e1e")?function(t,e,r){return s.f(t,e,i(1,r))}:function(t,e,r){return t[e]=r,t}},"38fd":function(t,e,r){var s=r("69a8"),i=r("4bf8"),n=r("613b")("IE_PROTO"),a=Object.prototype;t.exports=Object.getPrototypeOf||function(t){return t=i(t),s(t,n)?t[n]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?a:null}},"41a0":function(t,e,r){"use strict";var s=r("2aeb"),i=r("4630"),n=r("7f20"),a={};r("32e9")(a,r("2b4c")("iterator"),(function(){return this})),t.exports=function(t,e,r){t.prototype=s(a,{next:i(1,r)}),n(t,e+" Iterator")}},"456d":function(t,e,r){var s=r("4bf8"),i=r("0d58");r("5eda")("keys",(function(){return function(t){return i(s(t))}}))},4588:function(t,e){var r=Math.ceil,s=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?s:r)(t)}},4630:function(t,e){t.exports=function(t,e){return{enumerable:!(1&t),configurable:!(2&t),writable:!(4&t),value:e}}},"4bf8":function(t,e,r){var s=r("be13");t.exports=function(t){return Object(s(t))}},5147:function(t,e,r){var s=r("2b4c")("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[s]=!1,!"/./"[t](e)}catch(i){}}return!0}},"520a":function(t,e,r){"use strict";var s=r("0bfb"),i=RegExp.prototype.exec,n=String.prototype.replace,a=i,o="lastIndex",c=function(){var t=/a/,e=/b*/g;return i.call(t,"a"),i.call(e,"a"),0!==t[o]||0!==e[o]}(),h=void 0!==/()??/.exec("")[1],l=c||h;l&&(a=function(t){var e,r,a,l,p=this;return h&&(r=new RegExp("^"+p.source+"$(?!\\s)",s.call(p))),c&&(e=p[o]),a=i.call(p,t),c&&a&&(p[o]=p.global?a.index+a[0].length:e),h&&a&&a.length>1&&n.call(a[0],r,(function(){for(l=1;l1?arguments[1]:void 0)}}),r("9c6c")("includes")},6821:function(t,e,r){var s=r("626a"),i=r("be13");t.exports=function(t){return s(i(t))}},"69a8":function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},"6a99":function(t,e,r){var s=r("d3f4");t.exports=function(t,e){if(!s(t))return t;var r,i;if(e&&"function"==typeof(r=t.toString)&&!s(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!s(i=r.call(t)))return i;if(!e&&"function"==typeof(r=t.toString)&&!s(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},7333:function(t,e,r){"use strict";var s=r("0d58"),i=r("2621"),n=r("52a7"),a=r("4bf8"),o=r("626a"),c=Object.assign;t.exports=!c||r("79e5")((function(){var t={},e={},r=Symbol(),s="abcdefghijklmnopqrst";return t[r]=7,s.split("").forEach((function(t){e[t]=t})),7!=c({},t)[r]||Object.keys(c({},e)).join("")!=s}))?function(t,e){var r=a(t),c=arguments.length,h=1,l=i.f,p=n.f;while(c>h){var u,d=o(arguments[h++]),f=l?s(d).concat(l(d)):s(d),m=f.length,y=0;while(m>y)p.call(d,u=f[y++])&&(r[u]=d[u])}return r}:c},7726:function(t,e){var r=t.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=r)},"77f1":function(t,e,r){var s=r("4588"),i=Math.max,n=Math.min;t.exports=function(t,e){return t=s(t),t<0?i(t+e,0):n(t,e)}},"79e5":function(t,e){t.exports=function(t){try{return!!t()}catch(e){return!0}}},"7f20":function(t,e,r){var s=r("86cc").f,i=r("69a8"),n=r("2b4c")("toStringTag");t.exports=function(t,e,r){t&&!i(t=r?t:t.prototype,n)&&s(t,n,{configurable:!0,value:e})}},8378:function(t,e){var r=t.exports={version:"2.6.5"};"number"==typeof __e&&(__e=r)},"84f2":function(t,e){t.exports={}},"86cc":function(t,e,r){var s=r("cb7c"),i=r("c69a"),n=r("6a99"),a=Object.defineProperty;e.f=r("9e1e")?Object.defineProperty:function(t,e,r){if(s(t),e=n(e,!0),s(r),i)try{return a(t,e,r)}catch(o){}if("get"in r||"set"in r)throw TypeError("Accessors not supported!");return"value"in r&&(t[e]=r.value),t}},"9b43":function(t,e,r){var s=r("d8e8");t.exports=function(t,e,r){if(s(t),void 0===e)return t;switch(r){case 1:return function(r){return t.call(e,r)};case 2:return function(r,s){return t.call(e,r,s)};case 3:return function(r,s,i){return t.call(e,r,s,i)}}return function(){return t.apply(e,arguments)}}},"9c6c":function(t,e,r){var s=r("2b4c")("unscopables"),i=Array.prototype;void 0==i[s]&&r("32e9")(i,s,{}),t.exports=function(t){i[s][t]=!0}},"9def":function(t,e,r){var s=r("4588"),i=Math.min;t.exports=function(t){return t>0?i(s(t),9007199254740991):0}},"9e1e":function(t,e,r){t.exports=!r("79e5")((function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a}))},a352:function(e,r){e.exports=t},a481:function(t,e,r){"use strict";var s=r("cb7c"),i=r("4bf8"),n=r("9def"),a=r("4588"),o=r("0390"),c=r("5f1b"),h=Math.max,l=Math.min,p=Math.floor,u=/\$([$&`']|\d\d?|<[^>]*>)/g,d=/\$([$&`']|\d\d?)/g,f=function(t){return void 0===t?t:String(t)};r("214f")("replace",2,(function(t,e,r,m){return[function(s,i){var n=t(this),a=void 0==s?void 0:s[e];return void 0!==a?a.call(s,n,i):r.call(String(n),s,i)},function(t,e){var i=m(r,t,this,e);if(i.done)return i.value;var p=s(t),u=String(this),d="function"===typeof e;d||(e=String(e));var g=p.global;if(g){var x=p.unicode;p.lastIndex=0}var b=[];while(1){var v=c(p,u);if(null===v)break;if(b.push(v),!g)break;var w=String(v[0]);""===w&&(p.lastIndex=o(u,n(p.lastIndex),x))}for(var P="",T=0,E=0;E=T&&(P+=u.slice(T,S)+O,T=S+A.length)}return P+u.slice(T)}];function y(t,e,s,n,a,o){var c=s+t.length,h=n.length,l=d;return void 0!==a&&(a=i(a),l=u),r.call(o,l,(function(r,i){var o;switch(i.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,s);case"'":return e.slice(c);case"<":o=a[i.slice(1,-1)];break;default:var l=+i;if(0===l)return r;if(l>h){var u=p(l/10);return 0===u?r:u<=h?void 0===n[u-1]?i.charAt(1):n[u-1]+i.charAt(1):r}o=n[l-1]}return void 0===o?"":o}))}}))},aae3:function(t,e,r){var s=r("d3f4"),i=r("2d95"),n=r("2b4c")("match");t.exports=function(t){var e;return s(t)&&(void 0!==(e=t[n])?!!e:"RegExp"==i(t))}},ac6a:function(t,e,r){for(var s=r("cadf"),i=r("0d58"),n=r("2aba"),a=r("7726"),o=r("32e9"),c=r("84f2"),h=r("2b4c"),l=h("iterator"),p=h("toStringTag"),u=c.Array,d={CSSRuleList:!0,CSSStyleDeclaration:!1,CSSValueList:!1,ClientRectList:!1,DOMRectList:!1,DOMStringList:!1,DOMTokenList:!0,DataTransferItemList:!1,FileList:!1,HTMLAllCollection:!1,HTMLCollection:!1,HTMLFormElement:!1,HTMLSelectElement:!1,MediaList:!0,MimeTypeArray:!1,NamedNodeMap:!1,NodeList:!0,PaintRequestList:!1,Plugin:!1,PluginArray:!1,SVGLengthList:!1,SVGNumberList:!1,SVGPathSegList:!1,SVGPointList:!1,SVGStringList:!1,SVGTransformList:!1,SourceBufferList:!1,StyleSheetList:!0,TextTrackCueList:!1,TextTrackList:!1,TouchList:!1},f=i(d),m=0;ml)if(o=c[l++],o!=o)return!0}else for(;h>l;l++)if((t||l in c)&&c[l]===r)return t||l||0;return!t&&-1}}},c649:function(t,e,r){"use strict";(function(t){r.d(e,"c",(function(){return h})),r.d(e,"a",(function(){return o})),r.d(e,"b",(function(){return i})),r.d(e,"d",(function(){return c}));r("a481");function s(){return"undefined"!==typeof window?window.console:t.console}var i=s();function n(t){var e=Object.create(null);return function(r){var s=e[r];return s||(e[r]=t(r))}}var a=/-(\w)/g,o=n((function(t){return t.replace(a,(function(t,e){return e?e.toUpperCase():""}))}));function c(t){null!==t.parentElement&&t.parentElement.removeChild(t)}function h(t,e,r){var s=0===r?t.children[0]:t.children[r-1].nextSibling;t.insertBefore(e,s)}}).call(this,r("c8ba"))},c69a:function(t,e,r){t.exports=!r("9e1e")&&!r("79e5")((function(){return 7!=Object.defineProperty(r("230e")("div"),"a",{get:function(){return 7}}).a}))},c8ba:function(t,e){var r;r=function(){return this}();try{r=r||new Function("return this")()}catch(s){"object"===typeof window&&(r=window)}t.exports=r},ca5a:function(t,e){var r=0,s=Math.random();t.exports=function(t){return"Symbol(".concat(void 0===t?"":t,")_",(++r+s).toString(36))}},cadf:function(t,e,r){"use strict";var s=r("9c6c"),i=r("d53b"),n=r("84f2"),a=r("6821");t.exports=r("01f9")(Array,"Array",(function(t,e){this._t=a(t),this._i=0,this._k=e}),(function(){var t=this._t,e=this._k,r=this._i++;return!t||r>=t.length?(this._t=void 0,i(1)):i(0,"keys"==e?r:"values"==e?t[r]:[r,t[r]])}),"values"),n.Arguments=n.Array,s("keys"),s("values"),s("entries")},cb7c:function(t,e,r){var s=r("d3f4");t.exports=function(t){if(!s(t))throw TypeError(t+" is not an object!");return t}},ce10:function(t,e,r){var s=r("69a8"),i=r("6821"),n=r("c366")(!1),a=r("613b")("IE_PROTO");t.exports=function(t,e){var r,o=i(t),c=0,h=[];for(r in o)r!=a&&s(o,r)&&h.push(r);while(e.length>c)s(o,r=e[c++])&&(~n(h,r)||h.push(r));return h}},d2c8:function(t,e,r){var s=r("aae3"),i=r("be13");t.exports=function(t,e,r){if(s(e))throw TypeError("String#"+r+" doesn't accept regex!");return String(i(t))}},d3f4:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},d53b:function(t,e){t.exports=function(t,e){return{value:e,done:!!t}}},d8e8:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(t+" is not a function!");return t}},e11e:function(t,e){t.exports="constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf".split(",")},f559:function(t,e,r){"use strict";var s=r("5ca1"),i=r("9def"),n=r("d2c8"),a="startsWith",o=""[a];s(s.P+s.F*r("5147")(a),"String",{startsWith:function(t){var e=n(this,t,a),r=i(Math.min(arguments.length>1?arguments[1]:void 0,e.length)),s=String(t);return o?o.call(e,s,r):e.slice(r,r+s.length)===s}})},f6fd:function(t,e){(function(t){var e="currentScript",r=t.getElementsByTagName("script");e in t||Object.defineProperty(t,e,{get:function(){try{throw new Error}catch(s){var t,e=(/.*at [^\(]*\((.*):.+:.+\)$/gi.exec(s.stack)||[!1])[1];for(t in r)if(r[t].src==e||"interactive"==r[t].readyState)return r[t];return null}}})})(document)},f751:function(t,e,r){var s=r("5ca1");s(s.S+s.F,"Object",{assign:r("7333")})},fa5b:function(t,e,r){t.exports=r("5537")("native-function-to-string",Function.toString)},fab2:function(t,e,r){var s=r("7726").document;t.exports=s&&s.documentElement},fb15:function(t,e,r){"use strict";var s;(r.r(e),"undefined"!==typeof window)&&(r("f6fd"),(s=window.document.currentScript)&&(s=s.src.match(/(.+\/)[^/]+\.js(\?.*)?$/))&&(r.p=s[1]));r("f751"),r("f559"),r("ac6a"),r("cadf"),r("456d");function i(t){if(Array.isArray(t))return t}function n(t,e){if("undefined"!==typeof Symbol&&Symbol.iterator in Object(t)){var r=[],s=!0,i=!1,n=void 0;try{for(var a,o=t[Symbol.iterator]();!(s=(a=o.next()).done);s=!0)if(r.push(a.value),e&&r.length===e)break}catch(c){i=!0,n=c}finally{try{s||null==o["return"]||o["return"]()}finally{if(i)throw n}}return r}}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,s=new Array(e);r=n?i.length:i.indexOf(t)}));return r?a.filter((function(t){return-1!==t})):a}function v(t,e){var r=this;this.$nextTick((function(){return r.$emit(t.toLowerCase(),e)}))}function w(t){var e=this;return function(r){null!==e.realList&&e["onDrag"+t](r),v.call(e,t,r)}}function P(t){return["transition-group","TransitionGroup"].includes(t)}function T(t){if(!t||1!==t.length)return!1;var e=h(t,1),r=e[0].componentOptions;return!!r&&P(r.tag)}function E(t,e,r){return t[r]||(e[r]?e[r]():void 0)}function A(t,e,r){var s=0,i=0,n=E(e,r,"header");n&&(s=n.length,t=t?[].concat(d(n),d(t)):d(n));var a=E(e,r,"footer");return a&&(i=a.length,t=t?[].concat(d(t),d(a)):d(a)),{children:t,headerOffset:s,footerOffset:i}}function S(t,e){var r=null,s=function(t,e){r=g(r,t,e)},i=Object.keys(t).filter((function(t){return"id"===t||t.startsWith("data-")})).reduce((function(e,r){return e[r]=t[r],e}),{});if(s("attrs",i),!e)return r;var n=e.on,a=e.props,o=e.attrs;return s("on",n),s("props",a),Object.assign(r.attrs,o),r}var C=["Start","Add","Remove","Update","End"],N=["Choose","Unchoose","Sort","Filter","Clone"],k=["Move"].concat(C,N).map((function(t){return"on"+t})),I=null,O={options:Object,list:{type:Array,required:!1,default:null},value:{type:Array,required:!1,default:null},noTransitionOnDrag:{type:Boolean,default:!1},clone:{type:Function,default:function(t){return t}},element:{type:String,default:"div"},tag:{type:String,default:null},move:{type:Function,default:null},componentData:{type:Object,required:!1,default:null}},D={name:"draggable",inheritAttrs:!1,props:O,data:function(){return{transitionMode:!1,noneFunctionalComponentMode:!1}},render:function(t){var e=this.$slots.default;this.transitionMode=T(e);var r=A(e,this.$slots,this.$scopedSlots),s=r.children,i=r.headerOffset,n=r.footerOffset;this.headerOffset=i,this.footerOffset=n;var a=S(this.$attrs,this.componentData);return t(this.getTag(),a,s)},created:function(){null!==this.list&&null!==this.value&&y["b"].error("Value and list props are mutually exclusive! Please set one or another."),"div"!==this.element&&y["b"].warn("Element props is deprecated please use tag props instead. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#element-props"),void 0!==this.options&&y["b"].warn("Options props is deprecated, add sortable options directly as vue.draggable item, or use v-bind. See https://github.com/SortableJS/Vue.Draggable/blob/master/documentation/migrate.md#options-props")},mounted:function(){var t=this;if(this.noneFunctionalComponentMode=this.getTag().toLowerCase()!==this.$el.nodeName.toLowerCase()&&!this.getIsFunctional(),this.noneFunctionalComponentMode&&this.transitionMode)throw new Error("Transition-group inside component is not supported. Please alter tag value or remove transition-group. Current tag value: ".concat(this.getTag()));var e={};C.forEach((function(r){e["on"+r]=w.call(t,r)})),N.forEach((function(r){e["on"+r]=v.bind(t,r)}));var r=Object.keys(this.$attrs).reduce((function(e,r){return e[Object(y["a"])(r)]=t.$attrs[r],e}),{}),s=Object.assign({},this.options,r,e,{onMove:function(e,r){return t.onDragMove(e,r)}});!("draggable"in s)&&(s.draggable=">*"),this._sortable=new m.a(this.rootContainer,s),this.computeIndexes()},beforeDestroy:function(){void 0!==this._sortable&&this._sortable.destroy()},computed:{rootContainer:function(){return this.transitionMode?this.$el.children[0]:this.$el},realList:function(){return this.list?this.list:this.value}},watch:{options:{handler:function(t){this.updateOptions(t)},deep:!0},$attrs:{handler:function(t){this.updateOptions(t)},deep:!0},realList:function(){this.computeIndexes()}},methods:{getIsFunctional:function(){var t=this._vnode.fnOptions;return t&&t.functional},getTag:function(){return this.tag||this.element},updateOptions:function(t){for(var e in t){var r=Object(y["a"])(e);-1===k.indexOf(r)&&this._sortable.option(r,t[e])}},getChildrenNodes:function(){if(this.noneFunctionalComponentMode)return this.$children[0].$slots.default;var t=this.$slots.default;return this.transitionMode?t[0].child.$slots.default:t},computeIndexes:function(){var t=this;this.$nextTick((function(){t.visibleIndexes=b(t.getChildrenNodes(),t.rootContainer.children,t.transitionMode,t.footerOffset)}))},getUnderlyingVm:function(t){var e=x(this.getChildrenNodes()||[],t);if(-1===e)return null;var r=this.realList[e];return{index:e,element:r}},getUnderlyingPotencialDraggableComponent:function(t){var e=t.__vue__;return e&&e.$options&&P(e.$options._componentTag)?e.$parent:!("realList"in e)&&1===e.$children.length&&"realList"in e.$children[0]?e.$children[0]:e},emitChanges:function(t){var e=this;this.$nextTick((function(){e.$emit("change",t)}))},alterList:function(t){if(this.list)t(this.list);else{var e=d(this.value);t(e),this.$emit("input",e)}},spliceList:function(){var t=arguments,e=function(e){return e.splice.apply(e,d(t))};this.alterList(e)},updatePosition:function(t,e){var r=function(r){return r.splice(e,0,r.splice(t,1)[0])};this.alterList(r)},getRelatedContextFromMoveEvent:function(t){var e=t.to,r=t.related,s=this.getUnderlyingPotencialDraggableComponent(e);if(!s)return{component:s};var i=s.realList,n={list:i,component:s};if(e!==r&&i&&s.getUnderlyingVm){var a=s.getUnderlyingVm(r);if(a)return Object.assign(a,n)}return n},getVmIndex:function(t){var e=this.visibleIndexes,r=e.length;return t>r-1?r:e[t]},getComponent:function(){return this.$slots.default[0].componentInstance},resetTransitionData:function(t){if(this.noTransitionOnDrag&&this.transitionMode){var e=this.getChildrenNodes();e[t].data=null;var r=this.getComponent();r.children=[],r.kept=void 0}},onDragStart:function(t){this.context=this.getUnderlyingVm(t.item),t.item._underlying_vm_=this.clone(this.context.element),I=t.item},onDragAdd:function(t){var e=t.item._underlying_vm_;if(void 0!==e){Object(y["d"])(t.item);var r=this.getVmIndex(t.newIndex);this.spliceList(r,0,e),this.computeIndexes();var s={element:e,newIndex:r};this.emitChanges({added:s})}},onDragRemove:function(t){if(Object(y["c"])(this.rootContainer,t.item,t.oldIndex),"clone"!==t.pullMode){var e=this.context.index;this.spliceList(e,1);var r={element:this.context.element,oldIndex:e};this.resetTransitionData(e),this.emitChanges({removed:r})}else Object(y["d"])(t.clone)},onDragUpdate:function(t){Object(y["d"])(t.item),Object(y["c"])(t.from,t.item,t.oldIndex);var e=this.context.index,r=this.getVmIndex(t.newIndex);this.updatePosition(e,r);var s={element:this.context.element,oldIndex:e,newIndex:r};this.emitChanges({moved:s})},updateProperty:function(t,e){t.hasOwnProperty(e)&&(t[e]+=this.headerOffset)},computeFutureIndex:function(t,e){if(!t.element)return 0;var r=d(e.to.children).filter((function(t){return"none"!==t.style["display"]})),s=r.indexOf(e.related),i=t.component.getVmIndex(s),n=-1!==r.indexOf(I);return n||!e.willInsertAfter?i:i+1},onDragMove:function(t,e){var r=this.move;if(!r||!this.realList)return!0;var s=this.getRelatedContextFromMoveEvent(t),i=this.context,n=this.computeFutureIndex(s,t);Object.assign(i,{futureIndex:n});var a=Object.assign({},t,{relatedContext:s,draggedContext:i});return r(a,e)},onDragEnd:function(){this.computeIndexes(),I=null}}};"undefined"!==typeof window&&"Vue"in window&&window.Vue.component("draggable",D);var M=D;e["default"]=M}})["default"]}))},"33f7":function(t,e,r){var s=r("c353"),i=r("273d");t.exports=function(t,e,r){var n,a;return i&&"function"==typeof(n=e.constructor)&&n!==r&&s(a=n.prototype)&&a!==r.prototype&&i(t,a),t}},3534:function(t,e,r){var s=r("c353");t.exports=function(t){if(!s(t))throw TypeError(String(t)+" is not an object");return t}},"359b":function(t,e,r){var s=r("9284");t.exports=s&&!Symbol.sham&&"symbol"==typeof Symbol.iterator},"3a4e":function(t,e){t.exports={CSSRuleList:0,CSSStyleDeclaration:0,CSSValueList:0,ClientRectList:0,DOMRectList:0,DOMStringList:0,DOMTokenList:1,DataTransferItemList:0,FileList:0,HTMLAllCollection:0,HTMLCollection:0,HTMLFormElement:0,HTMLSelectElement:0,MediaList:0,MimeTypeArray:0,NamedNodeMap:0,NodeList:1,PaintRequestList:0,Plugin:0,PluginArray:0,SVGLengthList:0,SVGNumberList:0,SVGPathSegList:0,SVGPointList:0,SVGStringList:0,SVGTransformList:0,SourceBufferList:0,StyleSheetList:0,TextTrackCueList:0,TextTrackList:0,TouchList:0}},"3c75":function(t,e,r){"use strict";var s=r("e65c"),i=r("3d76").includes,n=r("1183");s({target:"Array",proto:!0},{includes:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n("includes")},"3cd0":function(t,e,r){"use strict";var s=r("28b8");function i(t,e){return RegExp(t,e)}e.UNSUPPORTED_Y=s((function(){var t=i("a","y");return t.lastIndex=2,null!=t.exec("abcd")})),e.BROKEN_CARET=s((function(){var t=i("^r","gy");return t.lastIndex=2,null!=t.exec("str")}))},"3d76":function(t,e,r){var s=r("5d79"),i=r("54d5"),n=r("0785"),a=function(t){return function(e,r,a){var o,c=s(e),h=i(c.length),l=n(a,h);if(t&&r!=r){while(h>l)if(o=c[l++],o!=o)return!0}else for(;h>l;l++)if((t||l in c)&&c[l]===r)return t||l||0;return!t&&-1}};t.exports={includes:a(!0),indexOf:a(!1)}},"3f9f":function(t,e,r){var s=r("7746"),i=r("6513"),n=r("3534"),a=r("1c20");t.exports=s?Object.defineProperties:function(t,e){n(t);var r,s=a(e),o=s.length,c=0;while(o>c)i.f(t,r=s[c++],e[r]);return t}},4360:function(t,e,r){var s,i,n=r("79fa"),a=r("2427"),o=n.process,c=o&&o.versions,h=c&&c.v8;h?(s=h.split("."),i=s[0]+s[1]):a&&(s=a.match(/Edge\/(\d+)/),(!s||s[1]>=74)&&(s=a.match(/Chrome\/(\d+)/),s&&(i=s[1]))),t.exports=i&&+i},"43d9":function(t,e,r){"use strict";var s=r("d844"),i=r("faf0"),n=r("4a67"),a=r("c9ba6"),o=r("2ed0");function c(t){var e=new n(t),r=i(n.prototype.request,e);return s.extend(r,n.prototype,e),s.extend(r,e),r}var h=c(o);h.Axios=n,h.create=function(t){return c(a(h.defaults,t))},h.Cancel=r("068e"),h.CancelToken=r("155b"),h.isCancel=r("11f4"),h.all=function(t){return Promise.all(t)},h.spread=r("53f3"),t.exports=h,t.exports.default=h},"44c4":function(t,e,r){var s=r("77e4"),i=r("b9cf"),n=function(t){return function(e,r){var n,a,o=String(i(e)),c=s(r),h=o.length;return c<0||c>=h?t?"":void 0:(n=o.charCodeAt(c),n<55296||n>56319||c+1===h||(a=o.charCodeAt(c+1))<56320||a>57343?t?o.charAt(c):n:t?o.slice(c,c+2):a-56320+(n-55296<<10)+65536)}};t.exports={codeAt:n(!1),charAt:n(!0)}},"46cd":function(t,e,r){var s=r("6513").f,i=r("66e1"),n=r("f36e"),a=n("toStringTag");t.exports=function(t,e,r){t&&!i(t=r?t:t.prototype,a)&&s(t,a,{configurable:!0,value:e})}},47580:function(t,e){"function"===typeof Object.create?t.exports=function(t,e){t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}})}:t.exports=function(t,e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}},4787:function(t,e){var r=0,s=Math.random();t.exports=function(t){return"Symbol("+String(void 0===t?"":t)+")_"+(++r+s).toString(36)}},"482b":function(t,e,r){"use strict";var s,i,n,a=r("28b8"),o=r("4fe2"),c=r("9b6f"),h=r("66e1"),l=r("f36e"),p=r("49b2"),u=l("iterator"),d=!1,f=function(){return this};[].keys&&(n=[].keys(),"next"in n?(i=o(o(n)),i!==Object.prototype&&(s=i)):d=!0);var m=void 0==s||a((function(){var t={};return s[u].call(t)!==t}));m&&(s={}),p&&!m||h(s,u)||c(s,u,f),t.exports={IteratorPrototype:s,BUGGY_SAFARI_ITERATORS:d}},4882:function(t,e,r){"use strict";var s=r("e65c"),i=r("7fdb"),n=r("5d79"),a=r("642e"),o=[].join,c=i!=Object,h=a("join",",");s({target:"Array",proto:!0,forced:c||!h},{join:function(t){return o.call(n(this),void 0===t?",":t)}})},"493f":function(t,e,r){var s=r("acaa");t.exports=function(t,e,r){if(s(t),void 0===e)return t;switch(r){case 0:return function(){return t.call(e)};case 1:return function(r){return t.call(e,r)};case 2:return function(r,s){return t.call(e,r,s)};case 3:return function(r,s,i){return t.call(e,r,s,i)}}return function(){return t.apply(e,arguments)}}},"49a5":function(t,e,r){(function(t){var s=Object.getOwnPropertyDescriptors||function(t){for(var e=Object.keys(t),r={},s=0;s=n)return t;switch(t){case"%s":return String(s[r++]);case"%d":return Number(s[r++]);case"%j":try{return JSON.stringify(s[r++])}catch(e){return"[Circular]"}default:return t}})),c=s[r];r=3&&(s.depth=arguments[2]),arguments.length>=4&&(s.colors=arguments[3]),x(r)?s.showHidden=r:r&&e._extend(s,r),E(s.showHidden)&&(s.showHidden=!1),E(s.depth)&&(s.depth=2),E(s.colors)&&(s.colors=!1),E(s.customInspect)&&(s.customInspect=!0),s.colors&&(s.stylize=c),p(s,t,s.depth)}function c(t,e){var r=o.styles[e];return r?"["+o.colors[r][0]+"m"+t+"["+o.colors[r][1]+"m":t}function h(t,e){return t}function l(t){var e={};return t.forEach((function(t,r){e[t]=!0})),e}function p(t,r,s){if(t.customInspect&&r&&k(r.inspect)&&r.inspect!==e.inspect&&(!r.constructor||r.constructor.prototype!==r)){var i=r.inspect(s,t);return P(i)||(i=p(t,i,s)),i}var n=u(t,r);if(n)return n;var a=Object.keys(r),o=l(a);if(t.showHidden&&(a=Object.getOwnPropertyNames(r)),N(r)&&(a.indexOf("message")>=0||a.indexOf("description")>=0))return d(r);if(0===a.length){if(k(r)){var c=r.name?": "+r.name:"";return t.stylize("[Function"+c+"]","special")}if(A(r))return t.stylize(RegExp.prototype.toString.call(r),"regexp");if(C(r))return t.stylize(Date.prototype.toString.call(r),"date");if(N(r))return d(r)}var h,x="",b=!1,v=["{","}"];if(g(r)&&(b=!0,v=["[","]"]),k(r)){var w=r.name?": "+r.name:"";x=" [Function"+w+"]"}return A(r)&&(x=" "+RegExp.prototype.toString.call(r)),C(r)&&(x=" "+Date.prototype.toUTCString.call(r)),N(r)&&(x=" "+d(r)),0!==a.length||b&&0!=r.length?s<0?A(r)?t.stylize(RegExp.prototype.toString.call(r),"regexp"):t.stylize("[Object]","special"):(t.seen.push(r),h=b?f(t,r,s,o,a):a.map((function(e){return m(t,r,s,o,e,b)})),t.seen.pop(),y(h,x,v)):v[0]+x+v[1]}function u(t,e){if(E(e))return t.stylize("undefined","undefined");if(P(e)){var r="'"+JSON.stringify(e).replace(/^"|"$/g,"").replace(/'/g,"\\'").replace(/\\"/g,'"')+"'";return t.stylize(r,"string")}return w(e)?t.stylize(""+e,"number"):x(e)?t.stylize(""+e,"boolean"):b(e)?t.stylize("null","null"):void 0}function d(t){return"["+Error.prototype.toString.call(t)+"]"}function f(t,e,r,s,i){for(var n=[],a=0,o=e.length;a-1&&(o=n?o.split("\n").map((function(t){return" "+t})).join("\n").substr(2):"\n"+o.split("\n").map((function(t){return" "+t})).join("\n"))):o=t.stylize("[Circular]","special")),E(a)){if(n&&i.match(/^\d+$/))return o;a=JSON.stringify(""+i),a.match(/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?(a=a.substr(1,a.length-2),a=t.stylize(a,"name")):(a=a.replace(/'/g,"\\'").replace(/\\"/g,'"').replace(/(^"|"$)/g,"'"),a=t.stylize(a,"string"))}return a+": "+o}function y(t,e,r){var s=t.reduce((function(t,e){return e.indexOf("\n")>=0&&0,t+e.replace(/\u001b\[\d\d?m/g,"").length+1}),0);return s>60?r[0]+(""===e?"":e+"\n ")+" "+t.join(",\n ")+" "+r[1]:r[0]+e+" "+t.join(", ")+" "+r[1]}function g(t){return Array.isArray(t)}function x(t){return"boolean"===typeof t}function b(t){return null===t}function v(t){return null==t}function w(t){return"number"===typeof t}function P(t){return"string"===typeof t}function T(t){return"symbol"===typeof t}function E(t){return void 0===t}function A(t){return S(t)&&"[object RegExp]"===O(t)}function S(t){return"object"===typeof t&&null!==t}function C(t){return S(t)&&"[object Date]"===O(t)}function N(t){return S(t)&&("[object Error]"===O(t)||t instanceof Error)}function k(t){return"function"===typeof t}function I(t){return null===t||"boolean"===typeof t||"number"===typeof t||"string"===typeof t||"symbol"===typeof t||"undefined"===typeof t}function O(t){return Object.prototype.toString.call(t)}function D(t){return t<10?"0"+t.toString(10):t.toString(10)}e.debuglog=function(r){if(E(n)&&(n=Object({NODE_ENV:"production",BASE_URL:"/form-generator/"}).NODE_DEBUG||""),r=r.toUpperCase(),!a[r])if(new RegExp("\\b"+r+"\\b","i").test(n)){var s=t.pid;a[r]=function(){var t=e.format.apply(e,arguments);console.error("%s %d: %s",r,s,t)}}else a[r]=function(){};return a[r]},e.inspect=o,o.colors={bold:[1,22],italic:[3,23],underline:[4,24],inverse:[7,27],white:[37,39],grey:[90,39],black:[30,39],blue:[34,39],cyan:[36,39],green:[32,39],magenta:[35,39],red:[31,39],yellow:[33,39]},o.styles={special:"cyan",number:"yellow",boolean:"yellow",undefined:"grey",null:"bold",string:"green",date:"magenta",regexp:"red"},e.isArray=g,e.isBoolean=x,e.isNull=b,e.isNullOrUndefined=v,e.isNumber=w,e.isString=P,e.isSymbol=T,e.isUndefined=E,e.isRegExp=A,e.isObject=S,e.isDate=C,e.isError=N,e.isFunction=k,e.isPrimitive=I,e.isBuffer=r("dc62");var M=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];function L(){var t=new Date,e=[D(t.getHours()),D(t.getMinutes()),D(t.getSeconds())].join(":");return[t.getDate(),M[t.getMonth()],e].join(" ")}function _(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.log=function(){console.log("%s - %s",L(),e.format.apply(e,arguments))},e.inherits=r("47580"),e._extend=function(t,e){if(!e||!S(e))return t;var r=Object.keys(e),s=r.length;while(s--)t[r[s]]=e[r[s]];return t};var R="undefined"!==typeof Symbol?Symbol("util.promisify.custom"):void 0;function j(t,e){if(!t){var r=new Error("Promise was rejected with a falsy value");r.reason=t,t=r}return e(t)}function F(e){if("function"!==typeof e)throw new TypeError('The "original" argument must be of type Function');function r(){for(var r=[],s=0;sp)r=i(s,e=h[p++]),void 0!==r&&c(l,e,r);return l}})},"4a67":function(t,e,r){"use strict";var s=r("d844"),i=r("050d"),n=r("54b5"),a=r("c70f"),o=r("c9ba6");function c(t){this.defaults=t,this.interceptors={request:new n,response:new n}}c.prototype.request=function(t){"string"===typeof t?(t=arguments[1]||{},t.url=arguments[0]):t=t||{},t=o(this.defaults,t),t.method?t.method=t.method.toLowerCase():this.defaults.method?t.method=this.defaults.method.toLowerCase():t.method="get";var e=[a,void 0],r=Promise.resolve(t);this.interceptors.request.forEach((function(t){e.unshift(t.fulfilled,t.rejected)})),this.interceptors.response.forEach((function(t){e.push(t.fulfilled,t.rejected)}));while(e.length)r=r.then(e.shift(),e.shift());return r},c.prototype.getUri=function(t){return t=o(this.defaults,t),i(t.url,t.params,t.paramsSerializer).replace(/^\?/,"")},s.forEach(["delete","get","head","options"],(function(t){c.prototype[t]=function(e,r){return this.request(s.merge(r||{},{method:t,url:e}))}})),s.forEach(["post","put","patch"],(function(t){c.prototype[t]=function(e,r,i){return this.request(s.merge(i||{},{method:t,url:e,data:r}))}})),t.exports=c},"4c30":function(t,e,r){var s=r("79fa"),i=r("9b6f"),n=r("66e1"),a=r("2cde"),o=r("7abd"),c=r("9f8b"),h=c.get,l=c.enforce,p=String(String).split("String");(t.exports=function(t,e,r,o){var c,h=!!o&&!!o.unsafe,u=!!o&&!!o.enumerable,d=!!o&&!!o.noTargetGet;"function"==typeof r&&("string"!=typeof e||n(r,"name")||i(r,"name",e),c=l(r),c.source||(c.source=p.join("string"==typeof e?e:""))),t!==s?(h?!d&&t[e]&&(u=!0):delete t[e],u?t[e]=r:i(t,e,r)):u?t[e]=r:a(e,r)})(Function.prototype,"toString",(function(){return"function"==typeof this&&h(this).source||o(this)}))},"4d44":function(t,e,r){"use strict";r("aa0d");var s=r("4c30"),i=r("28b8"),n=r("f36e"),a=r("f6f8"),o=r("9b6f"),c=n("species"),h=!i((function(){var t=/./;return t.exec=function(){var t=[];return t.groups={a:"7"},t},"7"!=="".replace(t,"$")})),l=function(){return"$0"==="a".replace(/./,"$0")}(),p=n("replace"),u=function(){return!!/./[p]&&""===/./[p]("a","$0")}(),d=!i((function(){var t=/(?:)/,e=t.exec;t.exec=function(){return e.apply(this,arguments)};var r="ab".split(t);return 2!==r.length||"a"!==r[0]||"b"!==r[1]}));t.exports=function(t,e,r,p){var f=n(t),m=!i((function(){var e={};return e[f]=function(){return 7},7!=""[t](e)})),y=m&&!i((function(){var e=!1,r=/a/;return"split"===t&&(r={},r.constructor={},r.constructor[c]=function(){return r},r.flags="",r[f]=/./[f]),r.exec=function(){return e=!0,null},r[f](""),!e}));if(!m||!y||"replace"===t&&(!h||!l||u)||"split"===t&&!d){var g=/./[f],x=r(f,""[t],(function(t,e,r,s,i){return e.exec===a?m&&!i?{done:!0,value:g.call(e,r,s)}:{done:!0,value:t.call(r,e,s)}:{done:!1}}),{REPLACE_KEEPS_$0:l,REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE:u}),b=x[0],v=x[1];s(String.prototype,t,b),s(RegExp.prototype,f,2==e?function(t,e){return v.call(t,this,e)}:function(t){return v.call(t,this)})}p&&o(RegExp.prototype[f],"sham",!0)}},"4f37":function(t,e,r){"use strict";var s=r("ca19"),i=r("c4e8");t.exports=function(t,e){return t&&!s(e)?i(t,e):e}},"4fe2":function(t,e,r){var s=r("66e1"),i=r("e2c5"),n=r("f0f9"),a=r("fc0b"),o=n("IE_PROTO"),c=Object.prototype;t.exports=a?Object.getPrototypeOf:function(t){return t=i(t),s(t,o)?t[o]:"function"==typeof t.constructor&&t instanceof t.constructor?t.constructor.prototype:t instanceof Object?c:null}},"51f1":function(t,e,r){"use strict";var s=r("e65c"),i=r("c353"),n=r("9651"),a=r("0785"),o=r("54d5"),c=r("5d79"),h=r("e541"),l=r("f36e"),p=r("d196"),u=p("slice"),d=l("species"),f=[].slice,m=Math.max;s({target:"Array",proto:!0,forced:!u},{slice:function(t,e){var r,s,l,p=c(this),u=o(p.length),y=a(t,u),g=a(void 0===e?u:e,u);if(n(p)&&(r=p.constructor,"function"!=typeof r||r!==Array&&!n(r.prototype)?i(r)&&(r=r[d],null===r&&(r=void 0)):r=void 0,r===Array||void 0===r))return f.call(p,y,g);for(s=new(void 0===r?Array:r)(m(g-y,0)),l=0;y0?i(s(t),9007199254740991):0}},5779:function(t,e,r){var s=r("28b8"),i=/#|\.prototype\./,n=function(t,e){var r=o[a(t)];return r==h||r!=c&&("function"==typeof e?s(e):!!e)},a=n.normalize=function(t){return String(t).replace(i,".").toLowerCase()},o=n.data={},c=n.NATIVE="N",h=n.POLYFILL="P";t.exports=n},"57c1":function(t,e,r){"use strict";var s={}.propertyIsEnumerable,i=Object.getOwnPropertyDescriptor,n=i&&!s.call({1:2},1);e.f=n?function(t){var e=i(this,t);return!!e&&e.enumerable}:s},"58af":function(t,e,r){var s=r("7746"),i=r("79fa"),n=r("5779"),a=r("33f7"),o=r("6513").f,c=r("061c").f,h=r("fd34"),l=r("dd5c"),p=r("3cd0"),u=r("4c30"),d=r("28b8"),f=r("9f8b").set,m=r("fb64"),y=r("f36e"),g=y("match"),x=i.RegExp,b=x.prototype,v=/a/g,w=/a/g,P=new x(v)!==v,T=p.UNSUPPORTED_Y,E=s&&n("RegExp",!P||T||d((function(){return w[g]=!1,x(v)!=v||x(w)==w||"/a/i"!=x(v,"i")})));if(E){var A=function(t,e){var r,s=this instanceof A,i=h(t),n=void 0===e;if(!s&&i&&t.constructor===A&&n)return t;P?i&&!n&&(t=t.source):t instanceof A&&(n&&(e=l.call(t)),t=t.source),T&&(r=!!e&&e.indexOf("y")>-1,r&&(e=e.replace(/y/g,"")));var o=a(P?new x(t,e):x(t,e),s?this:b,A);return T&&r&&f(o,{sticky:r}),o},S=function(t){t in A||o(A,t,{configurable:!0,get:function(){return x[t]},set:function(e){x[t]=e}})},C=c(x),N=0;while(C.length>N)S(C[N++]);b.constructor=A,A.prototype=b,u(i,"RegExp",A)}m("RegExp")},"58c8":function(t,e,r){"use strict";function s(t,e){(null==e||e>t.length)&&(e=t.length);for(var r=0,s=new Array(e);r=0;s--){var i=t[s];"."===i?t.splice(s,1):".."===i?(t.splice(s,1),r++):r&&(t.splice(s,1),r--)}if(e)for(;r--;r)t.unshift("..");return t}function s(t){"string"!==typeof t&&(t+="");var e,r=0,s=-1,i=!0;for(e=t.length-1;e>=0;--e)if(47===t.charCodeAt(e)){if(!i){r=e+1;break}}else-1===s&&(i=!1,s=e+1);return-1===s?"":t.slice(r,s)}function i(t,e){if(t.filter)return t.filter(e);for(var r=[],s=0;s=-1&&!s;n--){var a=n>=0?arguments[n]:t.cwd();if("string"!==typeof a)throw new TypeError("Arguments to path.resolve must be strings");a&&(e=a+"/"+e,s="/"===a.charAt(0))}return e=r(i(e.split("/"),(function(t){return!!t})),!s).join("/"),(s?"/":"")+e||"."},e.normalize=function(t){var s=e.isAbsolute(t),a="/"===n(t,-1);return t=r(i(t.split("/"),(function(t){return!!t})),!s).join("/"),t||s||(t="."),t&&a&&(t+="/"),(s?"/":"")+t},e.isAbsolute=function(t){return"/"===t.charAt(0)},e.join=function(){var t=Array.prototype.slice.call(arguments,0);return e.normalize(i(t,(function(t,e){if("string"!==typeof t)throw new TypeError("Arguments to path.join must be strings");return t})).join("/"))},e.relative=function(t,r){function s(t){for(var e=0;e=0;r--)if(""!==t[r])break;return e>r?[]:t.slice(e,r-e+1)}t=e.resolve(t).substr(1),r=e.resolve(r).substr(1);for(var i=s(t.split("/")),n=s(r.split("/")),a=Math.min(i.length,n.length),o=a,c=0;c=1;--n)if(e=t.charCodeAt(n),47===e){if(!i){s=n;break}}else i=!1;return-1===s?r?"/":".":r&&1===s?"/":t.slice(0,s)},e.basename=function(t,e){var r=s(t);return e&&r.substr(-1*e.length)===e&&(r=r.substr(0,r.length-e.length)),r},e.extname=function(t){"string"!==typeof t&&(t+="");for(var e=-1,r=0,s=-1,i=!0,n=0,a=t.length-1;a>=0;--a){var o=t.charCodeAt(a);if(47!==o)-1===s&&(i=!1,s=a+1),46===o?-1===e?e=a:1!==n&&(n=1):-1!==e&&(n=-1);else if(!i){r=a+1;break}}return-1===e||-1===s||0===n||1===n&&e===s-1&&e===r+1?"":t.slice(e,s)};var n="b"==="ab".substr(-1)?function(t,e,r){return t.substr(e,r)}:function(t,e,r){return e<0&&(e=t.length+e),t.substr(e,r)}}).call(this,r("eef6"))},"637b":function(t,e,r){var s,i,n,a=r("79fa"),o=r("28b8"),c=r("493f"),h=r("a8c2"),l=r("6f6e"),p=r("de3f"),u=r("9fca"),d=a.location,f=a.setImmediate,m=a.clearImmediate,y=a.process,g=a.MessageChannel,x=a.Dispatch,b=0,v={},w="onreadystatechange",P=function(t){if(v.hasOwnProperty(t)){var e=v[t];delete v[t],e()}},T=function(t){return function(){P(t)}},E=function(t){P(t.data)},A=function(t){a.postMessage(t+"",d.protocol+"//"+d.host)};f&&m||(f=function(t){var e=[],r=1;while(arguments.length>r)e.push(arguments[r++]);return v[++b]=function(){("function"==typeof t?t:Function(t)).apply(void 0,e)},s(b),b},m=function(t){delete v[t]},u?s=function(t){y.nextTick(T(t))}:x&&x.now?s=function(t){x.now(T(t))}:g&&!p?(i=new g,n=i.port2,i.port1.onmessage=E,s=c(n.postMessage,n,1)):a.addEventListener&&"function"==typeof postMessage&&!a.importScripts&&d&&"file:"!==d.protocol&&!o(A)?(s=A,a.addEventListener("message",E,!1)):s=w in l("script")?function(t){h.appendChild(l("script"))[w]=function(){h.removeChild(this),P(t)}}:function(t){setTimeout(T(t),0)}),t.exports={set:f,clear:m}},6390:function(t,e,r){"use strict";var s=r("e65c"),i=r("28b8"),n=r("9651"),a=r("c353"),o=r("e2c5"),c=r("54d5"),h=r("e541"),l=r("74e5"),p=r("d196"),u=r("f36e"),d=r("4360"),f=u("isConcatSpreadable"),m=9007199254740991,y="Maximum allowed index exceeded",g=d>=51||!i((function(){var t=[];return t[f]=!1,t.concat()[0]!==t})),x=p("concat"),b=function(t){if(!a(t))return!1;var e=t[f];return void 0!==e?!!e:n(t)},v=!g||!x;s({target:"Array",proto:!0,forced:v},{concat:function(t){var e,r,s,i,n,a=o(this),p=l(a,0),u=0;for(e=-1,s=arguments.length;em)throw TypeError(y);for(r=0;r=m)throw TypeError(y);h(p,u++,n)}return p.length=u,p}})},"642e":function(t,e,r){"use strict";var s=r("28b8");t.exports=function(t,e){var r=[][t];return!!r&&s((function(){r.call(null,e||function(){throw 1},1)}))}},6513:function(t,e,r){var s=r("7746"),i=r("7d98"),n=r("3534"),a=r("e90e"),o=Object.defineProperty;e.f=s?o:function(t,e,r){if(n(t),e=a(e,!0),n(r),i)try{return o(t,e,r)}catch(s){}if("get"in r||"set"in r)throw TypeError("Accessors not supported");return"value"in r&&(t[e]=r.value),t}},"66e1":function(t,e){var r={}.hasOwnProperty;t.exports=function(t,e){return r.call(t,e)}},"6a02":function(t,e,r){var s,i=r("3534"),n=r("3f9f"),a=r("9b90"),o=r("a509"),c=r("a8c2"),h=r("6f6e"),l=r("f0f9"),p=">",u="<",d="prototype",f="script",m=l("IE_PROTO"),y=function(){},g=function(t){return u+f+p+t+u+"/"+f+p},x=function(t){t.write(g("")),t.close();var e=t.parentWindow.Object;return t=null,e},b=function(){var t,e=h("iframe"),r="java"+f+":";return e.style.display="none",c.appendChild(e),e.src=String(r),t=e.contentWindow.document,t.open(),t.write(g("document.F=Object")),t.close(),t.F},v=function(){try{s=document.domain&&new ActiveXObject("htmlfile")}catch(e){}v=s?x(s):b();var t=a.length;while(t--)delete v[d][a[t]];return v()};o[m]=!0,t.exports=Object.create||function(t,e){var r;return null!==t?(y[d]=i(t),r=new y,y[d]=null,r[m]=t):r=v(),void 0===e?r:n(r,e)}},"6abc":function(t,e,r){"use strict";r.d(e,"a",(function(){return n}));r("12b5"),r("e31e"),r("b0da"),r("ec1e"),r("9719"),r("4a224");var s=r("7dd6");function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(t);e&&(s=s.filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.push.apply(r,s)}return r}function n(t){for(var e=1;e0&&void 0!==arguments[0]?arguments[0]:{};this.action=t.action,this.container=t.container,this.emitter=t.emitter,this.target=t.target,this.text=t.text,this.trigger=t.trigger,this.selectedText=""}},{key:"initSelection",value:function(){this.text?this.selectFake():this.target&&this.selectTarget()}},{key:"createFakeElement",value:function(){var t="rtl"===document.documentElement.getAttribute("dir");this.fakeElem=document.createElement("textarea"),this.fakeElem.style.fontSize="12pt",this.fakeElem.style.border="0",this.fakeElem.style.padding="0",this.fakeElem.style.margin="0",this.fakeElem.style.position="absolute",this.fakeElem.style[t?"right":"left"]="-9999px";var e=window.pageYOffset||document.documentElement.scrollTop;return this.fakeElem.style.top="".concat(e,"px"),this.fakeElem.setAttribute("readonly",""),this.fakeElem.value=this.text,this.fakeElem}},{key:"selectFake",value:function(){var t=this,e=this.createFakeElement();this.fakeHandlerCallback=function(){return t.removeFake()},this.fakeHandler=this.container.addEventListener("click",this.fakeHandlerCallback)||!0,this.container.appendChild(e),this.selectedText=c()(e),this.copyText(),this.removeFake()}},{key:"removeFake",value:function(){this.fakeHandler&&(this.container.removeEventListener("click",this.fakeHandlerCallback),this.fakeHandler=null,this.fakeHandlerCallback=null),this.fakeElem&&(this.container.removeChild(this.fakeElem),this.fakeElem=null)}},{key:"selectTarget",value:function(){this.selectedText=c()(this.target),this.copyText()}},{key:"copyText",value:function(){var t;try{t=document.execCommand(this.action)}catch(e){t=!1}this.handleResult(t)}},{key:"handleResult",value:function(t){this.emitter.emit(t?"success":"error",{action:this.action,text:this.selectedText,trigger:this.trigger,clearSelection:this.clearSelection.bind(this)})}},{key:"clearSelection",value:function(){this.trigger&&this.trigger.focus(),document.activeElement.blur(),window.getSelection().removeAllRanges()}},{key:"destroy",value:function(){this.removeFake()}},{key:"action",set:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"copy";if(this._action=t,"copy"!==this._action&&"cut"!==this._action)throw new Error('Invalid "action" value, use either "copy" or "cut"')},get:function(){return this._action}},{key:"target",set:function(t){if(void 0!==t){if(!t||"object"!==h(t)||1!==t.nodeType)throw new Error('Invalid "target" value, use a valid Element');if("copy"===this.action&&t.hasAttribute("disabled"))throw new Error('Invalid "target" attribute. Please use "readonly" instead of "disabled" attribute');if("cut"===this.action&&(t.hasAttribute("readonly")||t.hasAttribute("disabled")))throw new Error('Invalid "target" attribute. You can\'t cut text from elements with "readonly" or "disabled" attributes');this._target=t}},get:function(){return this._target}}]),t}(),f=d;function m(t){return m="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},m(t)}function y(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function g(t,e){for(var r=0;r0&&void 0!==arguments[0]?arguments[0]:{};this.action="function"===typeof t.action?t.action:this.defaultAction,this.target="function"===typeof t.target?t.target:this.defaultTarget,this.text="function"===typeof t.text?t.text:this.defaultText,this.container="object"===m(t.container)?t.container:document.body}},{key:"listenClick",value:function(t){var e=this;this.listener=a()(t,"click",(function(t){return e.onClick(t)}))}},{key:"onClick",value:function(t){var e=t.delegateTarget||t.currentTarget;this.clipboardAction&&(this.clipboardAction=null),this.clipboardAction=new f({action:this.action(e),target:this.target(e),text:this.text(e),container:this.container,trigger:e,emitter:this})}},{key:"defaultAction",value:function(t){return S("action",t)}},{key:"defaultTarget",value:function(t){var e=S("target",t);if(e)return document.querySelector(e)}},{key:"defaultText",value:function(t){return S("text",t)}},{key:"destroy",value:function(){this.listener.destroy(),this.clipboardAction&&(this.clipboardAction.destroy(),this.clipboardAction=null)}}],[{key:"isSupported",value:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:["copy","cut"],e="string"===typeof t?[t]:t,r=!!document.queryCommandSupported;return e.forEach((function(t){r=r&&!!document.queryCommandSupported(t)})),r}}]),r}(i()),N=C},828:function(t){var e=9;if("undefined"!==typeof Element&&!Element.prototype.matches){var r=Element.prototype;r.matches=r.matchesSelector||r.mozMatchesSelector||r.msMatchesSelector||r.oMatchesSelector||r.webkitMatchesSelector}function s(t,r){while(t&&t.nodeType!==e){if("function"===typeof t.matches&&t.matches(r))return t;t=t.parentNode}}t.exports=s},438:function(t,e,r){var s=r(828);function i(t,e,r,s,i){var n=a.apply(this,arguments);return t.addEventListener(r,n,i),{destroy:function(){t.removeEventListener(r,n,i)}}}function n(t,e,r,s,n){return"function"===typeof t.addEventListener?i.apply(null,arguments):"function"===typeof r?i.bind(null,document).apply(null,arguments):("string"===typeof t&&(t=document.querySelectorAll(t)),Array.prototype.map.call(t,(function(t){return i(t,e,r,s,n)})))}function a(t,e,r,i){return function(r){r.delegateTarget=s(r.target,e),r.delegateTarget&&i.call(t,r)}}t.exports=n},879:function(t,e){e.node=function(t){return void 0!==t&&t instanceof HTMLElement&&1===t.nodeType},e.nodeList=function(t){var r=Object.prototype.toString.call(t);return void 0!==t&&("[object NodeList]"===r||"[object HTMLCollection]"===r)&&"length"in t&&(0===t.length||e.node(t[0]))},e.string=function(t){return"string"===typeof t||t instanceof String},e.fn=function(t){var e=Object.prototype.toString.call(t);return"[object Function]"===e}},370:function(t,e,r){var s=r(879),i=r(438);function n(t,e,r){if(!t&&!e&&!r)throw new Error("Missing required arguments");if(!s.string(e))throw new TypeError("Second argument must be a String");if(!s.fn(r))throw new TypeError("Third argument must be a Function");if(s.node(t))return a(t,e,r);if(s.nodeList(t))return o(t,e,r);if(s.string(t))return c(t,e,r);throw new TypeError("First argument must be a String, HTMLElement, HTMLCollection, or NodeList")}function a(t,e,r){return t.addEventListener(e,r),{destroy:function(){t.removeEventListener(e,r)}}}function o(t,e,r){return Array.prototype.forEach.call(t,(function(t){t.addEventListener(e,r)})),{destroy:function(){Array.prototype.forEach.call(t,(function(t){t.removeEventListener(e,r)}))}}}function c(t,e,r){return i(document.body,t,e,r)}t.exports=n},817:function(t){function e(t){var e;if("SELECT"===t.nodeName)t.focus(),e=t.value;else if("INPUT"===t.nodeName||"TEXTAREA"===t.nodeName){var r=t.hasAttribute("readonly");r||t.setAttribute("readonly",""),t.select(),t.setSelectionRange(0,t.value.length),r||t.removeAttribute("readonly"),e=t.value}else{t.hasAttribute("contenteditable")&&t.focus();var s=window.getSelection(),i=document.createRange();i.selectNodeContents(t),s.removeAllRanges(),s.addRange(i),e=s.toString()}return e}t.exports=e},279:function(t){function e(){}e.prototype={on:function(t,e,r){var s=this.e||(this.e={});return(s[t]||(s[t]=[])).push({fn:e,ctx:r}),this},once:function(t,e,r){var s=this;function i(){s.off(t,i),e.apply(r,arguments)}return i._=e,this.on(t,i,r)},emit:function(t){var e=[].slice.call(arguments,1),r=((this.e||(this.e={}))[t]||[]).slice(),s=0,i=r.length;for(s;s",{beforeExpr:s}),template:new h("template"),ellipsis:new h("...",{beforeExpr:s}),backQuote:new h("`",{startsExpr:i}),dollarBraceL:new h("${",{beforeExpr:s,startsExpr:i}),at:new h("@"),hash:new h("#",{startsExpr:i}),interpreterDirective:new h("#!..."),eq:new h("=",{beforeExpr:s,isAssign:a}),assign:new h("_=",{beforeExpr:s,isAssign:a}),incDec:new h("++/--",{prefix:o,postfix:c,startsExpr:i}),bang:new h("!",{beforeExpr:s,prefix:o,startsExpr:i}),tilde:new h("~",{beforeExpr:s,prefix:o,startsExpr:i}),pipeline:u("|>",0),nullishCoalescing:u("??",1),logicalOR:u("||",1),logicalAND:u("&&",2),bitwiseOR:u("|",3),bitwiseXOR:u("^",4),bitwiseAND:u("&",5),equality:u("==/!=/===/!==",6),relational:u("/<=/>=",7),bitShift:u("<>/>>>",8),plusMin:new h("+/-",{beforeExpr:s,binop:9,prefix:o,startsExpr:i}),modulo:new h("%",{beforeExpr:s,binop:10,startsExpr:i}),star:new h("*",{binop:10}),slash:u("/",10),exponent:new h("**",{beforeExpr:s,binop:11,rightAssociative:!0}),_break:p("break"),_case:p("case",{beforeExpr:s}),_catch:p("catch"),_continue:p("continue"),_debugger:p("debugger"),_default:p("default",{beforeExpr:s}),_do:p("do",{isLoop:n,beforeExpr:s}),_else:p("else",{beforeExpr:s}),_finally:p("finally"),_for:p("for",{isLoop:n}),_function:p("function",{startsExpr:i}),_if:p("if"),_return:p("return",{beforeExpr:s}),_switch:p("switch"),_throw:p("throw",{beforeExpr:s,prefix:o,startsExpr:i}),_try:p("try"),_var:p("var"),_const:p("const"),_while:p("while",{isLoop:n}),_with:p("with"),_new:p("new",{beforeExpr:s,startsExpr:i}),_this:p("this",{startsExpr:i}),_super:p("super",{startsExpr:i}),_class:p("class",{startsExpr:i}),_extends:p("extends",{beforeExpr:s}),_export:p("export"),_import:p("import",{startsExpr:i}),_null:p("null",{startsExpr:i}),_true:p("true",{startsExpr:i}),_false:p("false",{startsExpr:i}),_in:p("in",{beforeExpr:s,binop:7}),_instanceof:p("instanceof",{beforeExpr:s,binop:7}),_typeof:p("typeof",{beforeExpr:s,prefix:o,startsExpr:i}),_void:p("void",{beforeExpr:s,prefix:o,startsExpr:i}),_delete:p("delete",{beforeExpr:s,prefix:o,startsExpr:i})},f=/\r\n?|[\n\u2028\u2029]/,m=new RegExp(f.source,"g");function y(t){switch(t){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}const g=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g;function x(t){switch(t){case 9:case 11:case 12:case 32:case 160:case 5760:case 8192:case 8193:case 8194:case 8195:case 8196:case 8197:case 8198:case 8199:case 8200:case 8201:case 8202:case 8239:case 8287:case 12288:case 65279:return!0;default:return!1}}class b{constructor(t,e){this.line=void 0,this.column=void 0,this.line=t,this.column=e}}class v{constructor(t,e){this.start=void 0,this.end=void 0,this.filename=void 0,this.identifierName=void 0,this.start=t,this.end=e}}function w(t,e){let r,s=1,i=0;m.lastIndex=0;while((r=m.exec(t))&&r.index0)s=e[--i];if(null===s)return;for(let a=0;a0?s.trailingComments=n:void 0!==s.trailingComments&&(s.trailingComments=[])}processComment(t){if("Program"===t.type&&t.body.length>0)return;const e=this.state.commentStack;let r,s,i,n,a;if(this.state.trailingComments.length>0)this.state.trailingComments[0].start>=t.end?(i=this.state.trailingComments,this.state.trailingComments=[]):this.state.trailingComments.length=0;else if(e.length>0){const r=T(e);r.trailingComments&&r.trailingComments[0].start>=t.end&&(i=r.trailingComments,delete r.trailingComments)}e.length>0&&T(e).start>=t.start&&(r=e.pop());while(e.length>0&&T(e).start>=t.start)s=e.pop();if(!s&&r&&(s=r),r)switch(t.type){case"ObjectExpression":this.adjustCommentsAfterTrailingComma(t,t.properties);break;case"ObjectPattern":this.adjustCommentsAfterTrailingComma(t,t.properties,!0);break;case"CallExpression":this.adjustCommentsAfterTrailingComma(t,t.arguments);break;case"ArrayExpression":this.adjustCommentsAfterTrailingComma(t,t.elements);break;case"ArrayPattern":this.adjustCommentsAfterTrailingComma(t,t.elements,!0);break}else this.state.commentPreviousNode&&("ImportSpecifier"===this.state.commentPreviousNode.type&&"ImportSpecifier"!==t.type||"ExportSpecifier"===this.state.commentPreviousNode.type&&"ExportSpecifier"!==t.type)&&this.adjustCommentsAfterTrailingComma(t,[this.state.commentPreviousNode]);if(s){if(s.leadingComments)if(s!==t&&s.leadingComments.length>0&&T(s.leadingComments).end<=t.start)t.leadingComments=s.leadingComments,delete s.leadingComments;else for(n=s.leadingComments.length-2;n>=0;--n)if(s.leadingComments[n].end<=t.start){t.leadingComments=s.leadingComments.splice(0,n+1);break}}else if(this.state.leadingComments.length>0)if(T(this.state.leadingComments).end<=t.start){if(this.state.commentPreviousNode)for(a=0;a0&&(t.leadingComments=this.state.leadingComments,this.state.leadingComments=[])}else{for(n=0;nt.start)break;const e=this.state.leadingComments.slice(0,n);e.length&&(t.leadingComments=e),i=this.state.leadingComments.slice(n),0===i.length&&(i=null)}if(this.state.commentPreviousNode=t,i)if(i.length&&i[0].start>=t.start&&T(i).end<=t.end)t.innerComments=i;else{const e=i.findIndex(e=>e.end>=t.end);e>0?(t.innerComments=i.slice(0,e),t.trailingComments=i.slice(e)):t.trailingComments=i}e.push(t)}}const A=Object.freeze({AccessorIsGenerator:"A %0ter cannot be a generator",ArgumentsInClass:"'arguments' is only allowed in functions and class methods",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block",AwaitExpressionFormalParameter:"await is not allowed in async function parameters",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules",AwaitNotInAsyncFunction:"'await' is only allowed within async functions",BadGetterArity:"getter must not have any formal parameters",BadSetterArity:"setter must have exactly one formal parameter",BadSetterRestParameter:"setter function argument must not be a rest parameter",ConstructorClassField:"Classes may not have a field named 'constructor'",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'",ConstructorIsAccessor:"Class constructor may not be an accessor",ConstructorIsAsync:"Constructor can't be an async function",ConstructorIsGenerator:"Constructor can't be a generator",DeclarationMissingInitializer:"%0 require an initialization value",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. You can set the 'decoratorsBeforeExport' option to false to use the 'export @decorator class {}' syntax",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Using the export keyword between a decorator and a class is not allowed. Please use `export @dec class` instead.",DecoratorSemicolon:"Decorators must not be followed by a semicolon",DecoratorStaticBlock:"Decorators can't be used with a static block",DeletePrivateField:"Deleting a private field is not allowed",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:"`%0` has already been exported. Exported identifiers must be unique.",DuplicateProto:"Redefinition of __proto__ property",DuplicateRegExpFlags:"Duplicate regular expression flag",ElementAfterRest:"Rest element must be last element",EscapedCharNotAnIdentifier:"Invalid Unicode escape",ExportBindingIsString:"A string literal cannot be used as an exported binding without `from`.\n- Did you mean `export { '%0' as '%1' } from 'some-module'`?",ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'",ForInOfLoopInitializer:"%0 loop variable declaration may not have an initializer",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block",IllegalBreakContinue:"Unsyntactic %0",IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list",IllegalReturn:"'return' outside of function",ImportBindingIsString:'A string literal cannot be used as an imported binding.\n- Did you mean `import { "%0" as foo }`?',ImportCallArgumentTrailingComma:"Trailing comma is disallowed inside import(...) arguments",ImportCallArity:"import() requires exactly %0",ImportCallNotNewExpression:"Cannot use new with import(...)",ImportCallSpreadArgument:"... is not allowed in import()",ImportMetaOutsideModule:"import.meta may appear only with 'sourceType: \"module\"'",ImportOutsideModule:"'import' and 'export' may appear only with 'sourceType: \"module\"'",InvalidBigIntLiteral:"Invalid BigIntLiteral",InvalidCodePoint:"Code point out of bounds",InvalidDecimal:"Invalid decimal",InvalidDigit:"Expected number in radix %0",InvalidEscapeSequence:"Bad character escape sequence",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template",InvalidEscapedReservedWord:"Escape sequence in keyword %0",InvalidIdentifier:"Invalid identifier %0",InvalidLhs:"Invalid left-hand side in %0",InvalidLhsBinding:"Binding invalid left-hand side in %0",InvalidNumber:"Invalid number",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'",InvalidOrUnexpectedToken:"Unexpected character '%0'",InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern",InvalidPrivateFieldResolution:"Private name #%0 is not defined",InvalidPropertyBindingPattern:"Binding member expression",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions",InvalidRestAssignmentPattern:"Invalid rest operator's argument",LabelRedeclaration:"Label '%0' is already declared",LetInLexicalBinding:"'let' is not allowed to be used as a name in 'let' or 'const' declarations.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'",MalformedRegExpFlags:"Invalid regular expression flag",MissingClassName:"A class name is required",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon",MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values",ModuleAttributesWithDuplicateKeys:'Duplicate key "%0" is not allowed in module attributes',ModuleExportNameHasLoneSurrogate:"An export name cannot include a lone surrogate, found '\\u%0'",ModuleExportUndefined:"Export '%0' is not defined",MultipleDefaultsInSwitch:"Multiple default clauses",NewlineAfterThrow:"Illegal newline after throw",NoCatchOrFinally:"Missing catch or finally clause",NumberIdentifier:"Identifier directly after number",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences",ObsoleteAwaitStar:"await* has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"constructors in/after an Optional Chain are not allowed",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain",ParamDupe:"Argument name clash",PatternHasAccessor:"Object pattern can't contain getter or setter",PatternHasMethod:"Object pattern can't contain methods",PipelineBodyNoArrow:'Unexpected arrow "=>" after pipeline body; arrow function in pipeline body must be parenthesized',PipelineBodySequenceExpression:"Pipeline body may not be a comma-separated sequence expression",PipelineHeadSequenceExpression:"Pipeline head should not be a comma-separated sequence expression",PipelineTopicUnused:"Pipeline is in topic style but does not use topic reference",PrimaryTopicNotAllowed:"Topic reference was used in a lexical context without topic binding",PrimaryTopicRequiresSmartPipeline:"Primary Topic Reference found but pipelineOperator not passed 'smart' for 'proposal' option.",PrivateInExpectedIn:"Private names are only allowed in property accesses (`obj.#%0`) or in `in` expressions (`#%0 in obj`)",PrivateNameRedeclaration:"Duplicate private name #%0",RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",RecordNoProto:"'__proto__' is not allowed in Record expressions",RestTrailingComma:"Unexpected trailing comma after rest element",SloppyFunction:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement",StaticPrototype:"Classes may not have static property named prototype",StrictDelete:"Deleting local variable in strict mode",StrictEvalArguments:"Assigning to '%0' in strict mode",StrictEvalArgumentsBinding:"Binding '%0' in strict mode",StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode",StrictWith:"'with' in strict mode",SuperNotAllowed:"super() is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super",TrailingDecorator:"Decorators must be attached to a class element",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal',UnexpectedDigitAfterHash:"Unexpected digit after hash token",UnexpectedImportExport:"'import' and 'export' may only appear at the top level",UnexpectedKeyword:"Unexpected keyword '%0'",UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context",UnexpectedNewTarget:"new.target can only be used in functions",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits",UnexpectedPrivateField:"Private names can only be used as the name of a class element (i.e. class C { #p = 42; #m() {} } )\n or a property of member expression (i.e. this.#p).",UnexpectedReservedWord:"Unexpected reserved word '%0'",UnexpectedSuper:"super is only allowed in object methods and classes",UnexpectedToken:"Unexpected token '%0'",UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"import can only be used in import() or import.meta",UnsupportedMetaProperty:"The only valid meta property for %0 is %0.%1",UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties",UnsupportedSuper:"super can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop])",UnterminatedComment:"Unterminated comment",UnterminatedRegExp:"Unterminated regular expression",UnterminatedString:"Unterminated string constant",UnterminatedTemplate:"Unterminated template",VarRedeclaration:"Identifier '%0' has already been declared",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator",YieldInParameter:"Yield expression is not allowed in formal parameters",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0"});class S extends E{getLocationForPosition(t){let e;return e=t===this.state.start?this.state.startLoc:t===this.state.lastTokStart?this.state.lastTokStartLoc:t===this.state.end?this.state.endLoc:t===this.state.lastTokEnd?this.state.lastTokEndLoc:w(this.input,t),e}raise(t,e,...r){return this.raiseWithData(t,void 0,e,...r)}raiseOverwrite(t,e,...r){const s=this.getLocationForPosition(t),i=e.replace(/%(\d+)/g,(t,e)=>r[e])+` (${s.line}:${s.column})`;if(this.options.errorRecovery){const e=this.state.errors;for(let r=e.length-1;r>=0;r--){const s=e[r];if(s.pos===t)return Object.assign(s,{message:i});if(s.poss[e])+` (${i.line}:${i.column})`;return this._raise(Object.assign({loc:i,pos:t},e),n)}_raise(t,e){const r=new SyntaxError(e);if(Object.assign(r,t),this.options.errorRecovery)return this.isLookahead||this.state.errors.push(r),r;throw r}}var C=t=>class extends t{estreeParseRegExpLiteral({pattern:t,flags:e}){let r=null;try{r=new RegExp(t,e)}catch(i){}const s=this.estreeParseLiteral(r);return s.regex={pattern:t,flags:e},s}estreeParseBigIntLiteral(t){let e;try{e=BigInt(t)}catch(s){e=null}const r=this.estreeParseLiteral(e);return r.bigint=String(r.value||t),r}estreeParseDecimalLiteral(t){const e=null,r=this.estreeParseLiteral(e);return r.decimal=String(r.value||t),r}estreeParseLiteral(t){return this.parseLiteral(t,"Literal")}directiveToStmt(t){const e=t.value,r=this.startNodeAt(t.start,t.loc.start),s=this.startNodeAt(e.start,e.loc.start);return s.value=e.extra.expressionValue,s.raw=e.extra.raw,r.expression=this.finishNodeAt(s,"Literal",e.end,e.loc.end),r.directive=e.extra.raw.slice(1,-1),this.finishNodeAt(r,"ExpressionStatement",t.end,t.loc.end)}initFunction(t,e){super.initFunction(t,e),t.expression=!1}checkDeclaration(t){null!=t&&this.isObjectProperty(t)?this.checkDeclaration(t.value):super.checkDeclaration(t)}getObjectOrClassMethodParams(t){return t.value.params}isValidDirective(t){var e;return"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"===typeof t.expression.value&&!(null!=(e=t.expression.extra)&&e.parenthesized)}stmtToDirective(t){const e=super.stmtToDirective(t),r=t.expression.value;return this.addExtra(e.value,"expressionValue",r),e}parseBlockBody(t,...e){super.parseBlockBody(t,...e);const r=t.directives.map(t=>this.directiveToStmt(t));t.body=r.concat(t.body),delete t.directives}pushClassMethod(t,e,r,s,i,n){this.parseMethod(e,r,s,i,n,"ClassMethod",!0),e.typeParameters&&(e.value.typeParameters=e.typeParameters,delete e.typeParameters),t.body.push(e)}parseExprAtom(t){switch(this.state.type){case d.num:case d.string:return this.estreeParseLiteral(this.state.value);case d.regexp:return this.estreeParseRegExpLiteral(this.state.value);case d.bigint:return this.estreeParseBigIntLiteral(this.state.value);case d.decimal:return this.estreeParseDecimalLiteral(this.state.value);case d._null:return this.estreeParseLiteral(null);case d._true:return this.estreeParseLiteral(!0);case d._false:return this.estreeParseLiteral(!1);default:return super.parseExprAtom(t)}}parseMaybePrivateName(...t){const e=super.parseMaybePrivateName(...t);return"PrivateName"===e.type&&this.getPluginOption("estree","classFeatures")?this.convertPrivateNameToPrivateIdentifier(e):e}convertPrivateNameToPrivateIdentifier(t){const e=super.getPrivateNameSV(t);return t=t,delete t.id,t.name=e,t.type="PrivateIdentifier",t}isPrivateName(t){return this.getPluginOption("estree","classFeatures")?"PrivateIdentifier"===t.type:super.isPrivateName(t)}getPrivateNameSV(t){return this.getPluginOption("estree","classFeatures")?t.name:super.getPrivateNameSV(t)}parseLiteral(t,e,r,s){const i=super.parseLiteral(t,e,r,s);return i.raw=i.extra.raw,delete i.extra,i}parseFunctionBody(t,e,r=!1){super.parseFunctionBody(t,e,r),t.expression="BlockStatement"!==t.body.type}parseMethod(t,e,r,s,i,n,a=!1){let o=this.startNode();return o.kind=t.kind,o=super.parseMethod(o,e,r,s,i,n,a),o.type="FunctionExpression",delete o.kind,t.value=o,"ClassPrivateMethod"===n&&(t.computed=!1),n="MethodDefinition",this.finishNode(t,n)}parseClassProperty(...t){const e=super.parseClassProperty(...t);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition"),e}parseClassPrivateProperty(...t){const e=super.parseClassPrivateProperty(...t);return this.getPluginOption("estree","classFeatures")&&(e.type="PropertyDefinition",e.computed=!1),e}parseObjectMethod(t,e,r,s,i){const n=super.parseObjectMethod(t,e,r,s,i);return n&&(n.type="Property","method"===n.kind&&(n.kind="init"),n.shorthand=!1),n}parseObjectProperty(t,e,r,s,i){const n=super.parseObjectProperty(t,e,r,s,i);return n&&(n.kind="init",n.type="Property"),n}toAssignable(t,e=!1){return null!=t&&this.isObjectProperty(t)?(this.toAssignable(t.value,e),t):super.toAssignable(t,e)}toAssignableObjectExpressionProp(t,...e){"get"===t.kind||"set"===t.kind?this.raise(t.key.start,A.PatternHasAccessor):t.method?this.raise(t.key.start,A.PatternHasMethod):super.toAssignableObjectExpressionProp(t,...e)}finishCallExpression(t,e){return super.finishCallExpression(t,e),"Import"===t.callee.type&&(t.type="ImportExpression",t.source=t.arguments[0],delete t.arguments,delete t.callee),t}toReferencedArguments(t){"ImportExpression"!==t.type&&super.toReferencedArguments(t)}parseExport(t){switch(super.parseExport(t),t.type){case"ExportAllDeclaration":t.exported=null;break;case"ExportNamedDeclaration":1===t.specifiers.length&&"ExportNamespaceSpecifier"===t.specifiers[0].type&&(t.type="ExportAllDeclaration",t.exported=t.specifiers[0].exported,delete t.specifiers);break}return t}parseSubscript(t,e,r,s,i){const n=super.parseSubscript(t,e,r,s,i);if(i.optionalChainMember){if("OptionalMemberExpression"!==n.type&&"OptionalCallExpression"!==n.type||(n.type=n.type.substring(8)),i.stop){const t=this.startNodeAtNode(n);return t.expression=n,this.finishNode(t,"ChainExpression")}}else"MemberExpression"!==n.type&&"CallExpression"!==n.type||(n.optional=!1);return n}hasPropertyAsPrivateName(t){return"ChainExpression"===t.type&&(t=t.expression),super.hasPropertyAsPrivateName(t)}isOptionalChain(t){return"ChainExpression"===t.type}isObjectProperty(t){return"Property"===t.type&&"init"===t.kind&&!t.method}isObjectMethod(t){return t.method||"get"===t.kind||"set"===t.kind}};class N{constructor(t,e,r,s){this.token=void 0,this.isExpr=void 0,this.preserveSpace=void 0,this.override=void 0,this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=s}}const k={braceStatement:new N("{",!1),braceExpression:new N("{",!0),recordExpression:new N("#{",!0),templateQuasi:new N("${",!1),parenStatement:new N("(",!1),parenExpression:new N("(",!0),template:new N("`",!0,!0,t=>t.readTmplToken()),functionExpression:new N("function",!0),functionStatement:new N("function",!1)};d.parenR.updateContext=d.braceR.updateContext=function(){if(1===this.state.context.length)return void(this.state.exprAllowed=!0);let t=this.state.context.pop();t===k.braceStatement&&"function"===this.curContext().token&&(t=this.state.context.pop()),this.state.exprAllowed=!t.isExpr},d.name.updateContext=function(t){let e=!1;t!==d.dot&&("of"!==this.state.value||this.state.exprAllowed||t===d._function||t===d._class||(e=!0)),this.state.exprAllowed=e,this.state.isIterator&&(this.state.isIterator=!1)},d.braceL.updateContext=function(t){this.state.context.push(this.braceIsBlock(t)?k.braceStatement:k.braceExpression),this.state.exprAllowed=!0},d.dollarBraceL.updateContext=function(){this.state.context.push(k.templateQuasi),this.state.exprAllowed=!0},d.parenL.updateContext=function(t){const e=t===d._if||t===d._for||t===d._with||t===d._while;this.state.context.push(e?k.parenStatement:k.parenExpression),this.state.exprAllowed=!0},d.incDec.updateContext=function(){},d._function.updateContext=d._class.updateContext=function(t){!t.beforeExpr||t===d.semi||t===d._else||t===d._return&&this.hasPrecedingLineBreak()||(t===d.colon||t===d.braceL)&&this.curContext()===k.b_stat?this.state.context.push(k.functionStatement):this.state.context.push(k.functionExpression),this.state.exprAllowed=!1},d.backQuote.updateContext=function(){this.curContext()===k.template?this.state.context.pop():this.state.context.push(k.template),this.state.exprAllowed=!1},d.braceHashL.updateContext=function(){this.state.context.push(k.recordExpression),this.state.exprAllowed=!0};let I="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࢠ-ࢴࢶ-ࣇऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-鿼ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞿꟂ-ꟊꟵ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",O="‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࣓-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-ໍ໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜔ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠐-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿᫀᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷹᷻-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_";const D=new RegExp("["+I+"]"),M=new RegExp("["+I+O+"]");I=O=null;const L=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,157,310,10,21,11,7,153,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,349,41,7,1,79,28,11,0,9,21,107,20,28,22,13,52,76,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,85,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,159,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,230,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,35,56,264,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,190,0,80,921,103,110,18,195,2749,1070,4050,582,8634,568,8,30,114,29,19,47,17,3,32,20,6,18,689,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,43,8,8952,286,50,2,18,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,2357,44,11,6,17,0,370,43,1301,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42717,35,4148,12,221,3,5761,15,7472,3104,541,1507,4938],_=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,370,1,154,10,176,2,54,14,32,9,16,3,46,10,54,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,161,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,193,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,84,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,406,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,19306,9,135,4,60,6,26,9,1014,0,2,54,8,3,82,0,12,1,19628,1,5319,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,262,6,10,9,419,13,1495,6,110,6,6,9,4759,9,787719,239];function R(t,e){let r=65536;for(let s=0,i=e.length;st)return!1;if(r+=e[s+1],r>=t)return!0}return!1}function j(t){return t<65?36===t:t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&D.test(String.fromCharCode(t)):R(t,L)))}function F(t){return t<48?36===t:t<58||!(t<65)&&(t<=90||(t<97?95===t:t<=122||(t<=65535?t>=170&&M.test(String.fromCharCode(t)):R(t,L)||R(t,_))))}const B={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},U=new Set(B.keyword),q=new Set(B.strict),H=new Set(B.strictBind);function z(t,e){return e&&"await"===t||"enum"===t}function V(t,e){return z(t,e)||q.has(t)}function W(t){return H.has(t)}function K(t,e){return V(t,e)||W(t)}function $(t){return U.has(t)}const X=/^in(stanceof)?$/;function G(t,e){return 64===t&&64===e}const Y=0,J=1,Q=2,Z=4,tt=8,et=16,rt=32,st=64,it=128,nt=256,at=J|Q|nt,ot=1,ct=2,ht=4,lt=8,pt=16,ut=64,dt=128,ft=256,mt=512,yt=1024,gt=2048,xt=ot|ct|lt|dt,bt=0|ot|lt|0,vt=0|ot|ht|0,wt=0|ot|pt|0,Pt=0|ct|dt,Tt=0|ct,Et=ot|ct|lt|ft,At=0|yt,St=0|ut,Ct=0|ot|ut,Nt=Et|mt,kt=0|yt,It=gt,Ot=4,Dt=2,Mt=1,Lt=Dt|Mt,_t=Dt|Ot,Rt=Mt|Ot,jt=Dt,Ft=Mt,Bt=0;class Ut{constructor(t){this.flags=void 0,this.var=[],this.lexical=[],this.functions=[],this.flags=t}}class qt{constructor(t,e){this.scopeStack=[],this.undefinedExports=new Map,this.undefinedPrivateNames=new Map,this.raise=t,this.inModule=e}get inFunction(){return(this.currentVarScope().flags&Q)>0}get allowSuper(){return(this.currentThisScope().flags&et)>0}get allowDirectSuper(){return(this.currentThisScope().flags&rt)>0}get inClass(){return(this.currentThisScope().flags&st)>0}get inStaticBlock(){return(this.currentThisScope().flags&it)>0}get inNonArrowFunction(){return(this.currentThisScope().flags&Q)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(t){return new Ut(t)}enter(t){this.scopeStack.push(this.createScope(t))}exit(){this.scopeStack.pop()}treatFunctionsAsVarInScope(t){return!!(t.flags&Q||!this.inModule&&t.flags&J)}declareName(t,e,r){let s=this.currentScope();if(e<||e&pt)this.checkRedeclarationInScope(s,t,e,r),e&pt?s.functions.push(t):s.lexical.push(t),e<&&this.maybeExportDefined(s,t);else if(e&ht)for(let i=this.scopeStack.length-1;i>=0;--i)if(s=this.scopeStack[i],this.checkRedeclarationInScope(s,t,e,r),s.var.push(t),this.maybeExportDefined(s,t),s.flags&at)break;this.inModule&&s.flags&J&&this.undefinedExports.delete(t)}maybeExportDefined(t,e){this.inModule&&t.flags&J&&this.undefinedExports.delete(e)}checkRedeclarationInScope(t,e,r,s){this.isRedeclaredInScope(t,e,r)&&this.raise(s,A.VarRedeclaration,e)}isRedeclaredInScope(t,e,r){return!!(r&ot)&&(r<?t.lexical.indexOf(e)>-1||t.functions.indexOf(e)>-1||t.var.indexOf(e)>-1:r&pt?t.lexical.indexOf(e)>-1||!this.treatFunctionsAsVarInScope(t)&&t.var.indexOf(e)>-1:t.lexical.indexOf(e)>-1&&!(t.flags&tt&&t.lexical[0]===e)||!this.treatFunctionsAsVarInScope(t)&&t.functions.indexOf(e)>-1)}checkLocalExport(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&-1===this.scopeStack[0].functions.indexOf(t.name)&&this.undefinedExports.set(t.name,t.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if(e.flags&at)return e}}currentThisScope(){for(let t=this.scopeStack.length-1;;t--){const e=this.scopeStack[t];if((e.flags&at||e.flags&st)&&!(e.flags&Z))return e}}}class Ht extends Ut{constructor(...t){super(...t),this.declareFunctions=[]}}class zt extends qt{createScope(t){return new Ht(t)}declareName(t,e,r){const s=this.currentScope();if(e>)return this.checkRedeclarationInScope(s,t,e,r),this.maybeExportDefined(s,t),void s.declareFunctions.push(t);super.declareName(...arguments)}isRedeclaredInScope(t,e,r){return!!super.isRedeclaredInScope(...arguments)||!!(r>)&&(!t.declareFunctions.includes(e)&&(t.lexical.includes(e)||t.functions.includes(e)))}checkLocalExport(t){-1===this.scopeStack[0].declareFunctions.indexOf(t.name)&&super.checkLocalExport(t)}}const Vt=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),Wt=Object.freeze({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module",AssignReservedType:"Cannot overwrite reserved type %0",DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement",EnumBooleanMemberNotInitialized:"Boolean enum members need to be initialized. Use either `%0 = true,` or `%0 = false,` in enum `%1`.",EnumDuplicateMemberName:"Enum member names need to be unique, but the name `%0` has already been used before in enum `%1`.",EnumInconsistentMemberValues:"Enum `%0` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.",EnumInvalidExplicitType:"Enum type `%1` is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidExplicitTypeUnknownSupplied:"Supplied enum type is not valid. Use one of `boolean`, `number`, `string`, or `symbol` in enum `%0`.",EnumInvalidMemberInitializerPrimaryType:"Enum `%0` has type `%2`, so the initializer of `%1` needs to be a %2 literal.",EnumInvalidMemberInitializerSymbolType:"Symbol enum members cannot be initialized. Use `%1,` in enum `%0`.",EnumInvalidMemberInitializerUnknownType:"The enum member initializer for `%1` needs to be a literal (either a boolean, number, or string) in enum `%0`.",EnumInvalidMemberName:"Enum member names cannot start with lowercase 'a' through 'z'. Instead of using `%0`, consider using `%1`, in enum `%2`.",EnumNumberMemberNotInitialized:"Number enum members need to be initialized, e.g. `%1 = 1` in enum `%0`.",EnumStringMemberInconsistentlyInitailized:"String enum members need to consistently either all use initializers, or use no initializers, in enum `%0`.",GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions",InexactVariance:"Explicit inexact syntax cannot have variance",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`",NestedFlowComment:"Cannot have a flow comment inside another flow comment",OptionalBindingPattern:"A binding pattern parameter cannot be optional in an implementation signature.",SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object",UnexpectedReservedType:"Unexpected reserved type %0",UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint"',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`",UnsupportedDeclareExportKind:"`declare export %0` is not supported. Use `%1` instead",UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module",UnterminatedFlowComment:"Unterminated flow-comment"});function Kt(t){return"DeclareExportAllDeclaration"===t.type||"DeclareExportDeclaration"===t.type&&(!t.declaration||"TypeAlias"!==t.declaration.type&&"InterfaceDeclaration"!==t.declaration.type)}function $t(t){return"type"===t.importKind||"typeof"===t.importKind}function Xt(t){return(t.type===d.name||!!t.type.keyword)&&"from"!==t.value}const Gt={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Yt(t,e){const r=[],s=[];for(let i=0;i{var e;return e=class extends t{constructor(...t){super(...t),this.flowPragma=void 0}getScopeHandler(){return zt}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}shouldParseEnums(){return!!this.getPluginOption("flow","enums")}finishToken(t,e){return t!==d.string&&t!==d.semi&&t!==d.interpreterDirective&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(t,e)}addComment(t){if(void 0===this.flowPragma){const e=Jt.exec(t.value);if(e)if("flow"===e[1])this.flowPragma="flow";else{if("noflow"!==e[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}else;}return super.addComment(t)}flowParseTypeInitialiser(t){const e=this.state.inType;this.state.inType=!0,this.expect(t||d.colon);const r=this.flowParseType();return this.state.inType=e,r}flowParsePredicate(){const t=this.startNode(),e=this.state.startLoc,r=this.state.start;this.expect(d.modulo);const s=this.state.startLoc;return this.expectContextual("checks"),e.line===s.line&&e.column===s.column-1||this.raise(r,Wt.UnexpectedSpaceBetweenModuloChecks),this.eat(d.parenL)?(t.value=this.parseExpression(),this.expect(d.parenR),this.finishNode(t,"DeclaredPredicate")):this.finishNode(t,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){const t=this.state.inType;this.state.inType=!0,this.expect(d.colon);let e=null,r=null;return this.match(d.modulo)?(this.state.inType=t,r=this.flowParsePredicate()):(e=this.flowParseType(),this.state.inType=t,this.match(d.modulo)&&(r=this.flowParsePredicate())),[e,r]}flowParseDeclareClass(t){return this.next(),this.flowParseInterfaceish(t,!0),this.finishNode(t,"DeclareClass")}flowParseDeclareFunction(t){this.next();const e=t.id=this.parseIdentifier(),r=this.startNode(),s=this.startNode();this.isRelational("<")?r.typeParameters=this.flowParseTypeParameterDeclaration():r.typeParameters=null,this.expect(d.parenL);const i=this.flowParseFunctionTypeParams();return r.params=i.params,r.rest=i.rest,r.this=i._this,this.expect(d.parenR),[r.returnType,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),s.typeAnnotation=this.finishNode(r,"FunctionTypeAnnotation"),e.typeAnnotation=this.finishNode(s,"TypeAnnotation"),this.resetEndLocation(e),this.semicolon(),this.scope.declareName(t.id.name,It,t.id.start),this.finishNode(t,"DeclareFunction")}flowParseDeclare(t,e){if(this.match(d._class))return this.flowParseDeclareClass(t);if(this.match(d._function))return this.flowParseDeclareFunction(t);if(this.match(d._var))return this.flowParseDeclareVariable(t);if(this.eatContextual("module"))return this.match(d.dot)?this.flowParseDeclareModuleExports(t):(e&&this.raise(this.state.lastTokStart,Wt.NestedDeclareModule),this.flowParseDeclareModule(t));if(this.isContextual("type"))return this.flowParseDeclareTypeAlias(t);if(this.isContextual("opaque"))return this.flowParseDeclareOpaqueType(t);if(this.isContextual("interface"))return this.flowParseDeclareInterface(t);if(this.match(d._export))return this.flowParseDeclareExportDeclaration(t,e);throw this.unexpected()}flowParseDeclareVariable(t){return this.next(),t.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(t.id.name,vt,t.id.start),this.semicolon(),this.finishNode(t,"DeclareVariable")}flowParseDeclareModule(t){this.scope.enter(Y),this.match(d.string)?t.id=this.parseExprAtom():t.id=this.parseIdentifier();const e=t.body=this.startNode(),r=e.body=[];this.expect(d.braceL);while(!this.match(d.braceR)){let t=this.startNode();this.match(d._import)?(this.next(),this.isContextual("type")||this.match(d._typeof)||this.raise(this.state.lastTokStart,Wt.InvalidNonTypeImportInDeclareModule),this.parseImport(t)):(this.expectContextual("declare",Wt.UnsupportedStatementInDeclareModule),t=this.flowParseDeclare(t,!0)),r.push(t)}this.scope.exit(),this.expect(d.braceR),this.finishNode(e,"BlockStatement");let s=null,i=!1;return r.forEach(t=>{Kt(t)?("CommonJS"===s&&this.raise(t.start,Wt.AmbiguousDeclareModuleKind),s="ES"):"DeclareModuleExports"===t.type&&(i&&this.raise(t.start,Wt.DuplicateDeclareModuleExports),"ES"===s&&this.raise(t.start,Wt.AmbiguousDeclareModuleKind),s="CommonJS",i=!0)}),t.kind=s||"CommonJS",this.finishNode(t,"DeclareModule")}flowParseDeclareExportDeclaration(t,e){if(this.expect(d._export),this.eat(d._default))return this.match(d._function)||this.match(d._class)?t.declaration=this.flowParseDeclare(this.startNode()):(t.declaration=this.flowParseType(),this.semicolon()),t.default=!0,this.finishNode(t,"DeclareExportDeclaration");if(this.match(d._const)||this.isLet()||(this.isContextual("type")||this.isContextual("interface"))&&!e){const t=this.state.value,e=Gt[t];throw this.raise(this.state.start,Wt.UnsupportedDeclareExportKind,t,e)}if(this.match(d._var)||this.match(d._function)||this.match(d._class)||this.isContextual("opaque"))return t.declaration=this.flowParseDeclare(this.startNode()),t.default=!1,this.finishNode(t,"DeclareExportDeclaration");if(this.match(d.star)||this.match(d.braceL)||this.isContextual("interface")||this.isContextual("type")||this.isContextual("opaque"))return t=this.parseExport(t),"ExportNamedDeclaration"===t.type&&(t.type="ExportDeclaration",t.default=!1,delete t.exportKind),t.type="Declare"+t.type,t;throw this.unexpected()}flowParseDeclareModuleExports(t){return this.next(),this.expectContextual("exports"),t.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(t,"DeclareModuleExports")}flowParseDeclareTypeAlias(t){return this.next(),this.flowParseTypeAlias(t),t.type="DeclareTypeAlias",t}flowParseDeclareOpaqueType(t){return this.next(),this.flowParseOpaqueType(t,!0),t.type="DeclareOpaqueType",t}flowParseDeclareInterface(t){return this.next(),this.flowParseInterfaceish(t),this.finishNode(t,"DeclareInterface")}flowParseInterfaceish(t,e=!1){if(t.id=this.flowParseRestrictedIdentifier(!e,!0),this.scope.declareName(t.id.name,e?wt:bt,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.extends=[],t.implements=[],t.mixins=[],this.eat(d._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(!e&&this.eat(d.comma));if(this.isContextual("mixins")){this.next();do{t.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(d.comma))}if(this.isContextual("implements")){this.next();do{t.implements.push(this.flowParseInterfaceExtends())}while(this.eat(d.comma))}t.body=this.flowParseObjectType({allowStatic:e,allowExact:!1,allowSpread:!1,allowProto:e,allowInexact:!1})}flowParseInterfaceExtends(){const t=this.startNode();return t.id=this.flowParseQualifiedTypeIdentifier(),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,this.finishNode(t,"InterfaceExtends")}flowParseInterface(t){return this.flowParseInterfaceish(t),this.finishNode(t,"InterfaceDeclaration")}checkNotUnderscore(t){"_"===t&&this.raise(this.state.start,Wt.UnexpectedReservedUnderscore)}checkReservedType(t,e,r){Vt.has(t)&&this.raise(e,r?Wt.AssignReservedType:Wt.UnexpectedReservedType,t)}flowParseRestrictedIdentifier(t,e){return this.checkReservedType(this.state.value,this.state.start,e),this.parseIdentifier(t)}flowParseTypeAlias(t){return t.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(t.id.name,bt,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.right=this.flowParseTypeInitialiser(d.eq),this.semicolon(),this.finishNode(t,"TypeAlias")}flowParseOpaqueType(t,e){return this.expectContextual("type"),t.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(t.id.name,bt,t.id.start),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterDeclaration():t.typeParameters=null,t.supertype=null,this.match(d.colon)&&(t.supertype=this.flowParseTypeInitialiser(d.colon)),t.impltype=null,e||(t.impltype=this.flowParseTypeInitialiser(d.eq)),this.semicolon(),this.finishNode(t,"OpaqueType")}flowParseTypeParameter(t=!1){const e=this.state.start,r=this.startNode(),s=this.flowParseVariance(),i=this.flowParseTypeAnnotatableIdentifier();return r.name=i.name,r.variance=s,r.bound=i.typeAnnotation,this.match(d.eq)?(this.eat(d.eq),r.default=this.flowParseType()):t&&this.raise(e,Wt.MissingTypeParamDefault),this.finishNode(r,"TypeParameter")}flowParseTypeParameterDeclaration(){const t=this.state.inType,e=this.startNode();e.params=[],this.state.inType=!0,this.isRelational("<")||this.match(d.jsxTagStart)?this.next():this.unexpected();let r=!1;do{const t=this.flowParseTypeParameter(r);e.params.push(t),t.default&&(r=!0),this.isRelational(">")||this.expect(d.comma)}while(!this.isRelational(">"));return this.expectRelational(">"),this.state.inType=t,this.finishNode(e,"TypeParameterDeclaration")}flowParseTypeParameterInstantiation(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational("<");const r=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!1;while(!this.isRelational(">"))t.params.push(this.flowParseType()),this.isRelational(">")||this.expect(d.comma);return this.state.noAnonFunctionType=r,this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){const t=this.startNode(),e=this.state.inType;t.params=[],this.state.inType=!0,this.expectRelational("<");while(!this.isRelational(">"))t.params.push(this.flowParseTypeOrImplicitInstantiation()),this.isRelational(">")||this.expect(d.comma);return this.expectRelational(">"),this.state.inType=e,this.finishNode(t,"TypeParameterInstantiation")}flowParseInterfaceType(){const t=this.startNode();if(this.expectContextual("interface"),t.extends=[],this.eat(d._extends))do{t.extends.push(this.flowParseInterfaceExtends())}while(this.eat(d.comma));return t.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(t,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(d.num)||this.match(d.string)?this.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(t,e,r){return t.static=e,this.lookahead().type===d.colon?(t.id=this.flowParseObjectPropertyKey(),t.key=this.flowParseTypeInitialiser()):(t.id=null,t.key=this.flowParseType()),this.expect(d.bracketR),t.value=this.flowParseTypeInitialiser(),t.variance=r,this.finishNode(t,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(t,e){return t.static=e,t.id=this.flowParseObjectPropertyKey(),this.expect(d.bracketR),this.expect(d.bracketR),this.isRelational("<")||this.match(d.parenL)?(t.method=!0,t.optional=!1,t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start))):(t.method=!1,this.eat(d.question)&&(t.optional=!0),t.value=this.flowParseTypeInitialiser()),this.finishNode(t,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(t){t.params=[],t.rest=null,t.typeParameters=null,t.this=null,this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(d.parenL),this.match(d._this)&&(t.this=this.flowParseFunctionTypeParam(!0),t.this.name=null,this.match(d.parenR)||this.expect(d.comma));while(!this.match(d.parenR)&&!this.match(d.ellipsis))t.params.push(this.flowParseFunctionTypeParam(!1)),this.match(d.parenR)||this.expect(d.comma);return this.eat(d.ellipsis)&&(t.rest=this.flowParseFunctionTypeParam(!1)),this.expect(d.parenR),t.returnType=this.flowParseTypeInitialiser(),this.finishNode(t,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(t,e){const r=this.startNode();return t.static=e,t.value=this.flowParseObjectTypeMethodish(r),this.finishNode(t,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:t,allowExact:e,allowSpread:r,allowProto:s,allowInexact:i}){const n=this.state.inType;this.state.inType=!0;const a=this.startNode();let o,c;a.callProperties=[],a.properties=[],a.indexers=[],a.internalSlots=[];let h=!1;e&&this.match(d.braceBarL)?(this.expect(d.braceBarL),o=d.braceBarR,c=!0):(this.expect(d.braceL),o=d.braceR,c=!1),a.exact=c;while(!this.match(o)){let e=!1,n=null,o=null;const l=this.startNode();if(s&&this.isContextual("proto")){const e=this.lookahead();e.type!==d.colon&&e.type!==d.question&&(this.next(),n=this.state.start,t=!1)}if(t&&this.isContextual("static")){const t=this.lookahead();t.type!==d.colon&&t.type!==d.question&&(this.next(),e=!0)}const p=this.flowParseVariance();if(this.eat(d.bracketL))null!=n&&this.unexpected(n),this.eat(d.bracketL)?(p&&this.unexpected(p.start),a.internalSlots.push(this.flowParseObjectTypeInternalSlot(l,e))):a.indexers.push(this.flowParseObjectTypeIndexer(l,e,p));else if(this.match(d.parenL)||this.isRelational("<"))null!=n&&this.unexpected(n),p&&this.unexpected(p.start),a.callProperties.push(this.flowParseObjectTypeCallProperty(l,e));else{let t="init";if(this.isContextual("get")||this.isContextual("set")){const e=this.lookahead();e.type!==d.name&&e.type!==d.string&&e.type!==d.num||(t=this.state.value,this.next())}const s=this.flowParseObjectTypeProperty(l,e,n,p,t,r,null!=i?i:!c);null===s?(h=!0,o=this.state.lastTokStart):a.properties.push(s)}this.flowObjectTypeSemicolon(),!o||this.match(d.braceR)||this.match(d.braceBarR)||this.raise(o,Wt.UnexpectedExplicitInexactInObject)}this.expect(o),r&&(a.inexact=h);const l=this.finishNode(a,"ObjectTypeAnnotation");return this.state.inType=n,l}flowParseObjectTypeProperty(t,e,r,s,i,n,a){if(this.eat(d.ellipsis)){const e=this.match(d.comma)||this.match(d.semi)||this.match(d.braceR)||this.match(d.braceBarR);return e?(n?a||this.raise(this.state.lastTokStart,Wt.InexactInsideExact):this.raise(this.state.lastTokStart,Wt.InexactInsideNonObject),s&&this.raise(s.start,Wt.InexactVariance),null):(n||this.raise(this.state.lastTokStart,Wt.UnexpectedSpreadType),null!=r&&this.unexpected(r),s&&this.raise(s.start,Wt.SpreadVariance),t.argument=this.flowParseType(),this.finishNode(t,"ObjectTypeSpreadProperty"))}{t.key=this.flowParseObjectPropertyKey(),t.static=e,t.proto=null!=r,t.kind=i;let a=!1;return this.isRelational("<")||this.match(d.parenL)?(t.method=!0,null!=r&&this.unexpected(r),s&&this.unexpected(s.start),t.value=this.flowParseObjectTypeMethodish(this.startNodeAt(t.start,t.loc.start)),"get"!==i&&"set"!==i||this.flowCheckGetterSetterParams(t),!n&&"constructor"===t.key.name&&t.value.this&&this.raise(t.value.this.start,Wt.ThisParamBannedInConstructor)):("init"!==i&&this.unexpected(),t.method=!1,this.eat(d.question)&&(a=!0),t.value=this.flowParseTypeInitialiser(),t.variance=s),t.optional=a,this.finishNode(t,"ObjectTypeProperty")}}flowCheckGetterSetterParams(t){const e="get"===t.kind?0:1,r=t.start,s=t.value.params.length+(t.value.rest?1:0);t.value.this&&this.raise(t.value.this.start,"get"===t.kind?Wt.GetterMayNotHaveThisParam:Wt.SetterMayNotHaveThisParam),s!==e&&("get"===t.kind?this.raise(r,A.BadGetterArity):this.raise(r,A.BadSetterArity)),"set"===t.kind&&t.value.rest&&this.raise(r,A.BadSetterRestParameter)}flowObjectTypeSemicolon(){this.eat(d.semi)||this.eat(d.comma)||this.match(d.braceR)||this.match(d.braceBarR)||this.unexpected()}flowParseQualifiedTypeIdentifier(t,e,r){t=t||this.state.start,e=e||this.state.startLoc;let s=r||this.flowParseRestrictedIdentifier(!0);while(this.eat(d.dot)){const r=this.startNodeAt(t,e);r.qualification=s,r.id=this.flowParseRestrictedIdentifier(!0),s=this.finishNode(r,"QualifiedTypeIdentifier")}return s}flowParseGenericType(t,e,r){const s=this.startNodeAt(t,e);return s.typeParameters=null,s.id=this.flowParseQualifiedTypeIdentifier(t,e,r),this.isRelational("<")&&(s.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(s,"GenericTypeAnnotation")}flowParseTypeofType(){const t=this.startNode();return this.expect(d._typeof),t.argument=this.flowParsePrimaryType(),this.finishNode(t,"TypeofTypeAnnotation")}flowParseTupleType(){const t=this.startNode();t.types=[],this.expect(d.bracketL);while(this.state.possuper.parseFunctionBody(t,!0,r)):super.parseFunctionBody(t,!1,r)}parseFunctionBodyAndFinish(t,e,r=!1){if(this.match(d.colon)){const e=this.startNode();[e.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),t.returnType=e.typeAnnotation?this.finishNode(e,"TypeAnnotation"):null}super.parseFunctionBodyAndFinish(t,e,r)}parseStatement(t,e){if(this.state.strict&&this.match(d.name)&&"interface"===this.state.value){const t=this.lookahead();if(t.type===d.name||$(t.value)){const t=this.startNode();return this.next(),this.flowParseInterface(t)}}else if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}const r=super.parseStatement(t,e);return void 0!==this.flowPragma||this.isValidDirective(r)||(this.flowPragma=null),r}parseExpressionStatement(t,e){if("Identifier"===e.type)if("declare"===e.name){if(this.match(d._class)||this.match(d.name)||this.match(d._function)||this.match(d._var)||this.match(d._export))return this.flowParseDeclare(t)}else if(this.match(d.name)){if("interface"===e.name)return this.flowParseInterface(t);if("type"===e.name)return this.flowParseTypeAlias(t);if("opaque"===e.name)return this.flowParseOpaqueType(t,!1)}return super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return this.isContextual("type")||this.isContextual("interface")||this.isContextual("opaque")||this.shouldParseEnums()&&this.isContextual("enum")||super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){return(!this.match(d.name)||!("type"===this.state.value||"interface"===this.state.value||"opaque"===this.state.value||this.shouldParseEnums()&&"enum"===this.state.value))&&super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.shouldParseEnums()&&this.isContextual("enum")){const t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDefaultExpression()}parseConditional(t,e,r,s){if(!this.match(d.question))return t;if(s){const i=this.tryParse(()=>super.parseConditional(t,e,r));return i.node?(i.error&&(this.state=i.failState),i.node):(s.start=i.error.pos||this.state.start,t)}this.expect(d.question);const i=this.state.clone(),n=this.state.noArrowAt,a=this.startNodeAt(e,r);let{consequent:o,failed:c}=this.tryParseConditionalConsequent(),[h,l]=this.getArrowLikeExpressions(o);if(c||l.length>0){const t=[...n];if(l.length>0){this.state=i,this.state.noArrowAt=t;for(let e=0;e1&&this.raise(i.start,Wt.AmbiguousConditionalArrow),c&&1===h.length&&(this.state=i,this.state.noArrowAt=t.concat(h[0].start),({consequent:o,failed:c}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(o,!0),this.state.noArrowAt=n,this.expect(d.colon),a.test=t,a.consequent=o,a.alternate=this.forwardNoArrowParamsConversionAt(a,()=>this.parseMaybeAssign(void 0,void 0,void 0)),this.finishNode(a,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);const t=this.parseMaybeAssignAllowIn(),e=!this.match(d.colon);return this.state.noArrowParamsConversionAt.pop(),{consequent:t,failed:e}}getArrowLikeExpressions(t,e){const r=[t],s=[];while(0!==r.length){const t=r.pop();"ArrowFunctionExpression"===t.type?(t.typeParameters||!t.returnType?this.finishArrowValidation(t):s.push(t),r.push(t.body)):"ConditionalExpression"===t.type&&(r.push(t.consequent),r.push(t.alternate))}return e?(s.forEach(t=>this.finishArrowValidation(t)),[s,[]]):Yt(s,t=>t.params.every(t=>this.isAssignable(t,!0)))}finishArrowValidation(t){var e;this.toAssignableList(t.params,null==(e=t.extra)?void 0:e.trailingComma,!1),this.scope.enter(Q|Z),super.checkParams(t,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(t,e){let r;return-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?(this.state.noArrowParamsConversionAt.push(this.state.start),r=e(),this.state.noArrowParamsConversionAt.pop()):r=e(),r}parseParenItem(t,e,r){if(t=super.parseParenItem(t,e,r),this.eat(d.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(d.colon)){const s=this.startNodeAt(e,r);return s.expression=t,s.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(s,"TypeCastExpression")}return t}assertModuleNodeAllowed(t){"ImportDeclaration"===t.type&&("type"===t.importKind||"typeof"===t.importKind)||"ExportNamedDeclaration"===t.type&&"type"===t.exportKind||"ExportAllDeclaration"===t.type&&"type"===t.exportKind||super.assertModuleNodeAllowed(t)}parseExport(t){const e=super.parseExport(t);return"ExportNamedDeclaration"!==e.type&&"ExportAllDeclaration"!==e.type||(e.exportKind=e.exportKind||"value"),e}parseExportDeclaration(t){if(this.isContextual("type")){t.exportKind="type";const e=this.startNode();return this.next(),this.match(d.braceL)?(t.specifiers=this.parseExportSpecifiers(),this.parseExportFrom(t),null):this.flowParseTypeAlias(e)}if(this.isContextual("opaque")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseOpaqueType(e,!1)}if(this.isContextual("interface")){t.exportKind="type";const e=this.startNode();return this.next(),this.flowParseInterface(e)}if(this.shouldParseEnums()&&this.isContextual("enum")){t.exportKind="value";const e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDeclaration(t)}eatExportStar(t){return!!super.eatExportStar(...arguments)||!(!this.isContextual("type")||this.lookahead().type!==d.star)&&(t.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(t){const e=this.state.start,r=super.maybeParseExportNamespaceSpecifier(t);return r&&"type"===t.exportKind&&this.unexpected(e),r}parseClassId(t,e,r){super.parseClassId(t,e,r),this.isRelational("<")&&(t.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(t,e,r){const s=this.state.start;if(this.isContextual("declare")){if(this.parseClassMemberFromModifier(t,e))return;e.declare=!0}super.parseClassMember(t,e,r),e.declare&&("ClassProperty"!==e.type&&"ClassPrivateProperty"!==e.type&&"PropertyDefinition"!==e.type?this.raise(s,Wt.DeclareClassElement):e.value&&this.raise(e.value.start,Wt.DeclareClassFieldInitializer))}getTokenFromCode(t){const e=this.input.charCodeAt(this.state.pos+1);return 123===t&&124===e?this.finishOp(d.braceBarL,2):!this.state.inType||62!==t&&60!==t?this.state.inType&&63===t?this.finishOp(d.question,1):G(t,e)?(this.state.isIterator=!0,super.readWord()):super.getTokenFromCode(t):this.finishOp(d.relational,1)}isAssignable(t,e){switch(t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":return!0;case"ObjectExpression":{const e=t.properties.length-1;return t.properties.every((t,r)=>"ObjectMethod"!==t.type&&(r===e||"SpreadElement"===t.type)&&this.isAssignable(t))}case"ObjectProperty":return this.isAssignable(t.value);case"SpreadElement":return this.isAssignable(t.argument);case"ArrayExpression":return t.elements.every(t=>this.isAssignable(t));case"AssignmentExpression":return"="===t.operator;case"ParenthesizedExpression":case"TypeCastExpression":return this.isAssignable(t.expression);case"MemberExpression":case"OptionalMemberExpression":return!e;default:return!1}}toAssignable(t,e=!1){return"TypeCastExpression"===t.type?super.toAssignable(this.typeCastToParameter(t),e):super.toAssignable(t,e)}toAssignableList(t,e,r){for(let s=0;s1)&&e||this.raise(i.typeAnnotation.start,Wt.TypeCastInPattern)}return t}parseArrayLike(t,e,r,s){const i=super.parseArrayLike(t,e,r,s);return e&&!this.state.maybeInArrowParameters&&this.toReferencedList(i.elements),i}checkLVal(t,...e){if("TypeCastExpression"!==t.type)return super.checkLVal(t,...e)}parseClassProperty(t){return this.match(d.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(t)}parseClassPrivateProperty(t){return this.match(d.colon)&&(t.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(d.colon)||super.isClassProperty()}isNonstaticConstructor(t){return!this.match(d.colon)&&super.isNonstaticConstructor(t)}isThisParam(t){return"Identifier"===t.type&&"this"===t.name}pushClassMethod(t,e,r,s,i,n){if(e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(t,e,r,s,i,n),e.params&&i){const t=e.params;t.length>0&&this.isThisParam(t[0])&&this.raise(e.start,Wt.ThisParamBannedInConstructor)}else if("MethodDefinition"===e.type&&i&&e.value.params){const t=e.value.params;t.length>0&&this.isThisParam(t[0])&&this.raise(e.start,Wt.ThisParamBannedInConstructor)}}pushClassPrivateMethod(t,e,r,s){e.variance&&this.unexpected(e.variance.start),delete e.variance,this.isRelational("<")&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(t,e,r,s)}parseClassSuper(t){if(super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.flowParseTypeParameterInstantiation()),this.isContextual("implements")){this.next();const e=t.implements=[];do{const t=this.startNode();t.id=this.flowParseRestrictedIdentifier(!0),this.isRelational("<")?t.typeParameters=this.flowParseTypeParameterInstantiation():t.typeParameters=null,e.push(this.finishNode(t,"ClassImplements"))}while(this.eat(d.comma))}}checkGetterSetterParams(t){super.checkGetterSetterParams(t);const e=this.getObjectOrClassMethodParams(t);if(e.length>0){const r=e[0];this.isThisParam(r)&&"get"===t.kind?this.raise(r.start,Wt.GetterMayNotHaveThisParam):this.isThisParam(r)&&this.raise(r.start,Wt.SetterMayNotHaveThisParam)}}parsePropertyName(t,e){const r=this.flowParseVariance(),s=super.parsePropertyName(t,e);return t.variance=r,s}parseObjPropValue(t,e,r,s,i,n,a,o){let c;t.variance&&this.unexpected(t.variance.start),delete t.variance,this.isRelational("<")&&!a&&(c=this.flowParseTypeParameterDeclaration(),this.match(d.parenL)||this.unexpected()),super.parseObjPropValue(t,e,r,s,i,n,a,o),c&&((t.value||t).typeParameters=c)}parseAssignableListItemTypes(t){return this.eat(d.question)&&("Identifier"!==t.type&&this.raise(t.start,Wt.OptionalBindingPattern),this.isThisParam(t)&&this.raise(t.start,Wt.ThisParamMayNotBeOptional),t.optional=!0),this.match(d.colon)?t.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(t)&&this.raise(t.start,Wt.ThisParamAnnotationRequired),this.match(d.eq)&&this.isThisParam(t)&&this.raise(t.start,Wt.ThisParamNoDefault),this.resetEndLocation(t),t}parseMaybeDefault(t,e,r){const s=super.parseMaybeDefault(t,e,r);return"AssignmentPattern"===s.type&&s.typeAnnotation&&s.right.startsuper.parseMaybeAssign(t,e,r),n),!i.error)return i.node;const{context:s}=this.state;s[s.length-1]===k.j_oTag?s.length-=2:s[s.length-1]===k.j_expr&&(s.length-=1)}if(null!=(s=i)&&s.error||this.isRelational("<")){var a,o;let s;n=n||this.state.clone();const c=this.tryParse(i=>{var n;s=this.flowParseTypeParameterDeclaration();const a=this.forwardNoArrowParamsConversionAt(s,()=>{const i=super.parseMaybeAssign(t,e,r);return this.resetStartLocationFromNode(i,s),i});"ArrowFunctionExpression"!==a.type&&null!=(n=a.extra)&&n.parenthesized&&i();const o=this.maybeUnwrapTypeCastExpression(a);return o.typeParameters=s,this.resetStartLocationFromNode(o,s),a},n);let h=null;if(c.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(c.node).type){if(!c.error&&!c.aborted)return c.node.async&&this.raise(s.start,Wt.UnexpectedTypeParameterBeforeAsyncArrowFunction),c.node;h=c.node}if(null!=(a=i)&&a.node)return this.state=i.failState,i.node;if(h)return this.state=c.failState,h;if(null!=(o=i)&&o.thrown)throw i.error;if(c.thrown)throw c.error;throw this.raise(s.start,Wt.UnexpectedTokenAfterTypeParameter)}return super.parseMaybeAssign(t,e,r)}parseArrow(t){if(this.match(d.colon)){const e=this.tryParse(()=>{const e=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;const r=this.startNode();return[r.typeAnnotation,t.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=e,this.canInsertSemicolon()&&this.unexpected(),this.match(d.arrow)||this.unexpected(),r});if(e.thrown)return null;e.error&&(this.state=e.failState),t.returnType=e.node.typeAnnotation?this.finishNode(e.node,"TypeAnnotation"):null}return super.parseArrow(t)}shouldParseArrow(){return this.match(d.colon)||super.shouldParseArrow()}setArrowFunctionParameters(t,e){-1!==this.state.noArrowParamsConversionAt.indexOf(t.start)?t.params=e:super.setArrowFunctionParameters(t,e)}checkParams(t,e,r){if(!r||-1===this.state.noArrowParamsConversionAt.indexOf(t.start)){for(let e=0;e0&&this.raise(t.params[e].start,Wt.ThisParamMustBeFirst);return super.checkParams(...arguments)}}parseParenAndDistinguishExpression(t){return super.parseParenAndDistinguishExpression(t&&-1===this.state.noArrowAt.indexOf(this.state.start))}parseSubscripts(t,e,r,s){if("Identifier"===t.type&&"async"===t.name&&-1!==this.state.noArrowAt.indexOf(e)){this.next();const s=this.startNodeAt(e,r);s.callee=t,s.arguments=this.parseCallExpressionArguments(d.parenR,!1),t=this.finishNode(s,"CallExpression")}else if("Identifier"===t.type&&"async"===t.name&&this.isRelational("<")){const i=this.state.clone(),n=this.tryParse(t=>this.parseAsyncArrowWithTypeParameters(e,r)||t(),i);if(!n.error&&!n.aborted)return n.node;const a=this.tryParse(()=>super.parseSubscripts(t,e,r,s),i);if(a.node&&!a.error)return a.node;if(n.node)return this.state=n.failState,n.node;if(a.node)return this.state=a.failState,a.node;throw n.error||a.error}return super.parseSubscripts(t,e,r,s)}parseSubscript(t,e,r,s,i){if(this.match(d.questionDot)&&this.isLookaheadToken_lt()){if(i.optionalChainMember=!0,s)return i.stop=!0,t;this.next();const n=this.startNodeAt(e,r);return n.callee=t,n.typeArguments=this.flowParseTypeParameterInstantiation(),this.expect(d.parenL),n.arguments=this.parseCallExpressionArguments(d.parenR,!1),n.optional=!0,this.finishCallExpression(n,!0)}if(!s&&this.shouldParseTypes()&&this.isRelational("<")){const s=this.startNodeAt(e,r);s.callee=t;const n=this.tryParse(()=>(s.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(d.parenL),s.arguments=this.parseCallExpressionArguments(d.parenR,!1),i.optionalChainMember&&(s.optional=!1),this.finishCallExpression(s,i.optionalChainMember)));if(n.node)return n.error&&(this.state=n.failState),n.node}return super.parseSubscript(t,e,r,s,i)}parseNewArguments(t){let e=null;this.shouldParseTypes()&&this.isRelational("<")&&(e=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),t.typeArguments=e,super.parseNewArguments(t)}parseAsyncArrowWithTypeParameters(t,e){const r=this.startNodeAt(t,e);if(this.parseFunctionParams(r),this.parseArrow(r))return this.parseArrowExpression(r,void 0,!0)}readToken_mult_modulo(t){const e=this.input.charCodeAt(this.state.pos+1);if(42===t&&47===e&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(t)}readToken_pipe_amp(t){const e=this.input.charCodeAt(this.state.pos+1);124!==t||125!==e?super.readToken_pipe_amp(t):this.finishOp(d.braceBarR,2)}parseTopLevel(t,e){const r=super.parseTopLevel(t,e);return this.state.hasFlowComment&&this.raise(this.state.pos,Wt.UnterminatedFlowComment),r}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment())return this.state.hasFlowComment&&this.unexpected(null,Wt.NestedFlowComment),this.hasFlowCommentCompletion(),this.state.pos+=this.skipFlowComment(),void(this.state.hasFlowComment=!0);if(this.state.hasFlowComment){const t=this.input.indexOf("*-/",this.state.pos+=2);if(-1===t)throw this.raise(this.state.pos-2,A.UnterminatedComment);this.state.pos=t+3}else super.skipBlockComment()}skipFlowComment(){const{pos:t}=this.state;let e=2;while([32,9].includes(this.input.charCodeAt(t+e)))e++;const r=this.input.charCodeAt(e+t),s=this.input.charCodeAt(e+t+1);return 58===r&&58===s?e+2:"flow-include"===this.input.slice(e+t,e+t+12)?e+12:58===r&&58!==s&&e}hasFlowCommentCompletion(){const t=this.input.indexOf("*/",this.state.pos);if(-1===t)throw this.raise(this.state.pos,A.UnterminatedComment)}flowEnumErrorBooleanMemberNotInitialized(t,{enumName:e,memberName:r}){this.raise(t,Wt.EnumBooleanMemberNotInitialized,r,e)}flowEnumErrorInvalidMemberName(t,{enumName:e,memberName:r}){const s=r[0].toUpperCase()+r.slice(1);this.raise(t,Wt.EnumInvalidMemberName,r,s,e)}flowEnumErrorDuplicateMemberName(t,{enumName:e,memberName:r}){this.raise(t,Wt.EnumDuplicateMemberName,r,e)}flowEnumErrorInconsistentMemberValues(t,{enumName:e}){this.raise(t,Wt.EnumInconsistentMemberValues,e)}flowEnumErrorInvalidExplicitType(t,{enumName:e,suppliedType:r}){return this.raise(t,null===r?Wt.EnumInvalidExplicitTypeUnknownSupplied:Wt.EnumInvalidExplicitType,e,r)}flowEnumErrorInvalidMemberInitializer(t,{enumName:e,explicitType:r,memberName:s}){let i=null;switch(r){case"boolean":case"number":case"string":i=Wt.EnumInvalidMemberInitializerPrimaryType;break;case"symbol":i=Wt.EnumInvalidMemberInitializerSymbolType;break;default:i=Wt.EnumInvalidMemberInitializerUnknownType}return this.raise(t,i,e,s,r)}flowEnumErrorNumberMemberNotInitialized(t,{enumName:e,memberName:r}){this.raise(t,Wt.EnumNumberMemberNotInitialized,e,r)}flowEnumErrorStringMemberInconsistentlyInitailized(t,{enumName:e}){this.raise(t,Wt.EnumStringMemberInconsistentlyInitailized,e)}flowEnumMemberInit(){const t=this.state.start,e=()=>this.match(d.comma)||this.match(d.braceR);switch(this.state.type){case d.num:{const r=this.parseLiteral(this.state.value,"NumericLiteral");return e()?{type:"number",pos:r.start,value:r}:{type:"invalid",pos:t}}case d.string:{const r=this.parseLiteral(this.state.value,"StringLiteral");return e()?{type:"string",pos:r.start,value:r}:{type:"invalid",pos:t}}case d._true:case d._false:{const r=this.parseBooleanLiteral();return e()?{type:"boolean",pos:r.start,value:r}:{type:"invalid",pos:t}}default:return{type:"invalid",pos:t}}}flowEnumMemberRaw(){const t=this.state.start,e=this.parseIdentifier(!0),r=this.eat(d.eq)?this.flowEnumMemberInit():{type:"none",pos:t};return{id:e,init:r}}flowEnumCheckExplicitTypeMismatch(t,e,r){const{explicitType:s}=e;null!==s&&s!==r&&this.flowEnumErrorInvalidMemberInitializer(t,e)}flowEnumMembers({enumName:t,explicitType:e}){const r=new Set,s={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]};let i=!1;while(!this.match(d.braceR)){if(this.eat(d.ellipsis)){i=!0;break}const n=this.startNode(),{id:a,init:o}=this.flowEnumMemberRaw(),c=a.name;if(""===c)continue;/^[a-z]/.test(c)&&this.flowEnumErrorInvalidMemberName(a.start,{enumName:t,memberName:c}),r.has(c)&&this.flowEnumErrorDuplicateMemberName(a.start,{enumName:t,memberName:c}),r.add(c);const h={enumName:t,explicitType:e,memberName:c};switch(n.id=a,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"boolean"),n.init=o.value,s.booleanMembers.push(this.finishNode(n,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"number"),n.init=o.value,s.numberMembers.push(this.finishNode(n,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.pos,h,"string"),n.init=o.value,s.stringMembers.push(this.finishNode(n,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.pos,h);case"none":switch(e){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.pos,h);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.pos,h);break;default:s.defaultedMembers.push(this.finishNode(n,"EnumDefaultedMember"))}}this.match(d.braceR)||this.expect(d.comma)}return{members:s,hasUnknownMembers:i}}flowEnumStringMembers(t,e,{enumName:r}){if(0===t.length)return e;if(0===e.length)return t;if(e.length>t.length){for(const e of t)this.flowEnumErrorStringMemberInconsistentlyInitailized(e.start,{enumName:r});return e}for(const s of e)this.flowEnumErrorStringMemberInconsistentlyInitailized(s.start,{enumName:r});return t}flowEnumParseExplicitType({enumName:t}){if(this.eatContextual("of")){if(!this.match(d.name))throw this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:t,suppliedType:null});const{value:e}=this.state;return this.next(),"boolean"!==e&&"number"!==e&&"string"!==e&&"symbol"!==e&&this.flowEnumErrorInvalidExplicitType(this.state.start,{enumName:t,suppliedType:e}),e}return null}flowEnumBody(t,{enumName:e,nameLoc:r}){const s=this.flowEnumParseExplicitType({enumName:e});this.expect(d.braceL);const{members:i,hasUnknownMembers:n}=this.flowEnumMembers({enumName:e,explicitType:s});switch(t.hasUnknownMembers=n,s){case"boolean":return t.explicitType=!0,t.members=i.booleanMembers,this.expect(d.braceR),this.finishNode(t,"EnumBooleanBody");case"number":return t.explicitType=!0,t.members=i.numberMembers,this.expect(d.braceR),this.finishNode(t,"EnumNumberBody");case"string":return t.explicitType=!0,t.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:e}),this.expect(d.braceR),this.finishNode(t,"EnumStringBody");case"symbol":return t.members=i.defaultedMembers,this.expect(d.braceR),this.finishNode(t,"EnumSymbolBody");default:{const s=()=>(t.members=[],this.expect(d.braceR),this.finishNode(t,"EnumStringBody"));t.explicitType=!1;const n=i.booleanMembers.length,a=i.numberMembers.length,o=i.stringMembers.length,c=i.defaultedMembers.length;if(n||a||o||c){if(n||a){if(!a&&!o&&n>=c){for(const t of i.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(t.start,{enumName:e,memberName:t.id.name});return t.members=i.booleanMembers,this.expect(d.braceR),this.finishNode(t,"EnumBooleanBody")}if(!n&&!o&&a>=c){for(const t of i.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(t.start,{enumName:e,memberName:t.id.name});return t.members=i.numberMembers,this.expect(d.braceR),this.finishNode(t,"EnumNumberBody")}return this.flowEnumErrorInconsistentMemberValues(r,{enumName:e}),s()}return t.members=this.flowEnumStringMembers(i.stringMembers,i.defaultedMembers,{enumName:e}),this.expect(d.braceR),this.finishNode(t,"EnumStringBody")}return s()}}}flowParseEnumDeclaration(t){const e=this.parseIdentifier();return t.id=e,t.body=this.flowEnumBody(this.startNode(),{enumName:e.name,nameLoc:e.start}),this.finishNode(t,"EnumDeclaration")}updateContext(t){this.match(d.name)&&"of"===this.state.value&&t===d.name&&"interface"===this.input.slice(this.state.lastTokStart,this.state.lastTokEnd)?this.state.exprAllowed=!1:super.updateContext(t)}isLookaheadToken_lt(){const t=this.nextTokenStart();if(60===this.input.charCodeAt(t)){const e=this.input.charCodeAt(t+1);return 60!==e&&61!==e}return!1}maybeUnwrapTypeCastExpression(t){return"TypeCastExpression"===t.type?t.expression:t}},e};const Zt={quot:'"',amp:"&",apos:"'",lt:"<",gt:">",nbsp:" ",iexcl:"¡",cent:"¢",pound:"£",curren:"¤",yen:"¥",brvbar:"¦",sect:"§",uml:"¨",copy:"©",ordf:"ª",laquo:"«",not:"¬",shy:"­",reg:"®",macr:"¯",deg:"°",plusmn:"±",sup2:"²",sup3:"³",acute:"´",micro:"µ",para:"¶",middot:"·",cedil:"¸",sup1:"¹",ordm:"º",raquo:"»",frac14:"¼",frac12:"½",frac34:"¾",iquest:"¿",Agrave:"À",Aacute:"Á",Acirc:"Â",Atilde:"Ã",Auml:"Ä",Aring:"Å",AElig:"Æ",Ccedil:"Ç",Egrave:"È",Eacute:"É",Ecirc:"Ê",Euml:"Ë",Igrave:"Ì",Iacute:"Í",Icirc:"Î",Iuml:"Ï",ETH:"Ð",Ntilde:"Ñ",Ograve:"Ò",Oacute:"Ó",Ocirc:"Ô",Otilde:"Õ",Ouml:"Ö",times:"×",Oslash:"Ø",Ugrave:"Ù",Uacute:"Ú",Ucirc:"Û",Uuml:"Ü",Yacute:"Ý",THORN:"Þ",szlig:"ß",agrave:"à",aacute:"á",acirc:"â",atilde:"ã",auml:"ä",aring:"å",aelig:"æ",ccedil:"ç",egrave:"è",eacute:"é",ecirc:"ê",euml:"ë",igrave:"ì",iacute:"í",icirc:"î",iuml:"ï",eth:"ð",ntilde:"ñ",ograve:"ò",oacute:"ó",ocirc:"ô",otilde:"õ",ouml:"ö",divide:"÷",oslash:"ø",ugrave:"ù",uacute:"ú",ucirc:"û",uuml:"ü",yacute:"ý",thorn:"þ",yuml:"ÿ",OElig:"Œ",oelig:"œ",Scaron:"Š",scaron:"š",Yuml:"Ÿ",fnof:"ƒ",circ:"ˆ",tilde:"˜",Alpha:"Α",Beta:"Β",Gamma:"Γ",Delta:"Δ",Epsilon:"Ε",Zeta:"Ζ",Eta:"Η",Theta:"Θ",Iota:"Ι",Kappa:"Κ",Lambda:"Λ",Mu:"Μ",Nu:"Ν",Xi:"Ξ",Omicron:"Ο",Pi:"Π",Rho:"Ρ",Sigma:"Σ",Tau:"Τ",Upsilon:"Υ",Phi:"Φ",Chi:"Χ",Psi:"Ψ",Omega:"Ω",alpha:"α",beta:"β",gamma:"γ",delta:"δ",epsilon:"ε",zeta:"ζ",eta:"η",theta:"θ",iota:"ι",kappa:"κ",lambda:"λ",mu:"μ",nu:"ν",xi:"ξ",omicron:"ο",pi:"π",rho:"ρ",sigmaf:"ς",sigma:"σ",tau:"τ",upsilon:"υ",phi:"φ",chi:"χ",psi:"ψ",omega:"ω",thetasym:"ϑ",upsih:"ϒ",piv:"ϖ",ensp:" ",emsp:" ",thinsp:" ",zwnj:"‌",zwj:"‍",lrm:"‎",rlm:"‏",ndash:"–",mdash:"—",lsquo:"‘",rsquo:"’",sbquo:"‚",ldquo:"“",rdquo:"”",bdquo:"„",dagger:"†",Dagger:"‡",bull:"•",hellip:"…",permil:"‰",prime:"′",Prime:"″",lsaquo:"‹",rsaquo:"›",oline:"‾",frasl:"⁄",euro:"€",image:"ℑ",weierp:"℘",real:"ℜ",trade:"™",alefsym:"ℵ",larr:"←",uarr:"↑",rarr:"→",darr:"↓",harr:"↔",crarr:"↵",lArr:"⇐",uArr:"⇑",rArr:"⇒",dArr:"⇓",hArr:"⇔",forall:"∀",part:"∂",exist:"∃",empty:"∅",nabla:"∇",isin:"∈",notin:"∉",ni:"∋",prod:"∏",sum:"∑",minus:"−",lowast:"∗",radic:"√",prop:"∝",infin:"∞",ang:"∠",and:"∧",or:"∨",cap:"∩",cup:"∪",int:"∫",there4:"∴",sim:"∼",cong:"≅",asymp:"≈",ne:"≠",equiv:"≡",le:"≤",ge:"≥",sub:"⊂",sup:"⊃",nsub:"⊄",sube:"⊆",supe:"⊇",oplus:"⊕",otimes:"⊗",perp:"⊥",sdot:"⋅",lceil:"⌈",rceil:"⌉",lfloor:"⌊",rfloor:"⌋",lang:"〈",rang:"〉",loz:"◊",spades:"♠",clubs:"♣",hearts:"♥",diams:"♦"},te=/^[\da-fA-F]+$/,ee=/^\d+$/,re=Object.freeze({AttributeIsEmpty:"JSX attributes must only be assigned a non-empty expression",MissingClosingTagElement:"Expected corresponding JSX closing tag for <%0>",MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text",UnterminatedJsxContent:"Unterminated JSX contents",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function se(t){return!!t&&("JSXOpeningFragment"===t.type||"JSXClosingFragment"===t.type)}function ie(t){if("JSXIdentifier"===t.type)return t.name;if("JSXNamespacedName"===t.type)return t.namespace.name+":"+t.name.name;if("JSXMemberExpression"===t.type)return ie(t.object)+"."+ie(t.property);throw new Error("Node had unexpected type: "+t.type)}k.j_oTag=new N("...",!0,!0),d.jsxName=new h("jsxName"),d.jsxText=new h("jsxText",{beforeExpr:!0}),d.jsxTagStart=new h("jsxTagStart",{startsExpr:!0}),d.jsxTagEnd=new h("jsxTagEnd"),d.jsxTagStart.updateContext=function(){this.state.context.push(k.j_expr),this.state.context.push(k.j_oTag),this.state.exprAllowed=!1},d.jsxTagEnd.updateContext=function(t){const e=this.state.context.pop();e===k.j_oTag&&t===d.slash||e===k.j_cTag?(this.state.context.pop(),this.state.exprAllowed=this.curContext()===k.j_expr):this.state.exprAllowed=!0};var ne=t=>class extends t{jsxReadToken(){let t="",e=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,re.UnterminatedJsxContent);const r=this.input.charCodeAt(this.state.pos);switch(r){case 60:case 123:return this.state.pos===this.state.start?60===r&&this.state.exprAllowed?(++this.state.pos,this.finishToken(d.jsxTagStart)):super.getTokenFromCode(r):(t+=this.input.slice(e,this.state.pos),this.finishToken(d.jsxText,t));case 38:t+=this.input.slice(e,this.state.pos),t+=this.jsxReadEntity(),e=this.state.pos;break;case 62:case 125:default:y(r)?(t+=this.input.slice(e,this.state.pos),t+=this.jsxReadNewLine(!0),e=this.state.pos):++this.state.pos}}}jsxReadNewLine(t){const e=this.input.charCodeAt(this.state.pos);let r;return++this.state.pos,13===e&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,r=t?"\n":"\r\n"):r=String.fromCharCode(e),++this.state.curLine,this.state.lineStart=this.state.pos,r}jsxReadString(t){let e="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,A.UnterminatedString);const s=this.input.charCodeAt(this.state.pos);if(s===t)break;38===s?(e+=this.input.slice(r,this.state.pos),e+=this.jsxReadEntity(),r=this.state.pos):y(s)?(e+=this.input.slice(r,this.state.pos),e+=this.jsxReadNewLine(!1),r=this.state.pos):++this.state.pos}return e+=this.input.slice(r,this.state.pos++),this.finishToken(d.string,e)}jsxReadEntity(){let t,e="",r=0,s=this.input[this.state.pos];const i=++this.state.pos;while(this.state.pos-1){if(r&ft){const s=!!(r&mt),i=t.constEnums.indexOf(e)>-1;return s!==i}return!0}return r&dt&&t.classes.indexOf(e)>-1?t.lexical.indexOf(e)>-1&&!!(r&ot):!!(r&ct&&t.types.indexOf(e)>-1)||super.isRedeclaredInScope(...arguments)}checkLocalExport(t){-1===this.scopeStack[0].types.indexOf(t.name)&&-1===this.scopeStack[0].exportOnlyBindings.indexOf(t.name)&&super.checkLocalExport(t)}}const ce=0,he=1,le=2,pe=4,ue=8;class de{constructor(){this.stacks=[]}enter(t){this.stacks.push(t)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(this.currentFlags()&le)>0}get hasYield(){return(this.currentFlags()&he)>0}get hasReturn(){return(this.currentFlags()&pe)>0}get hasIn(){return(this.currentFlags()&ue)>0}}function fe(t,e){return(t?le:0)|(e?he:0)}function me(t){if(null==t)throw new Error(`Unexpected ${t} value.`);return t}function ye(t){if(!t)throw new Error("Assert fail")}const ge=Object.freeze({AbstractMethodHasImplementation:"Method '%0' cannot have an implementation because it is marked abstract.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:"Accessibility modifier already seen.",DuplicateModifier:"Duplicate modifier: '%0'",EmptyHeritageClauseType:"'%0' list cannot be empty.",EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'",IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier",IndexSignatureHasAccessibility:"Index signatures cannot have an accessibility modifier ('%0')",IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier",InvalidModifierOnTypeMember:"'%0' modifier cannot appear on a type member.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MixedLabeledAndUnlabeledElements:"Tuple members must all have names or all not have names.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifer:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:"Private elements cannot have an accessibility modifier ('%0')",ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:"Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got %0"});function xe(t){switch(t){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function be(t){return"private"===t||"public"===t||"protected"===t}var ve=t=>class extends t{getScopeHandler(){return oe}tsIsIdentifier(){return this.match(d.name)}tsNextTokenCanFollowModifier(){return this.next(),(this.match(d.bracketL)||this.match(d.braceL)||this.match(d.star)||this.match(d.ellipsis)||this.match(d.hash)||this.isLiteralPropertyName())&&!this.hasPrecedingLineBreak()}tsParseModifier(t){if(!this.match(d.name))return;const e=this.state.value;return-1!==t.indexOf(e)&&this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this))?e:void 0}tsParseModifiers(t,e,r,s){for(;;){const i=this.state.start,n=this.tsParseModifier(e.concat(null!=r?r:[]));if(!n)break;be(n)?t.accessibility?this.raise(i,ge.DuplicateAccessibilityModifier):t.accessibility=n:(Object.hasOwnProperty.call(t,n)&&this.raise(i,ge.DuplicateModifier,n),t[n]=!0),null!=r&&r.includes(n)&&this.raise(i,s,n)}}tsIsListTerminator(t){switch(t){case"EnumMembers":case"TypeMembers":return this.match(d.braceR);case"HeritageClauseElement":return this.match(d.braceL);case"TupleElementTypes":return this.match(d.bracketR);case"TypeParametersOrArguments":return this.isRelational(">")}throw new Error("Unreachable")}tsParseList(t,e){const r=[];while(!this.tsIsListTerminator(t))r.push(e());return r}tsParseDelimitedList(t,e){return me(this.tsParseDelimitedListWorker(t,e,!0))}tsParseDelimitedListWorker(t,e,r){const s=[];for(;;){if(this.tsIsListTerminator(t))break;const i=e();if(null==i)return;if(s.push(i),!this.eat(d.comma)){if(this.tsIsListTerminator(t))break;return void(r&&this.expect(d.comma))}}return s}tsParseBracketedList(t,e,r,s){s||(r?this.expect(d.bracketL):this.expectRelational("<"));const i=this.tsParseDelimitedList(t,e);return r?this.expect(d.bracketR):this.expectRelational(">"),i}tsParseImportType(){const t=this.startNode();return this.expect(d._import),this.expect(d.parenL),this.match(d.string)||this.raise(this.state.start,ge.UnsupportedImportTypeArgument),t.argument=this.parseExprAtom(),this.expect(d.parenR),this.eat(d.dot)&&(t.qualifier=this.tsParseEntityName(!0)),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSImportType")}tsParseEntityName(t){let e=this.parseIdentifier();while(this.eat(d.dot)){const r=this.startNodeAtNode(e);r.left=e,r.right=this.parseIdentifier(t),e=this.finishNode(r,"TSQualifiedName")}return e}tsParseTypeReference(){const t=this.startNode();return t.typeName=this.tsParseEntityName(!1),!this.hasPrecedingLineBreak()&&this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSTypeReference")}tsParseThisTypePredicate(t){this.next();const e=this.startNodeAtNode(t);return e.parameterName=t,e.typeAnnotation=this.tsParseTypeAnnotation(!1),e.asserts=!1,this.finishNode(e,"TSTypePredicate")}tsParseThisTypeNode(){const t=this.startNode();return this.next(),this.finishNode(t,"TSThisType")}tsParseTypeQuery(){const t=this.startNode();return this.expect(d._typeof),this.match(d._import)?t.exprName=this.tsParseImportType():t.exprName=this.tsParseEntityName(!0),this.finishNode(t,"TSTypeQuery")}tsParseTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsEatThenParseType(d._extends),t.default=this.tsEatThenParseType(d.eq),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(){if(this.isRelational("<"))return this.tsParseTypeParameters()}tsParseTypeParameters(){const t=this.startNode();return this.isRelational("<")||this.match(d.jsxTagStart)?this.next():this.unexpected(),t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this),!1,!0),0===t.params.length&&this.raise(t.start,ge.EmptyTypeParameters),this.finishNode(t,"TSTypeParameterDeclaration")}tsTryNextParseConstantContext(){return this.lookahead().type===d._const?(this.next(),this.tsParseTypeReference()):null}tsFillSignature(t,e){const r=t===d.arrow;e.typeParameters=this.tsTryParseTypeParameters(),this.expect(d.parenL),e.parameters=this.tsParseBindingListForSignature(),(r||this.match(t))&&(e.typeAnnotation=this.tsParseTypeOrTypePredicateAnnotation(t))}tsParseBindingListForSignature(){return this.parseBindingList(d.parenR,41).map(t=>("Identifier"!==t.type&&"RestElement"!==t.type&&"ObjectPattern"!==t.type&&"ArrayPattern"!==t.type&&this.raise(t.start,ge.UnsupportedSignatureParameterKind,t.type),t))}tsParseTypeMemberSemicolon(){this.eat(d.comma)||this.semicolon()}tsParseSignatureMember(t,e){return this.tsFillSignature(d.colon,e),this.tsParseTypeMemberSemicolon(),this.finishNode(e,t)}tsIsUnambiguouslyIndexSignature(){return this.next(),this.eat(d.name)&&this.match(d.colon)}tsTryParseIndexSignature(t){if(!this.match(d.bracketL)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(d.bracketL);const e=this.parseIdentifier();e.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(e),this.expect(d.bracketR),t.parameters=[e];const r=this.tsTryParseTypeAnnotation();return r&&(t.typeAnnotation=r),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSIndexSignature")}tsParsePropertyOrMethodSignature(t,e){this.eat(d.question)&&(t.optional=!0);const r=t;if(this.match(d.parenL)||this.isRelational("<")){e&&this.raise(t.start,ge.ReadonlyForMethodSignature);const s=r;return this.tsFillSignature(d.colon,s),this.tsParseTypeMemberSemicolon(),this.finishNode(s,"TSMethodSignature")}{const t=r;e&&(t.readonly=!0);const s=this.tsTryParseTypeAnnotation();return s&&(t.typeAnnotation=s),this.tsParseTypeMemberSemicolon(),this.finishNode(t,"TSPropertySignature")}}tsParseTypeMember(){const t=this.startNode();if(this.match(d.parenL)||this.isRelational("<"))return this.tsParseSignatureMember("TSCallSignatureDeclaration",t);if(this.match(d._new)){const e=this.startNode();return this.next(),this.match(d.parenL)||this.isRelational("<")?this.tsParseSignatureMember("TSConstructSignatureDeclaration",t):(t.key=this.createIdentifier(e,"new"),this.tsParsePropertyOrMethodSignature(t,!1))}this.tsParseModifiers(t,["readonly"],["declare","abstract","private","protected","public","static"],ge.InvalidModifierOnTypeMember);const e=this.tsTryParseIndexSignature(t);return e||(this.parsePropertyName(t,!1),this.tsParsePropertyOrMethodSignature(t,!!t.readonly))}tsParseTypeLiteral(){const t=this.startNode();return t.members=this.tsParseObjectTypeMembers(),this.finishNode(t,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(d.braceL);const t=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(d.braceR),t}tsIsStartOfMappedType(){return this.next(),this.eat(d.plusMin)?this.isContextual("readonly"):(this.isContextual("readonly")&&this.next(),!!this.match(d.bracketL)&&(this.next(),!!this.tsIsIdentifier()&&(this.next(),this.match(d._in))))}tsParseMappedTypeParameter(){const t=this.startNode();return t.name=this.parseIdentifierName(t.start),t.constraint=this.tsExpectThenParseType(d._in),this.finishNode(t,"TSTypeParameter")}tsParseMappedType(){const t=this.startNode();return this.expect(d.braceL),this.match(d.plusMin)?(t.readonly=this.state.value,this.next(),this.expectContextual("readonly")):this.eatContextual("readonly")&&(t.readonly=!0),this.expect(d.bracketL),t.typeParameter=this.tsParseMappedTypeParameter(),t.nameType=this.eatContextual("as")?this.tsParseType():null,this.expect(d.bracketR),this.match(d.plusMin)?(t.optional=this.state.value,this.next(),this.expect(d.question)):this.eat(d.question)&&(t.optional=!0),t.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(d.braceR),this.finishNode(t,"TSMappedType")}tsParseTupleType(){const t=this.startNode();t.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let e=!1,r=null;return t.elementTypes.forEach(t=>{var s;let{type:i}=t;!e||"TSRestType"===i||"TSOptionalType"===i||"TSNamedTupleMember"===i&&t.optional||this.raise(t.start,ge.OptionalTypeBeforeRequired),e=e||"TSNamedTupleMember"===i&&t.optional||"TSOptionalType"===i,"TSRestType"===i&&(t=t.typeAnnotation,i=t.type);const n="TSNamedTupleMember"===i;r=null!=(s=r)?s:n,r!==n&&this.raise(t.start,ge.MixedLabeledAndUnlabeledElements)}),this.finishNode(t,"TSTupleType")}tsParseTupleElementType(){const{start:t,startLoc:e}=this.state,r=this.eat(d.ellipsis);let s=this.tsParseType();const i=this.eat(d.question),n=this.eat(d.colon);if(n){const t=this.startNodeAtNode(s);t.optional=i,"TSTypeReference"!==s.type||s.typeParameters||"Identifier"!==s.typeName.type?(this.raise(s.start,ge.InvalidTupleMemberLabel),t.label=s):t.label=s.typeName,t.elementType=this.tsParseType(),s=this.finishNode(t,"TSNamedTupleMember")}else if(i){const t=this.startNodeAtNode(s);t.typeAnnotation=s,s=this.finishNode(t,"TSOptionalType")}if(r){const r=this.startNodeAt(t,e);r.typeAnnotation=s,s=this.finishNode(r,"TSRestType")}return s}tsParseParenthesizedType(){const t=this.startNode();return this.expect(d.parenL),t.typeAnnotation=this.tsParseType(),this.expect(d.parenR),this.finishNode(t,"TSParenthesizedType")}tsParseFunctionOrConstructorType(t,e){const r=this.startNode();return"TSConstructorType"===t&&(r.abstract=!!e,e&&this.next(),this.next()),this.tsFillSignature(d.arrow,r),this.finishNode(r,t)}tsParseLiteralTypeNode(){const t=this.startNode();return t.literal=(()=>{switch(this.state.type){case d.num:case d.bigint:case d.string:case d._true:case d._false:return this.parseExprAtom();default:throw this.unexpected()}})(),this.finishNode(t,"TSLiteralType")}tsParseTemplateLiteralType(){const t=this.startNode();return t.literal=this.parseTemplate(!1),this.finishNode(t,"TSLiteralType")}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){const t=this.tsParseThisTypeNode();return this.isContextual("is")&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(t):t}tsParseNonArrayType(){switch(this.state.type){case d.name:case d._void:case d._null:{const t=this.match(d._void)?"TSVoidKeyword":this.match(d._null)?"TSNullKeyword":xe(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){const e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}case d.string:case d.num:case d.bigint:case d._true:case d._false:return this.tsParseLiteralTypeNode();case d.plusMin:if("-"===this.state.value){const t=this.startNode(),e=this.lookahead();if(e.type!==d.num&&e.type!==d.bigint)throw this.unexpected();return t.literal=this.parseMaybeUnary(),this.finishNode(t,"TSLiteralType")}break;case d._this:return this.tsParseThisTypeOrThisTypePredicate();case d._typeof:return this.tsParseTypeQuery();case d._import:return this.tsParseImportType();case d.braceL:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case d.bracketL:return this.tsParseTupleType();case d.parenL:return this.tsParseParenthesizedType();case d.backQuote:return this.tsParseTemplateLiteralType()}throw this.unexpected()}tsParseArrayTypeOrHigher(){let t=this.tsParseNonArrayType();while(!this.hasPrecedingLineBreak()&&this.eat(d.bracketL))if(this.match(d.bracketR)){const e=this.startNodeAtNode(t);e.elementType=t,this.expect(d.bracketR),t=this.finishNode(e,"TSArrayType")}else{const e=this.startNodeAtNode(t);e.objectType=t,e.indexType=this.tsParseType(),this.expect(d.bracketR),t=this.finishNode(e,"TSIndexedAccessType")}return t}tsParseTypeOperator(t){const e=this.startNode();return this.expectContextual(t),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(t){switch(t.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(t.start,ge.UnexpectedReadonly)}}tsParseInferType(){const t=this.startNode();this.expectContextual("infer");const e=this.startNode();return e.name=this.parseIdentifierName(e.start),t.typeParameter=this.finishNode(e,"TSTypeParameter"),this.finishNode(t,"TSInferType")}tsParseTypeOperatorOrHigher(){const t=["keyof","unique","readonly"].find(t=>this.isContextual(t));return t?this.tsParseTypeOperator(t):this.isContextual("infer")?this.tsParseInferType():this.tsParseArrayTypeOrHigher()}tsParseUnionOrIntersectionType(t,e,r){const s=this.startNode(),i=this.eat(r),n=[];do{n.push(e())}while(this.eat(r));return 1!==n.length||i?(s.types=n,this.finishNode(s,t)):n[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),d.bitwiseAND)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),d.bitwiseOR)}tsIsStartOfFunctionType(){return!!this.isRelational("<")||this.match(d.parenL)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(this.match(d.name)||this.match(d._this))return this.next(),!0;if(this.match(d.braceL)){let t=1;this.next();while(t>0)this.match(d.braceL)?++t:this.match(d.braceR)&&--t,this.next();return!0}if(this.match(d.bracketL)){let t=1;this.next();while(t>0)this.match(d.bracketL)?++t:this.match(d.bracketR)&&--t,this.next();return!0}return!1}tsIsUnambiguouslyStartOfFunctionType(){if(this.next(),this.match(d.parenR)||this.match(d.ellipsis))return!0;if(this.tsSkipParameterStart()){if(this.match(d.colon)||this.match(d.comma)||this.match(d.question)||this.match(d.eq))return!0;if(this.match(d.parenR)&&(this.next(),this.match(d.arrow)))return!0}return!1}tsParseTypeOrTypePredicateAnnotation(t){return this.tsInType(()=>{const e=this.startNode();this.expect(t);const r=this.startNode(),s=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(s&&this.match(d._this)){let t=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===t.type?(r.parameterName=t,r.asserts=!0,t=this.finishNode(r,"TSTypePredicate")):(this.resetStartLocationFromNode(t,r),t.asserts=!0),e.typeAnnotation=t,this.finishNode(e,"TSTypeAnnotation")}const i=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!i)return s?(r.parameterName=this.parseIdentifier(),r.asserts=s,e.typeAnnotation=this.finishNode(r,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,e);const n=this.tsParseTypeAnnotation(!1);return r.parameterName=i,r.typeAnnotation=n,r.asserts=s,e.typeAnnotation=this.finishNode(r,"TSTypePredicate"),this.finishNode(e,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){return this.match(d.colon)?this.tsParseTypeOrTypePredicateAnnotation(d.colon):void 0}tsTryParseTypeAnnotation(){return this.match(d.colon)?this.tsParseTypeAnnotation():void 0}tsTryParseType(){return this.tsEatThenParseType(d.colon)}tsParseTypePredicatePrefix(){const t=this.parseIdentifier();if(this.isContextual("is")&&!this.hasPrecedingLineBreak())return this.next(),t}tsParseTypePredicateAsserts(){if(!this.match(d.name)||"asserts"!==this.state.value||this.hasPrecedingLineBreak())return!1;const t=this.state.containsEsc;return this.next(),!(!this.match(d.name)&&!this.match(d._this))&&(t&&this.raise(this.state.lastTokStart,A.InvalidEscapedReservedWord,"asserts"),!0)}tsParseTypeAnnotation(t=!0,e=this.startNode()){return this.tsInType(()=>{t&&this.expect(d.colon),e.typeAnnotation=this.tsParseType()}),this.finishNode(e,"TSTypeAnnotation")}tsParseType(){ye(this.state.inType);const t=this.tsParseNonConditionalType();if(this.hasPrecedingLineBreak()||!this.eat(d._extends))return t;const e=this.startNodeAtNode(t);return e.checkType=t,e.extendsType=this.tsParseNonConditionalType(),this.expect(d.question),e.trueType=this.tsParseType(),this.expect(d.colon),e.falseType=this.tsParseType(),this.finishNode(e,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual("abstract")&&this.lookahead().type===d._new}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(d._new)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){const t=this.startNode(),e=this.tsTryNextParseConstantContext();return t.typeAnnotation=e||this.tsNextThenParseType(),this.expectRelational(">"),t.expression=this.parseMaybeUnary(),this.finishNode(t,"TSTypeAssertion")}tsParseHeritageClause(t){const e=this.state.start,r=this.tsParseDelimitedList("HeritageClauseElement",this.tsParseExpressionWithTypeArguments.bind(this));return r.length||this.raise(e,ge.EmptyHeritageClauseType,t),r}tsParseExpressionWithTypeArguments(){const t=this.startNode();return t.expression=this.tsParseEntityName(!1),this.isRelational("<")&&(t.typeParameters=this.tsParseTypeArguments()),this.finishNode(t,"TSExpressionWithTypeArguments")}tsParseInterfaceDeclaration(t){t.id=this.parseIdentifier(),this.checkLVal(t.id,"typescript interface declaration",Pt),t.typeParameters=this.tsTryParseTypeParameters(),this.eat(d._extends)&&(t.extends=this.tsParseHeritageClause("extends"));const e=this.startNode();return e.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),t.body=this.finishNode(e,"TSInterfaceBody"),this.finishNode(t,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(t){return t.id=this.parseIdentifier(),this.checkLVal(t.id,"typescript type alias",Tt),t.typeParameters=this.tsTryParseTypeParameters(),t.typeAnnotation=this.tsInType(()=>{if(this.expect(d.eq),this.isContextual("intrinsic")&&this.lookahead().type!==d.dot){const t=this.startNode();return this.next(),this.finishNode(t,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(t,"TSTypeAliasDeclaration")}tsInNoContext(t){const e=this.state.context;this.state.context=[e[0]];try{return t()}finally{this.state.context=e}}tsInType(t){const e=this.state.inType;this.state.inType=!0;try{return t()}finally{this.state.inType=e}}tsEatThenParseType(t){return this.match(t)?this.tsNextThenParseType():void 0}tsExpectThenParseType(t){return this.tsDoThenParseType(()=>this.expect(t))}tsNextThenParseType(){return this.tsDoThenParseType(()=>this.next())}tsDoThenParseType(t){return this.tsInType(()=>(t(),this.tsParseType()))}tsParseEnumMember(){const t=this.startNode();return t.id=this.match(d.string)?this.parseExprAtom():this.parseIdentifier(!0),this.eat(d.eq)&&(t.initializer=this.parseMaybeAssignAllowIn()),this.finishNode(t,"TSEnumMember")}tsParseEnumDeclaration(t,e){return e&&(t.const=!0),t.id=this.parseIdentifier(),this.checkLVal(t.id,"typescript enum declaration",e?Nt:Et),this.expect(d.braceL),t.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(d.braceR),this.finishNode(t,"TSEnumDeclaration")}tsParseModuleBlock(){const t=this.startNode();return this.scope.enter(Y),this.expect(d.braceL),this.parseBlockOrModuleBlockBody(t.body=[],void 0,!0,d.braceR),this.scope.exit(),this.finishNode(t,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(t,e=!1){if(t.id=this.parseIdentifier(),e||this.checkLVal(t.id,"module or namespace declaration",kt),this.eat(d.dot)){const e=this.startNode();this.tsParseModuleOrNamespaceDeclaration(e,!0),t.body=e}else this.scope.enter(nt),this.prodParam.enter(ce),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit();return this.finishNode(t,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(t){return this.isContextual("global")?(t.global=!0,t.id=this.parseIdentifier()):this.match(d.string)?t.id=this.parseExprAtom():this.unexpected(),this.match(d.braceL)?(this.scope.enter(nt),this.prodParam.enter(ce),t.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(t,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(t,e){t.isExport=e||!1,t.id=this.parseIdentifier(),this.checkLVal(t.id,"import equals declaration",bt),this.expect(d.eq);const r=this.tsParseModuleReference();return"type"===t.importKind&&"TSExternalModuleReference"!==r.type&&this.raise(r.start,ge.ImportAliasHasImportType),t.moduleReference=r,this.semicolon(),this.finishNode(t,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual("require")&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(!1)}tsParseExternalModuleReference(){const t=this.startNode();if(this.expectContextual("require"),this.expect(d.parenL),!this.match(d.string))throw this.unexpected();return t.expression=this.parseExprAtom(),this.expect(d.parenR),this.finishNode(t,"TSExternalModuleReference")}tsLookAhead(t){const e=this.state.clone(),r=t();return this.state=e,r}tsTryParseAndCatch(t){const e=this.tryParse(e=>t()||e());if(!e.aborted&&e.node)return e.error&&(this.state=e.failState),e.node}tsTryParse(t){const e=this.state.clone(),r=t();return void 0!==r&&!1!==r?r:void(this.state=e)}tsTryParseDeclare(t){if(this.isLineTerminator())return;let e,r=this.state.type;return this.isContextual("let")&&(r=d._var,e="let"),this.tsInDeclareContext(()=>{switch(r){case d._function:return t.declare=!0,this.parseFunctionStatement(t,!1,!0);case d._class:return t.declare=!0,this.parseClass(t,!0,!1);case d._const:if(this.match(d._const)&&this.isLookaheadContextual("enum"))return this.expect(d._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0);case d._var:return e=e||this.state.value,this.parseVarStatement(t,e);case d.name:{const e=this.state.value;return"global"===e?this.tsParseAmbientExternalModuleDeclaration(t):this.tsParseDeclaration(t,e,!0)}}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.value,!0)}tsParseExpressionStatement(t,e){switch(e.name){case"declare":{const e=this.tsTryParseDeclare(t);if(e)return e.declare=!0,e;break}case"global":if(this.match(d.braceL)){this.scope.enter(nt),this.prodParam.enter(ce);const r=t;return r.global=!0,r.id=e,r.body=this.tsParseModuleBlock(),this.scope.exit(),this.prodParam.exit(),this.finishNode(r,"TSModuleDeclaration")}break;default:return this.tsParseDeclaration(t,e.name,!1)}}tsParseDeclaration(t,e,r){switch(e){case"abstract":if(this.tsCheckLineTerminator(r)&&(this.match(d._class)||this.match(d.name)))return this.tsParseAbstractDeclaration(t);break;case"enum":if(r||this.match(d.name))return r&&this.next(),this.tsParseEnumDeclaration(t,!1);break;case"interface":if(this.tsCheckLineTerminator(r)&&this.match(d.name))return this.tsParseInterfaceDeclaration(t);break;case"module":if(this.tsCheckLineTerminator(r)){if(this.match(d.string))return this.tsParseAmbientExternalModuleDeclaration(t);if(this.match(d.name))return this.tsParseModuleOrNamespaceDeclaration(t)}break;case"namespace":if(this.tsCheckLineTerminator(r)&&this.match(d.name))return this.tsParseModuleOrNamespaceDeclaration(t);break;case"type":if(this.tsCheckLineTerminator(r)&&this.match(d.name))return this.tsParseTypeAliasDeclaration(t);break}}tsCheckLineTerminator(t){return t?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(t,e){if(!this.isRelational("<"))return;const r=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;const s=this.tsTryParseAndCatch(()=>{const r=this.startNodeAt(t,e);return r.typeParameters=this.tsParseTypeParameters(),super.parseFunctionParams(r),r.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(d.arrow),r});return this.state.maybeInArrowParameters=r,s?this.parseArrowExpression(s,null,!0):void 0}tsParseTypeArguments(){const t=this.startNode();return t.params=this.tsInType(()=>this.tsInNoContext(()=>(this.expectRelational("<"),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===t.params.length&&this.raise(t.start,ge.EmptyTypeArguments),this.state.exprAllowed=!1,this.expectRelational(">"),this.finishNode(t,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){if(this.match(d.name))switch(this.state.value){case"abstract":case"declare":case"enum":case"interface":case"module":case"namespace":case"type":return!0}return!1}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseAssignableListItem(t,e){const r=this.state.start,s=this.state.startLoc;let i,n=!1;void 0!==t&&(i=this.parseAccessModifier(),n=!!this.tsParseModifier(["readonly"]),!1===t&&(i||n)&&this.raise(r,ge.UnexpectedParameterModifier));const a=this.parseMaybeDefault();this.parseAssignableListItemTypes(a);const o=this.parseMaybeDefault(a.start,a.loc.start,a);if(i||n){const t=this.startNodeAt(r,s);return e.length&&(t.decorators=e),i&&(t.accessibility=i),n&&(t.readonly=n),"Identifier"!==o.type&&"AssignmentPattern"!==o.type&&this.raise(t.start,ge.UnsupportedParameterPropertyKind),t.parameter=o,this.finishNode(t,"TSParameterProperty")}return e.length&&(a.decorators=e),o}parseFunctionBodyAndFinish(t,e,r=!1){this.match(d.colon)&&(t.returnType=this.tsParseTypeOrTypePredicateAnnotation(d.colon));const s="FunctionDeclaration"===e?"TSDeclareFunction":"ClassMethod"===e?"TSDeclareMethod":void 0;s&&!this.match(d.braceL)&&this.isLineTerminator()?this.finishNode(t,s):"TSDeclareFunction"===s&&this.state.isDeclareContext&&(this.raise(t.start,ge.DeclareFunctionHasImplementation),t.declare)?super.parseFunctionBodyAndFinish(t,s,r):super.parseFunctionBodyAndFinish(t,e,r)}registerFunctionStatementId(t){!t.body&&t.id?this.checkLVal(t.id,"function name",At):super.registerFunctionStatementId(...arguments)}tsCheckForInvalidTypeCasts(t){t.forEach(t=>{"TSTypeCastExpression"===(null==t?void 0:t.type)&&this.raise(t.typeAnnotation.start,ge.UnexpectedTypeAnnotation)})}toReferencedList(t,e){return this.tsCheckForInvalidTypeCasts(t),t}parseArrayLike(...t){const e=super.parseArrayLike(...t);return"ArrayExpression"===e.type&&this.tsCheckForInvalidTypeCasts(e.elements),e}parseSubscript(t,e,r,s,i){if(!this.hasPrecedingLineBreak()&&this.match(d.bang)){this.state.exprAllowed=!1,this.next();const s=this.startNodeAt(e,r);return s.expression=t,this.finishNode(s,"TSNonNullExpression")}if(this.isRelational("<")){const n=this.tsTryParseAndCatch(()=>{if(!s&&this.atPossibleAsyncArrow(t)){const t=this.tsTryParseGenericAsyncArrowFunction(e,r);if(t)return t}const n=this.startNodeAt(e,r);n.callee=t;const a=this.tsParseTypeArguments();if(a){if(!s&&this.eat(d.parenL))return n.arguments=this.parseCallExpressionArguments(d.parenR,!1),this.tsCheckForInvalidTypeCasts(n.arguments),n.typeParameters=a,i.optionalChainMember&&(n.optional=!1),this.finishCallExpression(n,i.optionalChainMember);if(this.match(d.backQuote)){const s=this.parseTaggedTemplateExpression(t,e,r,i);return s.typeParameters=a,s}}this.unexpected()});if(n)return n}return super.parseSubscript(t,e,r,s,i)}parseNewArguments(t){if(this.isRelational("<")){const e=this.tsTryParseAndCatch(()=>{const t=this.tsParseTypeArguments();return this.match(d.parenL)||this.unexpected(),t});e&&(t.typeParameters=e)}super.parseNewArguments(t)}parseExprOp(t,e,r,s){if(me(d._in.binop)>s&&!this.hasPrecedingLineBreak()&&this.isContextual("as")){const i=this.startNodeAt(e,r);i.expression=t;const n=this.tsTryNextParseConstantContext();return i.typeAnnotation=n||this.tsNextThenParseType(),this.finishNode(i,"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(i,e,r,s)}return super.parseExprOp(t,e,r,s)}checkReservedWord(t,e,r,s){}checkDuplicateExports(){}parseImport(t){if(t.importKind="value",this.match(d.name)||this.match(d.star)||this.match(d.braceL)){let e=this.lookahead();if(!this.isContextual("type")||e.type===d.comma||e.type===d.name&&"from"===e.value||e.type===d.eq||(t.importKind="type",this.next(),e=this.lookahead()),this.match(d.name)&&e.type===d.eq)return this.tsParseImportEqualsDeclaration(t)}const e=super.parseImport(t);return"type"===e.importKind&&e.specifiers.length>1&&"ImportDefaultSpecifier"===e.specifiers[0].type&&this.raise(e.start,"A type-only import can specify a default import or named bindings, but not both."),e}parseExport(t){if(this.match(d._import))return this.next(),this.isContextual("type")&&61!==this.lookaheadCharCode()?(t.importKind="type",this.next()):t.importKind="value",this.tsParseImportEqualsDeclaration(t,!0);if(this.eat(d.eq)){const e=t;return e.expression=this.parseExpression(),this.semicolon(),this.finishNode(e,"TSExportAssignment")}if(this.eatContextual("as")){const e=t;return this.expectContextual("namespace"),e.id=this.parseIdentifier(),this.semicolon(),this.finishNode(e,"TSNamespaceExportDeclaration")}return this.isContextual("type")&&this.lookahead().type===d.braceL?(this.next(),t.exportKind="type"):t.exportKind="value",super.parseExport(t)}isAbstractClass(){return this.isContextual("abstract")&&this.lookahead().type===d._class}parseExportDefaultExpression(){if(this.isAbstractClass()){const t=this.startNode();return this.next(),t.abstract=!0,this.parseClass(t,!0,!0),t}if("interface"===this.state.value){const t=this.tsParseDeclaration(this.startNode(),this.state.value,!0);if(t)return t}return super.parseExportDefaultExpression()}parseStatementContent(t,e){if(this.state.type===d._const){const t=this.lookahead();if(t.type===d.name&&"enum"===t.value){const t=this.startNode();return this.expect(d._const),this.expectContextual("enum"),this.tsParseEnumDeclaration(t,!0)}}return super.parseStatementContent(t,e)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}parseClassMember(t,e,r){this.tsParseModifiers(e,["declare","private","public","protected"]);const s=()=>{super.parseClassMember(t,e,r)};e.declare?this.tsInDeclareContext(s):s()}parseClassMemberWithIsStatic(t,e,r,s){this.tsParseModifiers(e,["abstract","readonly","declare"]);const i=this.tsTryParseIndexSignature(e);if(i)return t.body.push(i),e.abstract&&this.raise(e.start,ge.IndexSignatureHasAbstract),s&&this.raise(e.start,ge.IndexSignatureHasStatic),e.accessibility&&this.raise(e.start,ge.IndexSignatureHasAccessibility,e.accessibility),void(e.declare&&this.raise(e.start,ge.IndexSignatureHasDeclare));!this.state.inAbstractClass&&e.abstract&&this.raise(e.start,ge.NonAbstractClassHasAbstractMethod),super.parseClassMemberWithIsStatic(t,e,r,s)}parsePostMemberNameModifiers(t){const e=this.eat(d.question);e&&(t.optional=!0),t.readonly&&this.match(d.parenL)&&this.raise(t.start,ge.ClassMethodHasReadonly),t.declare&&this.match(d.parenL)&&this.raise(t.start,ge.ClassMethodHasDeclare)}parseExpressionStatement(t,e){const r="Identifier"===e.type?this.tsParseExpressionStatement(t,e):void 0;return r||super.parseExpressionStatement(t,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(t,e,r,s){if(!s||!this.match(d.question))return super.parseConditional(t,e,r,s);const i=this.tryParse(()=>super.parseConditional(t,e,r));return i.node?(i.error&&(this.state=i.failState),i.node):(s.start=i.error.pos||this.state.start,t)}parseParenItem(t,e,r){if(t=super.parseParenItem(t,e,r),this.eat(d.question)&&(t.optional=!0,this.resetEndLocation(t)),this.match(d.colon)){const s=this.startNodeAt(e,r);return s.expression=t,s.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(s,"TSTypeCastExpression")}return t}parseExportDeclaration(t){const e=this.state.start,r=this.state.startLoc,s=this.eatContextual("declare");if(s&&(this.isContextual("declare")||!this.shouldParseExportDeclaration()))throw this.raise(this.state.start,ge.ExpectedAmbientAfterExportDeclare);let i;return this.match(d.name)&&(i=this.tsTryParseExportDeclaration()),i||(i=super.parseExportDeclaration(t)),i&&("TSInterfaceDeclaration"===i.type||"TSTypeAliasDeclaration"===i.type||s)&&(t.exportKind="type"),i&&s&&(this.resetStartLocation(i,e,r),i.declare=!0),i}parseClassId(t,e,r){if((!e||r)&&this.isContextual("implements"))return;super.parseClassId(t,e,r,t.declare?At:xt);const s=this.tsTryParseTypeParameters();s&&(t.typeParameters=s)}parseClassPropertyAnnotation(t){!t.optional&&this.eat(d.bang)&&(t.definite=!0);const e=this.tsTryParseTypeAnnotation();e&&(t.typeAnnotation=e)}parseClassProperty(t){return this.parseClassPropertyAnnotation(t),this.state.isDeclareContext&&this.match(d.eq)&&this.raise(this.state.start,ge.DeclareClassFieldHasInitializer),super.parseClassProperty(t)}parseClassPrivateProperty(t){return t.abstract&&this.raise(t.start,ge.PrivateElementHasAbstract),t.accessibility&&this.raise(t.start,ge.PrivateElementHasAccessibility,t.accessibility),this.parseClassPropertyAnnotation(t),super.parseClassPrivateProperty(t)}pushClassMethod(t,e,r,s,i,n){const a=this.tsTryParseTypeParameters();a&&i&&this.raise(a.start,ge.ConstructorHasTypeParameters),a&&(e.typeParameters=a),super.pushClassMethod(t,e,r,s,i,n)}pushClassPrivateMethod(t,e,r,s){const i=this.tsTryParseTypeParameters();i&&(e.typeParameters=i),super.pushClassPrivateMethod(t,e,r,s)}parseClassSuper(t){super.parseClassSuper(t),t.superClass&&this.isRelational("<")&&(t.superTypeParameters=this.tsParseTypeArguments()),this.eatContextual("implements")&&(t.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(t,...e){const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r),super.parseObjPropValue(t,...e)}parseFunctionParams(t,e){const r=this.tsTryParseTypeParameters();r&&(t.typeParameters=r),super.parseFunctionParams(t,e)}parseVarId(t,e){super.parseVarId(t,e),"Identifier"===t.id.type&&this.eat(d.bang)&&(t.definite=!0);const r=this.tsTryParseTypeAnnotation();r&&(t.id.typeAnnotation=r,this.resetEndLocation(t.id))}parseAsyncArrowFromCallExpression(t,e){return this.match(d.colon)&&(t.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(t,e)}parseMaybeAssign(...t){var e,r,s,i,n,a,o;let c,h,l,p;if(this.hasPlugin("jsx")&&(this.match(d.jsxTagStart)||this.isRelational("<"))){if(c=this.state.clone(),h=this.tryParse(()=>super.parseMaybeAssign(...t),c),!h.error)return h.node;const{context:e}=this.state;e[e.length-1]===k.j_oTag?e.length-=2:e[e.length-1]===k.j_expr&&(e.length-=1)}if((null==(e=h)||!e.error)&&!this.isRelational("<"))return super.parseMaybeAssign(...t);c=c||this.state.clone();const u=this.tryParse(e=>{var r;p=this.tsParseTypeParameters();const s=super.parseMaybeAssign(...t);return("ArrowFunctionExpression"!==s.type||s.extra&&s.extra.parenthesized)&&e(),0!==(null==(r=p)?void 0:r.params.length)&&this.resetStartLocationFromNode(s,p),s.typeParameters=p,s},c);if(!u.error&&!u.aborted)return u.node;if(!h&&(ye(!this.hasPlugin("jsx")),l=this.tryParse(()=>super.parseMaybeAssign(...t),c),!l.error))return l.node;if(null!=(r=h)&&r.node)return this.state=h.failState,h.node;if(u.node)return this.state=u.failState,u.node;if(null!=(s=l)&&s.node)return this.state=l.failState,l.node;if(null!=(i=h)&&i.thrown)throw h.error;if(u.thrown)throw u.error;if(null!=(n=l)&&n.thrown)throw l.error;throw(null==(a=h)?void 0:a.error)||u.error||(null==(o=l)?void 0:o.error)}parseMaybeUnary(t){return!this.hasPlugin("jsx")&&this.isRelational("<")?this.tsParseTypeAssertion():super.parseMaybeUnary(t)}parseArrow(t){if(this.match(d.colon)){const e=this.tryParse(t=>{const e=this.tsParseTypeOrTypePredicateAnnotation(d.colon);return!this.canInsertSemicolon()&&this.match(d.arrow)||t(),e});if(e.aborted)return;e.thrown||(e.error&&(this.state=e.failState),t.returnType=e.node)}return super.parseArrow(t)}parseAssignableListItemTypes(t){this.eat(d.question)&&("Identifier"===t.type||this.state.isDeclareContext||this.state.inType||this.raise(t.start,ge.PatternIsOptional),t.optional=!0);const e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e),this.resetEndLocation(t),t}toAssignable(t,e=!1){switch(t.type){case"TSTypeCastExpression":return super.toAssignable(this.typeCastToParameter(t),e);case"TSParameterProperty":return super.toAssignable(t,e);case"ParenthesizedExpression":return this.toAssignableParenthesizedExpression(t,e);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return t.expression=this.toAssignable(t.expression,e),t;default:return super.toAssignable(t,e)}}toAssignableParenthesizedExpression(t,e){switch(t.expression.type){case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":return t.expression=this.toAssignable(t.expression,e),t;default:return super.toAssignable(t,e)}}checkLVal(t,e,...r){switch(t.type){case"TSTypeCastExpression":return;case"TSParameterProperty":return void this.checkLVal(t.parameter,"parameter property",...r);case"TSAsExpression":case"TSNonNullExpression":case"TSTypeAssertion":return void this.checkLVal(t.expression,e,...r);default:return void super.checkLVal(t,e,...r)}}parseBindingAtom(){switch(this.state.type){case d._this:return this.parseIdentifier(!0);default:return super.parseBindingAtom()}}parseMaybeDecoratorArguments(t){if(this.isRelational("<")){const e=this.tsParseTypeArguments();if(this.match(d.parenL)){const r=super.parseMaybeDecoratorArguments(t);return r.typeParameters=e,r}this.unexpected(this.state.start,d.parenL)}return super.parseMaybeDecoratorArguments(t)}isClassMethod(){return this.isRelational("<")||super.isClassMethod()}isClassProperty(){return this.match(d.bang)||this.match(d.colon)||super.isClassProperty()}parseMaybeDefault(...t){const e=super.parseMaybeDefault(...t);return"AssignmentPattern"===e.type&&e.typeAnnotation&&e.right.startthis.tsParseTypeArguments());e&&(t.typeParameters=e)}return super.jsxParseOpeningElementAfterName(t)}getGetterSetterExpectedParamCount(t){const e=super.getGetterSetterExpectedParamCount(t),r=this.getObjectOrClassMethodParams(t),s=r[0],i=s&&"Identifier"===s.type&&"this"===s.name;return i?e+1:e}parseCatchClauseParam(){const t=super.parseCatchClauseParam(),e=this.tsTryParseTypeAnnotation();return e&&(t.typeAnnotation=e,this.resetEndLocation(t)),t}tsInDeclareContext(t){const e=this.state.isDeclareContext;this.state.isDeclareContext=!0;try{return t()}finally{this.state.isDeclareContext=e}}parseClass(t,...e){const r=this.state.inAbstractClass;this.state.inAbstractClass=!!t.abstract;try{return super.parseClass(t,...e)}finally{this.state.inAbstractClass=r}}tsParseAbstractDeclaration(t){if(this.match(d._class))return t.abstract=!0,this.parseClass(t,!0,!1);if(this.isContextual("interface")){if(!this.hasFollowingLineBreak())return t.abstract=!0,this.raise(t.start,ge.NonClassMethodPropertyHasAbstractModifer),this.next(),this.tsParseInterfaceDeclaration(t)}else this.unexpected(null,d._class)}parseMethod(...t){const e=super.parseMethod(...t);if(e.abstract){const t=this.hasPlugin("estree")?!!e.value.body:!!e.body;if(t){const{key:t}=e;this.raise(e.start,ge.AbstractMethodHasImplementation,"Identifier"===t.type?t.name:`[${this.input.slice(t.start,t.end)}]`)}}return e}};d.placeholder=new h("%%",{startsExpr:!0});var we=t=>class extends t{parsePlaceholder(t){if(this.match(d.placeholder)){const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space in placeholder."),e.name=super.parseIdentifier(!0),this.assertNoSpace("Unexpected space in placeholder."),this.expect(d.placeholder),this.finishPlaceholder(e,t)}}finishPlaceholder(t,e){const r=!(!t.expectedNode||"Placeholder"!==t.type);return t.expectedNode=e,r?t:this.finishNode(t,"Placeholder")}getTokenFromCode(t){return 37===t&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(d.placeholder,2):super.getTokenFromCode(...arguments)}parseExprAtom(){return this.parsePlaceholder("Expression")||super.parseExprAtom(...arguments)}parseIdentifier(){return this.parsePlaceholder("Identifier")||super.parseIdentifier(...arguments)}checkReservedWord(t){void 0!==t&&super.checkReservedWord(...arguments)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom(...arguments)}checkLVal(t){"Placeholder"!==t.type&&super.checkLVal(...arguments)}toAssignable(t){return t&&"Placeholder"===t.type&&"Expression"===t.expectedNode?(t.expectedNode="Pattern",t):super.toAssignable(...arguments)}isLet(t){if(super.isLet(t))return!0;if(!this.isContextual("let"))return!1;if(t)return!1;const e=this.lookahead();return e.type===d.placeholder}verifyBreakContinue(t){t.label&&"Placeholder"===t.label.type||super.verifyBreakContinue(...arguments)}parseExpressionStatement(t,e){if("Placeholder"!==e.type||e.extra&&e.extra.parenthesized)return super.parseExpressionStatement(...arguments);if(this.match(d.colon)){const r=t;return r.label=this.finishPlaceholder(e,"Identifier"),this.next(),r.body=this.parseStatement("label"),this.finishNode(r,"LabeledStatement")}return this.semicolon(),t.name=e.name,this.finishPlaceholder(t,"Statement")}parseBlock(){return this.parsePlaceholder("BlockStatement")||super.parseBlock(...arguments)}parseFunctionId(){return this.parsePlaceholder("Identifier")||super.parseFunctionId(...arguments)}parseClass(t,e,r){const s=e?"ClassDeclaration":"ClassExpression";this.next(),this.takeDecorators(t);const i=this.state.strict,n=this.parsePlaceholder("Identifier");if(n)if(this.match(d._extends)||this.match(d.placeholder)||this.match(d.braceL))t.id=n;else{if(r||!e)return t.id=null,t.body=this.finishPlaceholder(n,"ClassBody"),this.finishNode(t,s);this.unexpected(null,"A class name is required")}else this.parseClassId(t,e,r);return this.parseClassSuper(t),t.body=this.parsePlaceholder("ClassBody")||this.parseClassBody(!!t.superClass,i),this.finishNode(t,s)}parseExport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseExport(...arguments);if(!this.isContextual("from")&&!this.match(d.comma))return t.specifiers=[],t.source=null,t.declaration=this.finishPlaceholder(e,"Declaration"),this.finishNode(t,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");const r=this.startNode();return r.exported=e,t.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(t)}isExportDefaultSpecifier(){if(this.match(d._default)){const t=this.nextTokenStart();if(this.isUnparsedContextual(t,"from")&&this.input.startsWith(d.placeholder.label,this.nextTokenStartSince(t+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(t){return!!(t.specifiers&&t.specifiers.length>0)||super.maybeParseExportDefaultSpecifier(...arguments)}checkExport(t){const{specifiers:e}=t;null!=e&&e.length&&(t.specifiers=e.filter(t=>"Placeholder"===t.exported.type)),super.checkExport(t),t.specifiers=e}parseImport(t){const e=this.parsePlaceholder("Identifier");if(!e)return super.parseImport(...arguments);if(t.specifiers=[],!this.isContextual("from")&&!this.match(d.comma))return t.source=this.finishPlaceholder(e,"StringLiteral"),this.semicolon(),this.finishNode(t,"ImportDeclaration");const r=this.startNodeAtNode(e);if(r.local=e,this.finishNode(r,"ImportDefaultSpecifier"),t.specifiers.push(r),this.eat(d.comma)){const e=this.maybeParseStarImportSpecifier(t);e||this.parseNamedImportSpecifiers(t)}return this.expectContextual("from"),t.source=this.parseImportSource(),this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource(...arguments)}},Pe=t=>class extends t{parseV8Intrinsic(){if(this.match(d.modulo)){const t=this.state.start,e=this.startNode();if(this.eat(d.modulo),this.match(d.name)){const t=this.parseIdentifierName(this.state.start),r=this.createIdentifier(e,t);if(r.type="V8IntrinsicIdentifier",this.match(d.parenL))return r}this.unexpected(t)}}parseExprAtom(){return this.parseV8Intrinsic()||super.parseExprAtom(...arguments)}};function Te(t,e){return t.some(t=>Array.isArray(t)?t[0]===e:t===e)}function Ee(t,e,r){const s=t.find(t=>Array.isArray(t)?t[0]===e:t===e);return s&&Array.isArray(s)?s[1][r]:null}const Ae=["minimal","smart","fsharp"],Se=["hash","bar"];function Ce(t){if(Te(t,"decorators")){if(Te(t,"decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");const e=Ee(t,"decorators","decoratorsBeforeExport");if(null==e)throw new Error("The 'decorators' plugin requires a 'decoratorsBeforeExport' option, whose value must be a boolean. If you are migrating from Babylon/Babel 6 or want to use the old decorators proposal, you should use the 'decorators-legacy' plugin instead of 'decorators'.");if("boolean"!==typeof e)throw new Error("'decoratorsBeforeExport' must be a boolean.")}if(Te(t,"flow")&&Te(t,"typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(Te(t,"placeholders")&&Te(t,"v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(Te(t,"pipelineOperator")&&!Ae.includes(Ee(t,"pipelineOperator","proposal")))throw new Error("'pipelineOperator' requires 'proposal' option whose value should be one of: "+Ae.map(t=>`'${t}'`).join(", "));if(Te(t,"moduleAttributes")){if(Te(t,"importAssertions"))throw new Error("Cannot combine importAssertions and moduleAttributes plugins.");const e=Ee(t,"moduleAttributes","version");if("may-2020"!==e)throw new Error("The 'moduleAttributes' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is 'may-2020'.")}if(Te(t,"recordAndTuple")&&!Se.includes(Ee(t,"recordAndTuple","syntaxType")))throw new Error("'recordAndTuple' requires 'syntaxType' option whose value should be one of: "+Se.map(t=>`'${t}'`).join(", "))}const Ne={estree:C,jsx:ne,flow:Qt,typescript:ve,v8intrinsic:Pe,placeholders:we},ke=Object.keys(Ne),Ie={sourceType:"script",sourceFilename:void 0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,plugins:[],strictMode:null,ranges:!1,tokens:!1,createParenthesizedExpressions:!1,errorRecovery:!1};function Oe(t){const e={};for(const r of Object.keys(Ie))e[r]=t&&null!=t[r]?t[r]:Ie[r];return e}class De{constructor(){this.strict=void 0,this.curLine=void 0,this.startLoc=void 0,this.endLoc=void 0,this.errors=[],this.potentialArrowAt=-1,this.noArrowAt=[],this.noArrowParamsConversionAt=[],this.maybeInArrowParameters=!1,this.inPipeline=!1,this.inType=!1,this.noAnonFunctionType=!1,this.inPropertyName=!1,this.hasFlowComment=!1,this.isIterator=!1,this.isDeclareContext=!1,this.inAbstractClass=!1,this.topicContext={maxNumOfResolvableTopics:0,maxTopicIndex:null},this.soloAwait=!1,this.inFSharpPipelineDirectBody=!1,this.labels=[],this.decoratorStack=[[]],this.comments=[],this.trailingComments=[],this.leadingComments=[],this.commentStack=[],this.commentPreviousNode=null,this.pos=0,this.lineStart=0,this.type=d.eof,this.value=null,this.start=0,this.end=0,this.lastTokEndLoc=null,this.lastTokStartLoc=null,this.lastTokStart=0,this.lastTokEnd=0,this.context=[k.braceStatement],this.exprAllowed=!0,this.containsEsc=!1,this.strictErrors=new Map,this.exportedIdentifiers=[],this.tokensLength=0}init(t){this.strict=!1!==t.strictMode&&"module"===t.sourceType,this.curLine=t.startLine,this.startLoc=this.endLoc=this.curPosition()}curPosition(){return new b(this.curLine,this.pos-this.lineStart)}clone(t){const e=new De,r=Object.keys(this);for(let s=0,i=r.length;s=48&&t<=57};const Le=new Set(["g","m","s","i","y","u"]),_e={decBinOct:[46,66,69,79,95,98,101,111],hex:[46,88,95,120]},Re={bin:[48,49]};Re.oct=[...Re.bin,50,51,52,53,54,55],Re.dec=[...Re.oct,56,57],Re.hex=[...Re.dec,65,66,67,68,69,70,97,98,99,100,101,102];class je{constructor(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,this.loc=new v(t.startLoc,t.endLoc)}}class Fe extends S{constructor(t,e){super(),this.isLookahead=void 0,this.tokens=[],this.state=new De,this.state.init(t),this.input=e,this.length=e.length,this.isLookahead=!1}pushToken(t){this.tokens.length=this.state.tokensLength,this.tokens.push(t),++this.state.tokensLength}next(){this.isLookahead||(this.checkKeywordEscapes(),this.options.tokens&&this.pushToken(new je(this.state))),this.state.lastTokEnd=this.state.end,this.state.lastTokStart=this.state.start,this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(t){return!!this.match(t)&&(this.next(),!0)}match(t){return this.state.type===t}lookahead(){const t=this.state;this.state=t.clone(!0),this.isLookahead=!0,this.next(),this.isLookahead=!1;const e=this.state;return this.state=t,e}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(t){g.lastIndex=t;const e=g.exec(this.input);return t+e[0].length}lookaheadCharCode(){return this.input.charCodeAt(this.nextTokenStart())}setStrict(t){this.state.strict=t,t&&(this.state.strictErrors.forEach((t,e)=>this.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){const t=this.curContext();if(null!=t&&t.preserveSpace||this.skipSpace(),this.state.start=this.state.pos,this.state.startLoc=this.state.curPosition(),this.state.pos>=this.length)return void this.finishToken(d.eof);const e=null==t?void 0:t.override;e?e(this):this.getTokenFromCode(this.input.codePointAt(this.state.pos))}pushComment(t,e,r,s,i,n){const a={type:t?"CommentBlock":"CommentLine",value:e,start:r,end:s,loc:new v(i,n)};this.options.tokens&&this.pushToken(a),this.state.comments.push(a),this.addComment(a)}skipBlockComment(){const t=this.state.curPosition(),e=this.state.pos,r=this.input.indexOf("*/",this.state.pos+2);if(-1===r)throw this.raise(e,A.UnterminatedComment);let s;this.state.pos=r+2,m.lastIndex=e;while((s=m.exec(this.input))&&s.index=48&&e<=57)throw this.raise(this.state.pos,A.UnexpectedDigitAfterHash);if(123===e||91===e&&this.hasPlugin("recordAndTuple")){if(this.expectPlugin("recordAndTuple"),"hash"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,123===e?A.RecordExpressionHashIncorrectStartSyntaxType:A.TupleExpressionHashIncorrectStartSyntaxType);123===e?this.finishToken(d.braceHashL):this.finishToken(d.bracketHashL),this.state.pos+=2}else this.finishOp(d.hash,1)}readToken_dot(){const t=this.input.charCodeAt(this.state.pos+1);t>=48&&t<=57?this.readNumber(!0):46===t&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(d.ellipsis)):(++this.state.pos,this.finishToken(d.dot))}readToken_slash(){if(this.state.exprAllowed&&!this.state.inType)return++this.state.pos,void this.readRegexp();const t=this.input.charCodeAt(this.state.pos+1);61===t?this.finishOp(d.assign,2):this.finishOp(d.slash,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let t=this.input.charCodeAt(this.state.pos+1);if(33!==t)return!1;const e=this.state.pos;this.state.pos+=1;while(!y(t)&&++this.state.pos=48&&e<=57?(++this.state.pos,this.finishToken(d.question)):(this.state.pos+=2,this.finishToken(d.questionDot))}getTokenFromCode(t){switch(t){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(d.parenL);case 41:return++this.state.pos,void this.finishToken(d.parenR);case 59:return++this.state.pos,void this.finishToken(d.semi);case 44:return++this.state.pos,void this.finishToken(d.comma);case 91:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,A.TupleExpressionBarIncorrectStartSyntaxType);this.finishToken(d.bracketBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(d.bracketL);return;case 93:return++this.state.pos,void this.finishToken(d.bracketR);case 123:if(this.hasPlugin("recordAndTuple")&&124===this.input.charCodeAt(this.state.pos+1)){if("bar"!==this.getPluginOption("recordAndTuple","syntaxType"))throw this.raise(this.state.pos,A.RecordExpressionBarIncorrectStartSyntaxType);this.finishToken(d.braceBarL),this.state.pos+=2}else++this.state.pos,this.finishToken(d.braceL);return;case 125:return++this.state.pos,void this.finishToken(d.braceR);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(d.doubleColon,2):(++this.state.pos,this.finishToken(d.colon)));case 63:return void this.readToken_question();case 96:return++this.state.pos,void this.finishToken(d.backQuote);case 48:{const t=this.input.charCodeAt(this.state.pos+1);if(120===t||88===t)return void this.readRadixNumber(16);if(111===t||79===t)return void this.readRadixNumber(8);if(98===t||66===t)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(t);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(t);case 124:case 38:return void this.readToken_pipe_amp(t);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(t);case 60:case 62:return void this.readToken_lt_gt(t);case 61:case 33:return void this.readToken_eq_excl(t);case 126:return void this.finishOp(d.tilde,1);case 64:return++this.state.pos,void this.finishToken(d.at);case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(j(t))return void this.readWord()}throw this.raise(this.state.pos,A.InvalidOrUnexpectedToken,String.fromCodePoint(t))}finishOp(t,e){const r=this.input.slice(this.state.pos,this.state.pos+e);this.state.pos+=e,this.finishToken(t,r)}readRegexp(){const t=this.state.pos;let e,r;for(;;){if(this.state.pos>=this.length)throw this.raise(t,A.UnterminatedRegExp);const s=this.input.charAt(this.state.pos);if(f.test(s))throw this.raise(t,A.UnterminatedRegExp);if(e)e=!1;else{if("["===s)r=!0;else if("]"===s&&r)r=!1;else if("/"===s&&!r)break;e="\\"===s}++this.state.pos}const s=this.input.slice(t,this.state.pos);++this.state.pos;let i="";while(this.state.pos-1&&this.raise(this.state.pos+1,A.DuplicateRegExpFlags);else{if(!F(e)&&92!==e)break;this.raise(this.state.pos+1,A.MalformedRegExpFlags)}++this.state.pos,i+=t}this.finishToken(d.regexp,{pattern:s,flags:i})}readInt(t,e,r,s=!0){const i=this.state.pos,n=16===t?_e.hex:_e.decBinOct,a=16===t?Re.hex:10===t?Re.dec:8===t?Re.oct:Re.bin;let o=!1,c=0;for(let h=0,l=null==e?1/0:e;h=97?e-97+10:e>=65?e-65+10:Me(e)?e-48:1/0,i>=t)if(this.options.errorRecovery&&i<=9)i=0,this.raise(this.state.start+h+2,A.InvalidDigit,t);else{if(!r)break;i=0,o=!0}++this.state.pos,c=c*t+i}else{const t=this.input.charCodeAt(this.state.pos-1),e=this.input.charCodeAt(this.state.pos+1);(-1===a.indexOf(e)||n.indexOf(t)>-1||n.indexOf(e)>-1||Number.isNaN(e))&&this.raise(this.state.pos,A.UnexpectedNumericSeparator),s||this.raise(this.state.pos,A.NumericSeparatorInEscapeSequence),++this.state.pos}}return this.state.pos===i||null!=e&&this.state.pos-i!==e||o?null:c}readRadixNumber(t){const e=this.state.pos;let r=!1;this.state.pos+=2;const s=this.readInt(t);null==s&&this.raise(this.state.start+2,A.InvalidDigit,t);const i=this.input.charCodeAt(this.state.pos);if(110===i)++this.state.pos,r=!0;else if(109===i)throw this.raise(e,A.InvalidDecimal);if(j(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,A.NumberIdentifier);if(r){const t=this.input.slice(e,this.state.pos).replace(/[_n]/g,"");this.finishToken(d.bigint,t)}else this.finishToken(d.num,s)}readNumber(t){const e=this.state.pos;let r=!1,s=!1,i=!1,n=!1,a=!1;t||null!==this.readInt(10)||this.raise(e,A.InvalidNumber);const o=this.state.pos-e>=2&&48===this.input.charCodeAt(e);if(o){const t=this.input.slice(e,this.state.pos);if(this.recordStrictModeErrors(e,A.StrictOctalLiteral),!this.state.strict){const r=t.indexOf("_");r>0&&this.raise(r+e,A.ZeroDigitNumericSeparator)}a=o&&!/[89]/.test(t)}let c=this.input.charCodeAt(this.state.pos);if(46!==c||a||(++this.state.pos,this.readInt(10),r=!0,c=this.input.charCodeAt(this.state.pos)),69!==c&&101!==c||a||(c=this.input.charCodeAt(++this.state.pos),43!==c&&45!==c||++this.state.pos,null===this.readInt(10)&&this.raise(e,A.InvalidOrMissingExponent),r=!0,n=!0,c=this.input.charCodeAt(this.state.pos)),110===c&&((r||o)&&this.raise(e,A.InvalidBigIntLiteral),++this.state.pos,s=!0),109===c&&(this.expectPlugin("decimal",this.state.pos),(n||o)&&this.raise(e,A.InvalidDecimal),++this.state.pos,i=!0),j(this.input.codePointAt(this.state.pos)))throw this.raise(this.state.pos,A.NumberIdentifier);const h=this.input.slice(e,this.state.pos).replace(/[_mn]/g,"");if(s)return void this.finishToken(d.bigint,h);if(i)return void this.finishToken(d.decimal,h);const l=a?parseInt(h,8):parseFloat(h);this.finishToken(d.num,l)}readCodePoint(t){const e=this.input.charCodeAt(this.state.pos);let r;if(123===e){const e=++this.state.pos;if(r=this.readHexChar(this.input.indexOf("}",this.state.pos)-this.state.pos,!0,t),++this.state.pos,null!==r&&r>1114111){if(!t)return null;this.raise(e,A.InvalidCodePoint)}}else r=this.readHexChar(4,!1,t);return r}readString(t){let e="",r=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,A.UnterminatedString);const s=this.input.charCodeAt(this.state.pos);if(s===t)break;if(92===s)e+=this.input.slice(r,this.state.pos),e+=this.readEscapedChar(!1),r=this.state.pos;else if(8232===s||8233===s)++this.state.pos,++this.state.curLine,this.state.lineStart=this.state.pos;else{if(y(s))throw this.raise(this.state.start,A.UnterminatedString);++this.state.pos}}e+=this.input.slice(r,this.state.pos++),this.finishToken(d.string,e)}readTmplToken(){let t="",e=this.state.pos,r=!1;for(;;){if(this.state.pos>=this.length)throw this.raise(this.state.start,A.UnterminatedTemplate);const s=this.input.charCodeAt(this.state.pos);if(96===s||36===s&&123===this.input.charCodeAt(this.state.pos+1))return this.state.pos===this.state.start&&this.match(d.template)?36===s?(this.state.pos+=2,void this.finishToken(d.dollarBraceL)):(++this.state.pos,void this.finishToken(d.backQuote)):(t+=this.input.slice(e,this.state.pos),void this.finishToken(d.template,r?null:t));if(92===s){t+=this.input.slice(e,this.state.pos);const s=this.readEscapedChar(!0);null===s?r=!0:t+=s,e=this.state.pos}else if(y(s)){switch(t+=this.input.slice(e,this.state.pos),++this.state.pos,s){case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(s);break}++this.state.curLine,this.state.lineStart=this.state.pos,e=this.state.pos}else++this.state.pos}}recordStrictModeErrors(t,e){this.state.strict&&!this.state.strictErrors.has(t)?this.raise(t,e):this.state.strictErrors.set(t,e)}readEscapedChar(t){const e=!t,r=this.input.charCodeAt(++this.state.pos);switch(++this.state.pos,r){case 110:return"\n";case 114:return"\r";case 120:{const t=this.readHexChar(2,!1,e);return null===t?null:String.fromCharCode(t)}case 117:{const t=this.readCodePoint(e);return null===t?null:String.fromCodePoint(t)}case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.state.pos)&&++this.state.pos;case 10:this.state.lineStart=this.state.pos,++this.state.curLine;case 8232:case 8233:return"";case 56:case 57:if(t)return null;this.recordStrictModeErrors(this.state.pos-1,A.StrictNumericEscape);default:if(r>=48&&r<=55){const e=this.state.pos-1,r=this.input.substr(this.state.pos-1,3).match(/^[0-7]+/);let s=r[0],i=parseInt(s,8);i>255&&(s=s.slice(0,-1),i=parseInt(s,8)),this.state.pos+=s.length-1;const n=this.input.charCodeAt(this.state.pos);if("0"!==s||56===n||57===n){if(t)return null;this.recordStrictModeErrors(e,A.StrictNumericEscape)}return String.fromCharCode(i)}return String.fromCharCode(r)}}readHexChar(t,e,r){const s=this.state.pos,i=this.readInt(16,t,e,!1);return null===i&&(r?this.raise(s,A.InvalidEscapeSequence):this.state.pos=s-1),i}readWord1(){let t="";this.state.containsEsc=!1;const e=this.state.pos;let r=this.state.pos;while(this.state.pos{this.raise(r,e);let s=t.length-2,i=t[s];while(i.canBeArrowParameterDeclaration())i.clearDeclarationError(r),i=t[--s]})}}function Xe(){return new We(Ve)}function Ge(){return new Ke(He)}function Ye(){return new Ke(ze)}function Je(){return new We}class Qe extends Fe{addExtra(t,e,r){if(!t)return;const s=t.extra=t.extra||{};s[e]=r}isRelational(t){return this.match(d.relational)&&this.state.value===t}expectRelational(t){this.isRelational(t)?this.next():this.unexpected(null,d.relational)}isContextual(t){return this.match(d.name)&&this.state.value===t&&!this.state.containsEsc}isUnparsedContextual(t,e){const r=t+e.length;return this.input.slice(t,r)===e&&(r===this.input.length||!F(this.input.charCodeAt(r)))}isLookaheadContextual(t){const e=this.nextTokenStart();return this.isUnparsedContextual(e,t)}eatContextual(t){return this.isContextual(t)&&this.eat(d.name)}expectContextual(t,e){this.eatContextual(t)||this.unexpected(null,e)}canInsertSemicolon(){return this.match(d.eof)||this.match(d.braceR)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return f.test(this.input.slice(this.state.lastTokEnd,this.state.start))}hasFollowingLineBreak(){return f.test(this.input.slice(this.state.end,this.nextTokenStart()))}isLineTerminator(){return this.eat(d.semi)||this.canInsertSemicolon()}semicolon(t=!0){(t?this.isLineTerminator():this.eat(d.semi))||this.raise(this.state.lastTokEnd,A.MissingSemicolon)}expect(t,e){this.eat(t)||this.unexpected(e,t)}assertNoSpace(t="Unexpected space."){this.state.start>this.state.lastTokEnd&&this.raise(this.state.lastTokEnd,t)}unexpected(t,e="Unexpected token"){throw"string"!==typeof e&&(e=`Unexpected token, expected "${e.label}"`),this.raise(null!=t?t:this.state.start,e)}expectPlugin(t,e){if(!this.hasPlugin(t))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:[t]},`This experimental syntax requires enabling the parser plugin: '${t}'`);return!0}expectOnePlugin(t,e){if(!t.some(t=>this.hasPlugin(t)))throw this.raiseWithData(null!=e?e:this.state.start,{missingPlugin:t},`This experimental syntax requires enabling one of the following parser plugin(s): '${t.join(", ")}'`)}tryParse(t,e=this.state.clone()){const r={node:null};try{const s=t((t=null)=>{throw r.node=t,r});if(this.state.errors.length>e.errors.length){const t=this.state;return this.state=e,{node:s,error:t.errors[e.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:s,error:null,thrown:!1,aborted:!1,failState:null}}catch(s){const t=this.state;if(this.state=e,s instanceof SyntaxError)return{node:null,error:s,thrown:!0,aborted:!1,failState:t};if(s===r)return{node:r.node,error:null,thrown:!1,aborted:!0,failState:t};throw s}}checkExpressionErrors(t,e){if(!t)return!1;const{shorthandAssign:r,doubleProto:s}=t;if(!e)return r>=0||s>=0;r>=0&&this.unexpected(r),s>=0&&this.raise(s,A.DuplicateProto)}isLiteralPropertyName(){return this.match(d.name)||!!this.state.type.keyword||this.match(d.string)||this.match(d.num)||this.match(d.bigint)||this.match(d.decimal)}isPrivateName(t){return"PrivateName"===t.type}getPrivateNameSV(t){return t.id.name}hasPropertyAsPrivateName(t){return("MemberExpression"===t.type||"OptionalMemberExpression"===t.type)&&this.isPrivateName(t.property)}isOptionalChain(t){return"OptionalMemberExpression"===t.type||"OptionalCallExpression"===t.type}isObjectProperty(t){return"ObjectProperty"===t.type}isObjectMethod(t){return"ObjectMethod"===t.type}initializeScopes(t="module"===this.options.sourceType){const e=this.state.labels;this.state.labels=[];const r=this.state.exportedIdentifiers;this.state.exportedIdentifiers=[];const s=this.inModule;this.inModule=t;const i=this.scope,n=this.getScopeHandler();this.scope=new n(this.raise.bind(this),this.inModule);const a=this.prodParam;this.prodParam=new de;const o=this.classScope;this.classScope=new Ue(this.raise.bind(this));const c=this.expressionScope;return this.expressionScope=new $e(this.raise.bind(this)),()=>{this.state.labels=e,this.state.exportedIdentifiers=r,this.inModule=s,this.scope=i,this.prodParam=a,this.classScope=o,this.expressionScope=c}}enterInitialScopes(){let t=ce;this.hasPlugin("topLevelAwait")&&this.inModule&&(t|=le),this.scope.enter(J),this.prodParam.enter(t)}}class Ze{constructor(){this.shorthandAssign=-1,this.doubleProto=-1}}class tr{constructor(t,e,r){this.type=void 0,this.start=void 0,this.end=void 0,this.loc=void 0,this.range=void 0,this.leadingComments=void 0,this.trailingComments=void 0,this.innerComments=void 0,this.extra=void 0,this.type="",this.start=e,this.end=0,this.loc=new v(r),null!=t&&t.options.ranges&&(this.range=[e,0]),null!=t&&t.filename&&(this.loc.filename=t.filename)}__clone(){const t=new tr,e=Object.keys(this);for(let r=0,s=e.length;r"ParenthesizedExpression"===t.type?rr(t.expression):t;class sr extends er{toAssignable(t,e=!1){var r,s;let i=void 0;switch(("ParenthesizedExpression"===t.type||null!=(r=t.extra)&&r.parenthesized)&&(i=rr(t),e?"Identifier"===i.type?this.expressionScope.recordParenthesizedIdentifierError(t.start,A.InvalidParenthesizedAssignment):"MemberExpression"!==i.type&&this.raise(t.start,A.InvalidParenthesizedAssignment):this.raise(t.start,A.InvalidParenthesizedAssignment)),t.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":break;case"ObjectExpression":t.type="ObjectPattern";for(let r=0,s=t.properties.length,i=s-1;rthis.parseExpressionBase(e)):this.allowInAnd(()=>this.parseExpressionBase(e))}parseExpressionBase(t){const e=this.state.start,r=this.state.startLoc,s=this.parseMaybeAssign(t);if(this.match(d.comma)){const i=this.startNodeAt(e,r);i.expressions=[s];while(this.eat(d.comma))i.expressions.push(this.parseMaybeAssign(t));return this.toReferencedList(i.expressions),this.finishNode(i,"SequenceExpression")}return s}parseMaybeAssignDisallowIn(t,e,r){return this.disallowInAnd(()=>this.parseMaybeAssign(t,e,r))}parseMaybeAssignAllowIn(t,e,r){return this.allowInAnd(()=>this.parseMaybeAssign(t,e,r))}parseMaybeAssign(t,e,r){const s=this.state.start,i=this.state.startLoc;if(this.isContextual("yield")&&this.prodParam.hasYield){this.state.exprAllowed=!0;let t=this.parseYield();return e&&(t=e.call(this,t,s,i)),t}let n;t?n=!1:(t=new Ze,n=!0),(this.match(d.parenL)||this.match(d.name))&&(this.state.potentialArrowAt=this.state.start);let a=this.parseMaybeConditional(t,r);if(e&&(a=e.call(this,a,s,i)),this.state.type.isAssign){const e=this.startNodeAt(s,i),r=this.state.value;return e.operator=r,this.match(d.eq)?(e.left=this.toAssignable(a,!0),t.doubleProto=-1):e.left=a,t.shorthandAssign>=e.left.start&&(t.shorthandAssign=-1),this.checkLVal(a,"assignment expression"),this.next(),e.right=this.parseMaybeAssign(),this.finishNode(e,"AssignmentExpression")}return n&&this.checkExpressionErrors(t,!0),a}parseMaybeConditional(t,e){const r=this.state.start,s=this.state.startLoc,i=this.state.potentialArrowAt,n=this.parseExprOps(t);return this.shouldExitDescending(n,i)?n:this.parseConditional(n,r,s,e)}parseConditional(t,e,r,s){if(this.eat(d.question)){const s=this.startNodeAt(e,r);return s.test=t,s.consequent=this.parseMaybeAssignAllowIn(),this.expect(d.colon),s.alternate=this.parseMaybeAssign(),this.finishNode(s,"ConditionalExpression")}return t}parseExprOps(t){const e=this.state.start,r=this.state.startLoc,s=this.state.potentialArrowAt,i=this.parseMaybeUnary(t);return this.shouldExitDescending(i,s)?i:this.parseExprOp(i,e,r,-1)}parseExprOp(t,e,r,s){let i=this.state.type.binop;if(null!=i&&(this.prodParam.hasIn||!this.match(d._in))&&i>s){const n=this.state.type;if(n===d.pipeline){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return t;this.state.inPipeline=!0,this.checkPipelineAtInfixOperator(t,e)}const a=this.startNodeAt(e,r);a.left=t,a.operator=this.state.value;const o=n===d.logicalOR||n===d.logicalAND,c=n===d.nullishCoalescing;if(c&&(i=d.logicalAND.binop),this.next(),n===d.pipeline&&"minimal"===this.getPluginOption("pipelineOperator","proposal")&&this.match(d.name)&&"await"===this.state.value&&this.prodParam.hasAwait)throw this.raise(this.state.start,A.UnexpectedAwaitAfterPipelineBody);a.right=this.parseExprOpRightExpr(n,i),this.finishNode(a,o||c?"LogicalExpression":"BinaryExpression");const h=this.state.type;if(c&&(h===d.logicalOR||h===d.logicalAND)||o&&h===d.nullishCoalescing)throw this.raise(this.state.start,A.MixingCoalesceWithLogical);return this.parseExprOp(a,e,r,s)}return t}parseExprOpRightExpr(t,e){const r=this.state.start,s=this.state.startLoc;switch(t){case d.pipeline:switch(this.getPluginOption("pipelineOperator","proposal")){case"smart":return this.withTopicPermittingContext(()=>this.parseSmartPipelineBody(this.parseExprOpBaseRightExpr(t,e),r,s));case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(e))}default:return this.parseExprOpBaseRightExpr(t,e)}}parseExprOpBaseRightExpr(t,e){const r=this.state.start,s=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnary(),r,s,t.rightAssociative?e-1:e)}checkExponentialAfterUnary(t){this.match(d.exponent)&&this.raise(t.argument.start,A.UnexpectedTokenUnaryExponentiation)}parseMaybeUnary(t,e){const r=this.state.start,s=this.state.startLoc,i=this.isContextual("await");if(i&&this.isAwaitAllowed()){this.next();const t=this.parseAwait(r,s);return e||this.checkExponentialAfterUnary(t),t}if(this.isContextual("module")&&123===this.lookaheadCharCode()&&!this.hasFollowingLineBreak())return this.parseModuleExpression();const n=this.match(d.incDec),a=this.startNode();if(this.state.type.prefix){a.operator=this.state.value,a.prefix=!0,this.match(d._throw)&&this.expectPlugin("throwExpressions");const r=this.match(d._delete);if(this.next(),a.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(t,!0),this.state.strict&&r){const t=a.argument;"Identifier"===t.type?this.raise(a.start,A.StrictDelete):this.hasPropertyAsPrivateName(t)&&this.raise(a.start,A.DeletePrivateField)}if(!n)return e||this.checkExponentialAfterUnary(a),this.finishNode(a,"UnaryExpression")}const o=this.parseUpdate(a,n,t);if(i){const t=this.hasPlugin("v8intrinsic")?this.state.type.startsExpr:this.state.type.startsExpr&&!this.match(d.modulo);if(t&&!this.isAmbiguousAwait())return this.raiseOverwrite(r,this.hasPlugin("topLevelAwait")?A.AwaitNotInAsyncContext:A.AwaitNotInAsyncFunction),this.parseAwait(r,s)}return o}parseUpdate(t,e,r){if(e)return this.checkLVal(t.argument,"prefix operation"),this.finishNode(t,"UpdateExpression");const s=this.state.start,i=this.state.startLoc;let n=this.parseExprSubscripts(r);if(this.checkExpressionErrors(r,!1))return n;while(this.state.type.postfix&&!this.canInsertSemicolon()){const t=this.startNodeAt(s,i);t.operator=this.state.value,t.prefix=!1,t.argument=n,this.checkLVal(n,"postfix operation"),this.next(),n=this.finishNode(t,"UpdateExpression")}return n}parseExprSubscripts(t){const e=this.state.start,r=this.state.startLoc,s=this.state.potentialArrowAt,i=this.parseExprAtom(t);return this.shouldExitDescending(i,s)?i:this.parseSubscripts(i,e,r)}parseSubscripts(t,e,r,s){const i={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(t),stop:!1};do{t=this.parseSubscript(t,e,r,s,i),i.maybeAsyncArrow=!1}while(!i.stop);return t}parseSubscript(t,e,r,s,i){if(!s&&this.eat(d.doubleColon))return this.parseBind(t,e,r,s,i);if(this.match(d.backQuote))return this.parseTaggedTemplateExpression(t,e,r,i);let n=!1;if(this.match(d.questionDot)){if(s&&40===this.lookaheadCharCode())return i.stop=!0,t;i.optionalChainMember=n=!0,this.next()}return!s&&this.match(d.parenL)?this.parseCoverCallAndAsyncArrowHead(t,e,r,i,n):n||this.match(d.bracketL)||this.eat(d.dot)?this.parseMember(t,e,r,i,n):(i.stop=!0,t)}parseMember(t,e,r,s,i){const n=this.startNodeAt(e,r),a=this.eat(d.bracketL);n.object=t,n.computed=a;const o=a?this.parseExpression():this.parseMaybePrivateName(!0);return this.isPrivateName(o)&&("Super"===n.object.type&&this.raise(e,A.SuperPrivateField),this.classScope.usePrivateName(this.getPrivateNameSV(o),o.start)),n.property=o,a&&this.expect(d.bracketR),s.optionalChainMember?(n.optional=i,this.finishNode(n,"OptionalMemberExpression")):this.finishNode(n,"MemberExpression")}parseBind(t,e,r,s,i){const n=this.startNodeAt(e,r);return n.object=t,n.callee=this.parseNoCallExpr(),i.stop=!0,this.parseSubscripts(this.finishNode(n,"BindExpression"),e,r,s)}parseCoverCallAndAsyncArrowHead(t,e,r,s,i){const n=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0,this.next();let a=this.startNodeAt(e,r);return a.callee=t,s.maybeAsyncArrow&&this.expressionScope.enter(Ye()),s.optionalChainMember&&(a.optional=i),a.arguments=i?this.parseCallExpressionArguments(d.parenR,!1):this.parseCallExpressionArguments(d.parenR,s.maybeAsyncArrow,"Import"===t.type,"Super"!==t.type,a),this.finishCallExpression(a,s.optionalChainMember),s.maybeAsyncArrow&&this.shouldParseAsyncArrow()&&!i?(s.stop=!0,this.expressionScope.validateAsPattern(),this.expressionScope.exit(),a=this.parseAsyncArrowFromCallExpression(this.startNodeAt(e,r),a)):(s.maybeAsyncArrow&&this.expressionScope.exit(),this.toReferencedArguments(a)),this.state.maybeInArrowParameters=n,a}toReferencedArguments(t,e){this.toReferencedListDeep(t.arguments,e)}parseTaggedTemplateExpression(t,e,r,s){const i=this.startNodeAt(e,r);return i.tag=t,i.quasi=this.parseTemplate(!0),s.optionalChainMember&&this.raise(e,A.OptionalChainingNoTemplate),this.finishNode(i,"TaggedTemplateExpression")}atPossibleAsyncArrow(t){return"Identifier"===t.type&&"async"===t.name&&this.state.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&t.start===this.state.potentialArrowAt}finishCallExpression(t,e){if("Import"===t.callee.type)if(2===t.arguments.length&&(this.hasPlugin("moduleAttributes")||this.expectPlugin("importAssertions")),0===t.arguments.length||t.arguments.length>2)this.raise(t.start,A.ImportCallArity,this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")?"one or two arguments":"one argument");else for(const r of t.arguments)"SpreadElement"===r.type&&this.raise(r.start,A.ImportCallSpreadArgument);return this.finishNode(t,e?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(t,e,r,s,i){const n=[];let a=!0;const o=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;while(!this.eat(t)){if(a)a=!1;else if(this.expect(d.comma),this.match(t)){!r||this.hasPlugin("importAssertions")||this.hasPlugin("moduleAttributes")||this.raise(this.state.lastTokStart,A.ImportCallArgumentTrailingComma),i&&this.addExtra(i,"trailingComma",this.state.lastTokStart),this.next();break}n.push(this.parseExprListItem(!1,e?new Ze:void 0,e?{start:0}:void 0,s))}return this.state.inFSharpPipelineDirectBody=o,n}shouldParseAsyncArrow(){return this.match(d.arrow)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(t,e){var r;return this.expect(d.arrow),this.parseArrowExpression(t,e.arguments,!0,null==(r=e.extra)?void 0:r.trailingComma),t}parseNoCallExpr(){const t=this.state.start,e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),t,e,!0)}parseExprAtom(t){this.state.type===d.slash&&this.readRegexp();const e=this.state.potentialArrowAt===this.state.start;let r;switch(this.state.type){case d._super:return this.parseSuper();case d._import:return r=this.startNode(),this.next(),this.match(d.dot)?this.parseImportMetaProperty(r):(this.match(d.parenL)||this.raise(this.state.lastTokStart,A.UnsupportedImport),this.finishNode(r,"Import"));case d._this:return r=this.startNode(),this.next(),this.finishNode(r,"ThisExpression");case d.name:{const t=this.state.containsEsc,r=this.parseIdentifier();if(!t&&"async"===r.name&&!this.canInsertSemicolon()){if(this.match(d._function)){const t=this.state.context.length-1;if(this.state.context[t]!==k.functionStatement)throw new Error("Internal error");return this.state.context[t]=k.functionExpression,this.next(),this.parseFunction(this.startNodeAtNode(r),void 0,!0)}if(this.match(d.name))return this.parseAsyncArrowUnaryFunction(r)}return e&&this.match(d.arrow)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(r),[r],!1)):r}case d._do:return this.parseDo();case d.regexp:{const t=this.state.value;return r=this.parseLiteral(t.value,"RegExpLiteral"),r.pattern=t.pattern,r.flags=t.flags,r}case d.num:return this.parseLiteral(this.state.value,"NumericLiteral");case d.bigint:return this.parseLiteral(this.state.value,"BigIntLiteral");case d.decimal:return this.parseLiteral(this.state.value,"DecimalLiteral");case d.string:return this.parseLiteral(this.state.value,"StringLiteral");case d._null:return r=this.startNode(),this.next(),this.finishNode(r,"NullLiteral");case d._true:case d._false:return this.parseBooleanLiteral();case d.parenL:return this.parseParenAndDistinguishExpression(e);case d.bracketBarL:case d.bracketHashL:return this.parseArrayLike(this.state.type===d.bracketBarL?d.bracketBarR:d.bracketR,!1,!0,t);case d.bracketL:return this.parseArrayLike(d.bracketR,!0,!1,t);case d.braceBarL:case d.braceHashL:return this.parseObjectLike(this.state.type===d.braceBarL?d.braceBarR:d.braceR,!1,!0,t);case d.braceL:return this.parseObjectLike(d.braceR,!1,!1,t);case d._function:return this.parseFunctionOrFunctionSent();case d.at:this.parseDecorators();case d._class:return r=this.startNode(),this.takeDecorators(r),this.parseClass(r,!1);case d._new:return this.parseNewOrNewTarget();case d.backQuote:return this.parseTemplate(!1);case d.doubleColon:{r=this.startNode(),this.next(),r.object=null;const t=r.callee=this.parseNoCallExpr();if("MemberExpression"===t.type)return this.finishNode(r,"BindExpression");throw this.raise(t.start,A.UnsupportedBind)}case d.hash:{if(this.state.inPipeline)return r=this.startNode(),"smart"!==this.getPluginOption("pipelineOperator","proposal")&&this.raise(r.start,A.PrimaryTopicRequiresSmartPipeline),this.next(),this.primaryTopicReferenceIsAllowedInCurrentTopicContext()||this.raise(r.start,A.PrimaryTopicNotAllowed),this.registerTopicReference(),this.finishNode(r,"PipelinePrimaryTopicReference");const t=this.input.codePointAt(this.state.end);if(j(t)||92===t){const t=this.state.start;if(r=this.parseMaybePrivateName(!0),this.match(d._in))this.expectPlugin("privateIn"),this.classScope.usePrivateName(this.getPrivateNameSV(r),r.start);else{if(!this.hasPlugin("privateIn"))throw this.unexpected(t);this.raise(this.state.start,A.PrivateInExpectedIn,this.getPrivateNameSV(r))}return r}}case d.relational:if("<"===this.state.value){const t=this.input.codePointAt(this.nextTokenStart());(j(t)||62===t)&&this.expectOnePlugin(["jsx","flow","typescript"])}default:throw this.unexpected()}}parseAsyncArrowUnaryFunction(t){const e=this.startNodeAtNode(t);this.prodParam.enter(fe(!0,this.prodParam.hasYield));const r=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(this.state.pos,A.LineTerminatorBeforeArrow),this.expect(d.arrow),this.parseArrowExpression(e,r,!0),e}parseDo(){this.expectPlugin("doExpressions");const t=this.startNode();this.next();const e=this.state.labels;return this.state.labels=[],t.body=this.parseBlock(),this.state.labels=e,this.finishNode(t,"DoExpression")}parseSuper(){const t=this.startNode();return this.next(),!this.match(d.parenL)||this.scope.allowDirectSuper||this.options.allowSuperOutsideMethod?this.scope.allowSuper||this.options.allowSuperOutsideMethod||this.raise(t.start,A.UnexpectedSuper):this.raise(t.start,A.SuperNotAllowed),this.match(d.parenL)||this.match(d.bracketL)||this.match(d.dot)||this.raise(t.start,A.UnsupportedSuper),this.finishNode(t,"Super")}parseBooleanLiteral(){const t=this.startNode();return t.value=this.match(d._true),this.next(),this.finishNode(t,"BooleanLiteral")}parseMaybePrivateName(t){const e=this.match(d.hash);if(e){this.expectOnePlugin(["classPrivateProperties","classPrivateMethods"]),t||this.raise(this.state.pos,A.UnexpectedPrivateField);const e=this.startNode();return this.next(),this.assertNoSpace("Unexpected space between # and identifier"),e.id=this.parseIdentifier(!0),this.finishNode(e,"PrivateName")}return this.parseIdentifier(!0)}parseFunctionOrFunctionSent(){const t=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(d.dot)){const e=this.createIdentifier(this.startNodeAtNode(t),"function");return this.next(),this.parseMetaProperty(t,e,"sent")}return this.parseFunction(t)}parseMetaProperty(t,e,r){t.meta=e,"function"===e.name&&"sent"===r&&(this.isContextual(r)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected());const s=this.state.containsEsc;return t.property=this.parseIdentifier(!0),(t.property.name!==r||s)&&this.raise(t.property.start,A.UnsupportedMetaProperty,e.name,r),this.finishNode(t,"MetaProperty")}parseImportMetaProperty(t){const e=this.createIdentifier(this.startNodeAtNode(t),"import");return this.next(),this.isContextual("meta")&&(this.inModule||this.raiseWithData(e.start,{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},A.ImportMetaOutsideModule),this.sawUnambiguousESM=!0),this.parseMetaProperty(t,e,"meta")}parseLiteral(t,e,r,s){r=r||this.state.start,s=s||this.state.startLoc;const i=this.startNodeAt(r,s);return this.addExtra(i,"rawValue",t),this.addExtra(i,"raw",this.input.slice(r,this.state.end)),i.value=t,this.next(),this.finishNode(i,e)}parseParenAndDistinguishExpression(t){const e=this.state.start,r=this.state.startLoc;let s;this.next(),this.expressionScope.enter(Ge());const i=this.state.maybeInArrowParameters,n=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;const a=this.state.start,o=this.state.startLoc,c=[],h=new Ze,l={start:0};let p,u,f=!0;while(!this.match(d.parenR)){if(f)f=!1;else if(this.expect(d.comma,l.start||null),this.match(d.parenR)){u=this.state.start;break}if(this.match(d.ellipsis)){const t=this.state.start,e=this.state.startLoc;p=this.state.start,c.push(this.parseParenItem(this.parseRestBinding(),t,e)),this.checkCommaAfterRest(41);break}c.push(this.parseMaybeAssignAllowIn(h,this.parseParenItem,l))}const m=this.state.lastTokEnd,y=this.state.lastTokEndLoc;this.expect(d.parenR),this.state.maybeInArrowParameters=i,this.state.inFSharpPipelineDirectBody=n;let g=this.startNodeAt(e,r);if(t&&this.shouldParseArrow()&&(g=this.parseArrow(g)))return this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(g,c,!1),g;if(this.expressionScope.exit(),c.length||this.unexpected(this.state.lastTokStart),u&&this.unexpected(u),p&&this.unexpected(p),this.checkExpressionErrors(h,!0),l.start&&this.unexpected(l.start),this.toReferencedListDeep(c,!0),c.length>1?(s=this.startNodeAt(a,o),s.expressions=c,this.finishNodeAt(s,"SequenceExpression",m,y)):s=c[0],!this.options.createParenthesizedExpressions)return this.addExtra(s,"parenthesized",!0),this.addExtra(s,"parenStart",e),s;const x=this.startNodeAt(e,r);return x.expression=s,this.finishNode(x,"ParenthesizedExpression"),x}shouldParseArrow(){return!this.canInsertSemicolon()}parseArrow(t){if(this.eat(d.arrow))return t}parseParenItem(t,e,r){return t}parseNewOrNewTarget(){const t=this.startNode();if(this.next(),this.match(d.dot)){const e=this.createIdentifier(this.startNodeAtNode(t),"new");this.next();const r=this.parseMetaProperty(t,e,"target");if(!this.scope.inNonArrowFunction&&!this.scope.inClass){let t=A.UnexpectedNewTarget;this.hasPlugin("classProperties")&&(t+=" or class properties"),this.raise(r.start,t)}return r}return this.parseNew(t)}parseNew(t){return t.callee=this.parseNoCallExpr(),"Import"===t.callee.type?this.raise(t.callee.start,A.ImportCallNotNewExpression):this.isOptionalChain(t.callee)?this.raise(this.state.lastTokEnd,A.OptionalChainingNoNew):this.eat(d.questionDot)&&this.raise(this.state.start,A.OptionalChainingNoNew),this.parseNewArguments(t),this.finishNode(t,"NewExpression")}parseNewArguments(t){if(this.eat(d.parenL)){const e=this.parseExprList(d.parenR);this.toReferencedList(e),t.arguments=e}else t.arguments=[]}parseTemplateElement(t){const e=this.startNode();return null===this.state.value&&(t||this.raise(this.state.start+1,A.InvalidEscapeSequenceTemplate)),e.value={raw:this.input.slice(this.state.start,this.state.end).replace(/\r\n?/g,"\n"),cooked:this.state.value},this.next(),e.tail=this.match(d.backQuote),this.finishNode(e,"TemplateElement")}parseTemplate(t){const e=this.startNode();this.next(),e.expressions=[];let r=this.parseTemplateElement(t);e.quasis=[r];while(!r.tail)this.expect(d.dollarBraceL),e.expressions.push(this.parseTemplateSubstitution()),this.expect(d.braceR),e.quasis.push(r=this.parseTemplateElement(t));return this.next(),this.finishNode(e,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(t,e,r,s){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=Object.create(null);let a=!0;const o=this.startNode();o.properties=[],this.next();while(!this.match(t)){if(a)a=!1;else if(this.expect(d.comma),this.match(t)){this.addExtra(o,"trailingComma",this.state.lastTokStart);break}const i=this.parsePropertyDefinition(e,s);e||this.checkProto(i,r,n,s),r&&!this.isObjectProperty(i)&&"SpreadElement"!==i.type&&this.raise(i.start,A.InvalidRecordProperty),i.shorthand&&this.addExtra(i,"shorthand",!0),o.properties.push(i)}this.state.exprAllowed=!1,this.next(),this.state.inFSharpPipelineDirectBody=i;let c="ObjectExpression";return e?c="ObjectPattern":r&&(c="RecordExpression"),this.finishNode(o,c)}maybeAsyncOrAccessorProp(t){return!t.computed&&"Identifier"===t.key.type&&(this.isLiteralPropertyName()||this.match(d.bracketL)||this.match(d.star))}parsePropertyDefinition(t,e){let r=[];if(this.match(d.at)){this.hasPlugin("decorators")&&this.raise(this.state.start,A.UnsupportedPropertyDecorator);while(this.match(d.at))r.push(this.parseDecorator())}const s=this.startNode();let i,n,a=!1,o=!1,c=!1;if(this.match(d.ellipsis))return r.length&&this.unexpected(),t?(this.next(),s.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(s,"RestElement")):this.parseSpread();r.length&&(s.decorators=r,r=[]),s.method=!1,(t||e)&&(i=this.state.start,n=this.state.startLoc),t||(a=this.eat(d.star));const h=this.state.containsEsc,l=this.parsePropertyName(s,!1);if(!t&&!a&&!h&&this.maybeAsyncOrAccessorProp(s)){const t=l.name;"async"!==t||this.hasPrecedingLineBreak()||(o=!0,a=this.eat(d.star),this.parsePropertyName(s,!1)),"get"!==t&&"set"!==t||(c=!0,s.kind=t,this.match(d.star)&&(a=!0,this.raise(this.state.pos,A.AccessorIsGenerator,t),this.next()),this.parsePropertyName(s,!1))}return this.parseObjPropValue(s,i,n,a,o,t,c,e),s}getGetterSetterExpectedParamCount(t){return"get"===t.kind?0:1}getObjectOrClassMethodParams(t){return t.params}checkGetterSetterParams(t){var e;const r=this.getGetterSetterExpectedParamCount(t),s=this.getObjectOrClassMethodParams(t),i=t.start;s.length!==r&&("get"===t.kind?this.raise(i,A.BadGetterArity):this.raise(i,A.BadSetterArity)),"set"===t.kind&&"RestElement"===(null==(e=s[s.length-1])?void 0:e.type)&&this.raise(i,A.BadSetterRestParameter)}parseObjectMethod(t,e,r,s,i){return i?(this.parseMethod(t,e,!1,!1,!1,"ObjectMethod"),this.checkGetterSetterParams(t),t):r||e||this.match(d.parenL)?(s&&this.unexpected(),t.kind="method",t.method=!0,this.parseMethod(t,e,r,!1,!1,"ObjectMethod")):void 0}parseObjectProperty(t,e,r,s,i){return t.shorthand=!1,this.eat(d.colon)?(t.value=s?this.parseMaybeDefault(this.state.start,this.state.startLoc):this.parseMaybeAssignAllowIn(i),this.finishNode(t,"ObjectProperty")):t.computed||"Identifier"!==t.key.type?void 0:(this.checkReservedWord(t.key.name,t.key.start,!0,!1),s?t.value=this.parseMaybeDefault(e,r,t.key.__clone()):this.match(d.eq)&&i?(-1===i.shorthandAssign&&(i.shorthandAssign=this.state.start),t.value=this.parseMaybeDefault(e,r,t.key.__clone())):t.value=t.key.__clone(),t.shorthand=!0,this.finishNode(t,"ObjectProperty"))}parseObjPropValue(t,e,r,s,i,n,a,o){const c=this.parseObjectMethod(t,s,i,n,a)||this.parseObjectProperty(t,e,r,n,o);return c||this.unexpected(),c}parsePropertyName(t,e){if(this.eat(d.bracketL))t.computed=!0,t.key=this.parseMaybeAssignAllowIn(),this.expect(d.bracketR);else{const r=this.state.inPropertyName;this.state.inPropertyName=!0,t.key=this.match(d.num)||this.match(d.string)||this.match(d.bigint)||this.match(d.decimal)?this.parseExprAtom():this.parseMaybePrivateName(e),this.isPrivateName(t.key)||(t.computed=!1),this.state.inPropertyName=r}return t.key}initFunction(t,e){t.id=null,t.generator=!1,t.async=!!e}parseMethod(t,e,r,s,i,n,a=!1){this.initFunction(t,r),t.generator=!!e;const o=s;return this.scope.enter(Q|et|(a?st:0)|(i?rt:0)),this.prodParam.enter(fe(r,t.generator)),this.parseFunctionParams(t,o),this.parseFunctionBodyAndFinish(t,n,!0),this.prodParam.exit(),this.scope.exit(),t}parseArrayLike(t,e,r,s){r&&this.expectPlugin("recordAndTuple");const i=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;const n=this.startNode();return this.next(),n.elements=this.parseExprList(t,!r,s,n),this.state.inFSharpPipelineDirectBody=i,this.finishNode(n,r?"TupleExpression":"ArrayExpression")}parseArrowExpression(t,e,r,s){this.scope.enter(Q|Z);let i=fe(r,!1);!this.match(d.bracketL)&&this.prodParam.hasIn&&(i|=ue),this.prodParam.enter(i),this.initFunction(t,r);const n=this.state.maybeInArrowParameters;return e&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(t,e,s)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(t,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=n,this.finishNode(t,"ArrowFunctionExpression")}setArrowFunctionParameters(t,e,r){t.params=this.toAssignableList(e,r,!1)}parseFunctionBodyAndFinish(t,e,r=!1){this.parseFunctionBody(t,!1,r),this.finishNode(t,e)}parseFunctionBody(t,e,r=!1){const s=e&&!this.match(d.braceL);if(this.expressionScope.enter(Je()),s)t.body=this.parseMaybeAssign(),this.checkParams(t,!1,e,!1);else{const s=this.state.strict,i=this.state.labels;this.state.labels=[],this.prodParam.enter(this.prodParam.currentFlags()|pe),t.body=this.parseBlock(!0,!1,i=>{const n=!this.isSimpleParamList(t.params);if(i&&n){const e="method"!==t.kind&&"constructor"!==t.kind||!t.key?t.start:t.key.end;this.raise(e,A.IllegalLanguageModeDirective)}const a=!s&&this.state.strict;this.checkParams(t,!this.state.strict&&!e&&!r&&!n,e,a),this.state.strict&&t.id&&this.checkLVal(t.id,"function name",Ct,void 0,void 0,a)}),this.prodParam.exit(),this.expressionScope.exit(),this.state.labels=i}}isSimpleParamList(t){for(let e=0,r=t.length;e=1}topicReferenceWasUsedInCurrentTopicContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(t){const e=this.state.start,r=this.state.startLoc;this.state.potentialArrowAt=this.state.start;const s=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;const i=this.parseExprOp(this.parseMaybeUnary(),e,r,t);return this.state.inFSharpPipelineDirectBody=s,i}parseModuleExpression(){this.expectPlugin("moduleBlocks");const t=this.startNode();this.next(),this.eat(d.braceL);const e=this.initializeScopes(!0);this.enterInitialScopes();const r=this.startNode();try{t.body=this.parseProgram(r,d.braceR,"module")}finally{e()}return this.eat(d.braceR),this.finishNode(t,"ModuleExpression")}}const nr={kind:"loop"},ar={kind:"switch"},or=0,cr=1,hr=2,lr=4,pr=/[\uD800-\uDFFF]/u;class ur extends ir{parseTopLevel(t,e){return t.program=this.parseProgram(e),t.comments=this.state.comments,this.options.tokens&&(t.tokens=this.tokens),this.finishNode(t,"File")}parseProgram(t,e=d.eof,r=this.options.sourceType){if(t.sourceType=r,t.interpreter=this.parseInterpreterDirective(),this.parseBlockBody(t,!0,!0,e),this.inModule&&!this.options.allowUndeclaredExports&&this.scope.undefinedExports.size>0)for(const[s]of Array.from(this.scope.undefinedExports)){const t=this.scope.undefinedExports.get(s);this.raise(t,A.ModuleExportUndefined,s)}return this.finishNode(t,"Program")}stmtToDirective(t){const e=t.expression,r=this.startNodeAt(e.start,e.loc.start),s=this.startNodeAt(t.start,t.loc.start),i=this.input.slice(e.start,e.end),n=r.value=i.slice(1,-1);return this.addExtra(r,"raw",i),this.addExtra(r,"rawValue",n),s.value=this.finishNodeAt(r,"DirectiveLiteral",e.end,e.loc.end),this.finishNodeAt(s,"Directive",t.end,t.loc.end)}parseInterpreterDirective(){if(!this.match(d.interpreterDirective))return null;const t=this.startNode();return t.value=this.state.value,this.next(),this.finishNode(t,"InterpreterDirective")}isLet(t){if(!this.isContextual("let"))return!1;const e=this.nextTokenStart(),r=this.input.charCodeAt(e);if(91===r)return!0;if(t)return!1;if(123===r)return!0;if(j(r)){let t=e+1;while(F(this.input.charCodeAt(t)))++t;const r=this.input.slice(e,t);if(!X.test(r))return!0}return!1}parseStatement(t,e){return this.match(d.at)&&this.parseDecorators(!0),this.parseStatementContent(t,e)}parseStatementContent(t,e){let r=this.state.type;const s=this.startNode();let i;switch(this.isLet(t)&&(r=d._var,i="let"),r){case d._break:case d._continue:return this.parseBreakContinueStatement(s,r.keyword);case d._debugger:return this.parseDebuggerStatement(s);case d._do:return this.parseDoStatement(s);case d._for:return this.parseForStatement(s);case d._function:if(46===this.lookaheadCharCode())break;return t&&(this.state.strict?this.raise(this.state.start,A.StrictFunction):"if"!==t&&"label"!==t&&this.raise(this.state.start,A.SloppyFunction)),this.parseFunctionStatement(s,!1,!t);case d._class:return t&&this.unexpected(),this.parseClass(s,!0);case d._if:return this.parseIfStatement(s);case d._return:return this.parseReturnStatement(s);case d._switch:return this.parseSwitchStatement(s);case d._throw:return this.parseThrowStatement(s);case d._try:return this.parseTryStatement(s);case d._const:case d._var:return i=i||this.state.value,t&&"var"!==i&&this.raise(this.state.start,A.UnexpectedLexicalDeclaration),this.parseVarStatement(s,i);case d._while:return this.parseWhileStatement(s);case d._with:return this.parseWithStatement(s);case d.braceL:return this.parseBlock();case d.semi:return this.parseEmptyStatement(s);case d._import:{const t=this.lookaheadCharCode();if(40===t||46===t)break}case d._export:{let t;return this.options.allowImportExportEverywhere||e||this.raise(this.state.start,A.UnexpectedImportExport),this.next(),r===d._import?(t=this.parseImport(s),"ImportDeclaration"!==t.type||t.importKind&&"value"!==t.importKind||(this.sawUnambiguousESM=!0)):(t=this.parseExport(s),("ExportNamedDeclaration"!==t.type||t.exportKind&&"value"!==t.exportKind)&&("ExportAllDeclaration"!==t.type||t.exportKind&&"value"!==t.exportKind)&&"ExportDefaultDeclaration"!==t.type||(this.sawUnambiguousESM=!0)),this.assertModuleNodeAllowed(s),t}default:if(this.isAsyncFunction())return t&&this.raise(this.state.start,A.AsyncFunctionInSingleStatementContext),this.next(),this.parseFunctionStatement(s,!0,!t)}const n=this.state.value,a=this.parseExpression();return r===d.name&&"Identifier"===a.type&&this.eat(d.colon)?this.parseLabeledStatement(s,n,a,t):this.parseExpressionStatement(s,a)}assertModuleNodeAllowed(t){this.options.allowImportExportEverywhere||this.inModule||this.raiseWithData(t.start,{code:"BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED"},A.ImportOutsideModule)}takeDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];e.length&&(t.decorators=e,this.resetStartLocationFromNode(t,e[0]),this.state.decoratorStack[this.state.decoratorStack.length-1]=[])}canHaveLeadingDecorator(){return this.match(d._class)}parseDecorators(t){const e=this.state.decoratorStack[this.state.decoratorStack.length-1];while(this.match(d.at)){const t=this.parseDecorator();e.push(t)}if(this.match(d._export))t||this.unexpected(),this.hasPlugin("decorators")&&!this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,A.DecoratorExportClass);else if(!this.canHaveLeadingDecorator())throw this.raise(this.state.start,A.UnexpectedLeadingDecorator)}parseDecorator(){this.expectOnePlugin(["decorators-legacy","decorators"]);const t=this.startNode();if(this.next(),this.hasPlugin("decorators")){this.state.decoratorStack.push([]);const e=this.state.start,r=this.state.startLoc;let s;if(this.eat(d.parenL))s=this.parseExpression(),this.expect(d.parenR);else{s=this.parseIdentifier(!1);while(this.eat(d.dot)){const t=this.startNodeAt(e,r);t.object=s,t.property=this.parseIdentifier(!0),t.computed=!1,s=this.finishNode(t,"MemberExpression")}}t.expression=this.parseMaybeDecoratorArguments(s),this.state.decoratorStack.pop()}else t.expression=this.parseExprSubscripts();return this.finishNode(t,"Decorator")}parseMaybeDecoratorArguments(t){if(this.eat(d.parenL)){const e=this.startNodeAtNode(t);return e.callee=t,e.arguments=this.parseCallExpressionArguments(d.parenR,!1),this.toReferencedList(e.arguments),this.finishNode(e,"CallExpression")}return t}parseBreakContinueStatement(t,e){const r="break"===e;return this.next(),this.isLineTerminator()?t.label=null:(t.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(t,e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")}verifyBreakContinue(t,e){const r="break"===e;let s;for(s=0;sthis.parseStatement("do")),this.state.labels.pop(),this.expect(d._while),t.test=this.parseHeaderExpression(),this.eat(d.semi),this.finishNode(t,"DoWhileStatement")}parseForStatement(t){this.next(),this.state.labels.push(nr);let e=-1;if(this.isAwaitAllowed()&&this.eatContextual("await")&&(e=this.state.lastTokStart),this.scope.enter(Y),this.expect(d.parenL),this.match(d.semi))return e>-1&&this.unexpected(e),this.parseFor(t,null);const r=this.isLet();if(this.match(d._var)||this.match(d._const)||r){const s=this.startNode(),i=r?"let":this.state.value;return this.next(),this.parseVar(s,!0,i),this.finishNode(s,"VariableDeclaration"),(this.match(d._in)||this.isContextual("of"))&&1===s.declarations.length?this.parseForIn(t,s,e):(e>-1&&this.unexpected(e),this.parseFor(t,s))}const s=new Ze,i=this.parseExpression(!0,s);if(this.match(d._in)||this.isContextual("of")){this.toAssignable(i,!0);const r=this.isContextual("of")?"for-of statement":"for-in statement";return this.checkLVal(i,r),this.parseForIn(t,i,e)}return this.checkExpressionErrors(s,!0),e>-1&&this.unexpected(e),this.parseFor(t,i)}parseFunctionStatement(t,e,r){return this.next(),this.parseFunction(t,cr|(r?0:hr),e)}parseIfStatement(t){return this.next(),t.test=this.parseHeaderExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(d._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")}parseReturnStatement(t){return this.prodParam.hasReturn||this.options.allowReturnOutsideFunction||this.raise(this.state.start,A.IllegalReturn),this.next(),this.isLineTerminator()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")}parseSwitchStatement(t){this.next(),t.discriminant=this.parseHeaderExpression();const e=t.cases=[];let r,s;for(this.expect(d.braceL),this.state.labels.push(ar),this.scope.enter(Y);!this.match(d.braceR);)if(this.match(d._case)||this.match(d._default)){const t=this.match(d._case);r&&this.finishNode(r,"SwitchCase"),e.push(r=this.startNode()),r.consequent=[],this.next(),t?r.test=this.parseExpression():(s&&this.raise(this.state.lastTokStart,A.MultipleDefaultsInSwitch),s=!0,r.test=null),this.expect(d.colon)}else r?r.consequent.push(this.parseStatement(null)):this.unexpected();return this.scope.exit(),r&&this.finishNode(r,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(t,"SwitchStatement")}parseThrowStatement(t){return this.next(),this.hasPrecedingLineBreak()&&this.raise(this.state.lastTokEnd,A.NewlineAfterThrow),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")}parseCatchClauseParam(){const t=this.parseBindingAtom(),e="Identifier"===t.type;return this.scope.enter(e?tt:0),this.checkLVal(t,"catch clause",bt),t}parseTryStatement(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.match(d._catch)){const e=this.startNode();this.next(),this.match(d.parenL)?(this.expect(d.parenL),e.param=this.parseCatchClauseParam(),this.expect(d.parenR)):(e.param=null,this.scope.enter(Y)),e.body=this.withTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(d._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,A.NoCatchOrFinally),this.finishNode(t,"TryStatement")}parseVarStatement(t,e){return this.next(),this.parseVar(t,!1,e),this.semicolon(),this.finishNode(t,"VariableDeclaration")}parseWhileStatement(t){return this.next(),t.test=this.parseHeaderExpression(),this.state.labels.push(nr),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("while")),this.state.labels.pop(),this.finishNode(t,"WhileStatement")}parseWithStatement(t){return this.state.strict&&this.raise(this.state.start,A.StrictWith),this.next(),t.object=this.parseHeaderExpression(),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("with")),this.finishNode(t,"WithStatement")}parseEmptyStatement(t){return this.next(),this.finishNode(t,"EmptyStatement")}parseLabeledStatement(t,e,r,s){for(const n of this.state.labels)n.name===e&&this.raise(r.start,A.LabelRedeclaration,e);const i=this.state.type.isLoop?"loop":this.match(d._switch)?"switch":null;for(let n=this.state.labels.length-1;n>=0;n--){const e=this.state.labels[n];if(e.statementStart!==t.start)break;e.statementStart=this.state.start,e.kind=i}return this.state.labels.push({name:e,kind:i,statementStart:this.state.start}),t.body=this.parseStatement(s?-1===s.indexOf("label")?s+"label":s:"label"),this.state.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")}parseExpressionStatement(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")}parseBlock(t=!1,e=!0,r){const s=this.startNode();return t&&this.state.strictErrors.clear(),this.expect(d.braceL),e&&this.scope.enter(Y),this.parseBlockBody(s,t,!1,d.braceR,r),e&&this.scope.exit(),this.finishNode(s,"BlockStatement")}isValidDirective(t){return"ExpressionStatement"===t.type&&"StringLiteral"===t.expression.type&&!t.expression.extra.parenthesized}parseBlockBody(t,e,r,s,i){const n=t.body=[],a=t.directives=[];this.parseBlockOrModuleBlockBody(n,e?a:void 0,r,s,i)}parseBlockOrModuleBlockBody(t,e,r,s,i){const n=this.state.strict;let a=!1,o=!1;while(!this.match(s)){const s=this.parseStatement(null,r);if(e&&!o){if(this.isValidDirective(s)){const t=this.stmtToDirective(s);e.push(t),a||"use strict"!==t.value.value||(a=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}t.push(s)}i&&i.call(this,a),n||this.setStrict(!1),this.next()}parseFor(t,e){return t.init=e,this.semicolon(!1),t.test=this.match(d.semi)?null:this.parseExpression(),this.semicolon(!1),t.update=this.match(d.parenR)?null:this.parseExpression(),this.expect(d.parenR),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,"ForStatement")}parseForIn(t,e,r){const s=this.match(d._in);return this.next(),s?r>-1&&this.unexpected(r):t.await=r>-1,"VariableDeclaration"!==e.type||null==e.declarations[0].init||s&&!this.state.strict&&"var"===e.kind&&"Identifier"===e.declarations[0].id.type?"AssignmentPattern"===e.type&&this.raise(e.start,A.InvalidLhs,"for-loop"):this.raise(e.start,A.ForInOfLoopInitializer,s?"for-in":"for-of"),t.left=e,t.right=s?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(d.parenR),t.body=this.withTopicForbiddingContext(()=>this.parseStatement("for")),this.scope.exit(),this.state.labels.pop(),this.finishNode(t,s?"ForInStatement":"ForOfStatement")}parseVar(t,e,r){const s=t.declarations=[],i=this.hasPlugin("typescript");for(t.kind=r;;){const t=this.startNode();if(this.parseVarId(t,r),this.eat(d.eq)?t.init=e?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():("const"!==r||this.match(d._in)||this.isContextual("of")?"Identifier"===t.id.type||e&&(this.match(d._in)||this.isContextual("of"))||this.raise(this.state.lastTokEnd,A.DeclarationMissingInitializer,"Complex binding patterns"):i||this.raise(this.state.lastTokEnd,A.DeclarationMissingInitializer,"Const declarations"),t.init=null),s.push(this.finishNode(t,"VariableDeclarator")),!this.eat(d.comma))break}return t}parseVarId(t,e){t.id=this.parseBindingAtom(),this.checkLVal(t.id,"variable declaration","var"===e?vt:bt,void 0,"var"!==e)}parseFunction(t,e=or,r=!1){const s=e&cr,i=e&hr,n=!!s&&!(e&lr);this.initFunction(t,r),this.match(d.star)&&i&&this.raise(this.state.start,A.GeneratorInSingleStatementContext),t.generator=this.eat(d.star),s&&(t.id=this.parseFunctionId(n));const a=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(Q),this.prodParam.enter(fe(r,t.generator)),s||(t.id=this.parseFunctionId()),this.parseFunctionParams(t,!1),this.withTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(t,s?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),s&&!i&&this.registerFunctionStatementId(t),this.state.maybeInArrowParameters=a,t}parseFunctionId(t){return t||this.match(d.name)?this.parseIdentifier():null}parseFunctionParams(t,e){this.expect(d.parenL),this.expressionScope.enter(Xe()),t.params=this.parseBindingList(d.parenR,41,!1,e),this.expressionScope.exit()}registerFunctionStatementId(t){t.id&&this.scope.declareName(t.id.name,this.state.strict||t.generator||t.async?this.scope.treatFunctionsAsVar?vt:bt:wt,t.id.start)}parseClass(t,e,r){this.next(),this.takeDecorators(t);const s=this.state.strict;return this.state.strict=!0,this.parseClassId(t,e,r),this.parseClassSuper(t),t.body=this.parseClassBody(!!t.superClass,s),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(d.eq)||this.match(d.semi)||this.match(d.braceR)}isClassMethod(){return this.match(d.parenL)}isNonstaticConstructor(t){return!t.computed&&!t.static&&("constructor"===t.key.name||"constructor"===t.key.value)}parseClassBody(t,e){this.classScope.enter();const r={constructorAllowsSuper:t,hadConstructor:!1};let s=[];const i=this.startNode();if(i.body=[],this.expect(d.braceL),this.withTopicForbiddingContext(()=>{while(!this.match(d.braceR)){if(this.eat(d.semi)){if(s.length>0)throw this.raise(this.state.lastTokEnd,A.DecoratorSemicolon);continue}if(this.match(d.at)){s.push(this.parseDecorator());continue}const t=this.startNode();s.length&&(t.decorators=s,this.resetStartLocationFromNode(t,s[0]),s=[]),this.parseClassMember(i,t,r),"constructor"===t.kind&&t.decorators&&t.decorators.length>0&&this.raise(t.start,A.DecoratorConstructor)}}),this.state.strict=e,this.next(),s.length)throw this.raise(this.state.start,A.TrailingDecorator);return this.classScope.exit(),this.finishNode(i,"ClassBody")}parseClassMemberFromModifier(t,e){const r=this.parseIdentifier(!0);if(this.isClassMethod()){const s=e;return s.kind="method",s.computed=!1,s.key=r,s.static=!1,this.pushClassMethod(t,s,!1,!1,!1,!1),!0}if(this.isClassProperty()){const s=e;return s.computed=!1,s.key=r,s.static=!1,t.body.push(this.parseClassProperty(s)),!0}return!1}parseClassMember(t,e,r){const s=this.isContextual("static");if(s){if(this.parseClassMemberFromModifier(t,e))return;if(this.eat(d.braceL))return void this.parseClassStaticBlock(t,e)}this.parseClassMemberWithIsStatic(t,e,r,s)}parseClassMemberWithIsStatic(t,e,r,s){const i=e,n=e,a=e,o=e,c=i,h=i;if(e.static=s,this.eat(d.star))return c.kind="method",this.parseClassElementName(c),this.isPrivateName(c.key)?void this.pushClassPrivateMethod(t,n,!0,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,A.ConstructorIsGenerator),void this.pushClassMethod(t,i,!0,!1,!1,!1));const l=this.state.containsEsc,p=this.parseClassElementName(e),u=this.isPrivateName(p),f="Identifier"===p.type,m=this.state.start;if(this.parsePostMemberNameModifiers(h),this.isClassMethod()){if(c.kind="method",u)return void this.pushClassPrivateMethod(t,n,!1,!1);const e=this.isNonstaticConstructor(i);let s=!1;e&&(i.kind="constructor",r.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(p.start,A.DuplicateConstructor),r.hadConstructor=!0,s=r.constructorAllowsSuper),this.pushClassMethod(t,i,!1,!1,e,s)}else if(this.isClassProperty())u?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a);else if(!f||"async"!==p.name||l||this.isLineTerminator())!f||"get"!==p.name&&"set"!==p.name||l||this.match(d.star)&&this.isLineTerminator()?this.isLineTerminator()?u?this.pushClassPrivateProperty(t,o):this.pushClassProperty(t,a):this.unexpected():(c.kind=p.name,this.parseClassElementName(i),this.isPrivateName(c.key)?this.pushClassPrivateMethod(t,n,!1,!1):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,A.ConstructorIsAccessor),this.pushClassMethod(t,i,!1,!1,!1,!1)),this.checkGetterSetterParams(i));else{const e=this.eat(d.star);h.optional&&this.unexpected(m),c.kind="method",this.parseClassElementName(c),this.parsePostMemberNameModifiers(h),this.isPrivateName(c.key)?this.pushClassPrivateMethod(t,n,e,!0):(this.isNonstaticConstructor(i)&&this.raise(i.key.start,A.ConstructorIsAsync),this.pushClassMethod(t,i,e,!0,!1,!1))}}parseClassElementName(t){const e=this.parsePropertyName(t,!0);return t.computed||!t.static||"prototype"!==e.name&&"prototype"!==e.value||this.raise(e.start,A.StaticPrototype),this.isPrivateName(e)&&"constructor"===this.getPrivateNameSV(e)&&this.raise(e.start,A.ConstructorClassPrivateField),e}parseClassStaticBlock(t,e){var r;this.expectPlugin("classStaticBlock",e.start),this.scope.enter(st|it|et);const s=this.state.labels;this.state.labels=[],this.prodParam.enter(ce);const i=e.body=[];this.parseBlockOrModuleBlockBody(i,void 0,!1,d.braceR),this.prodParam.exit(),this.scope.exit(),this.state.labels=s,t.body.push(this.finishNode(e,"StaticBlock")),null!=(r=e.decorators)&&r.length&&this.raise(e.start,A.DecoratorStaticBlock)}pushClassProperty(t,e){e.computed||"constructor"!==e.key.name&&"constructor"!==e.key.value||this.raise(e.key.start,A.ConstructorClassField),t.body.push(this.parseClassProperty(e))}pushClassPrivateProperty(t,e){this.expectPlugin("classPrivateProperties",e.key.start);const r=this.parseClassPrivateProperty(e);t.body.push(r),this.classScope.declarePrivateName(this.getPrivateNameSV(r.key),Bt,r.key.start)}pushClassMethod(t,e,r,s,i,n){t.body.push(this.parseMethod(e,r,s,i,n,"ClassMethod",!0))}pushClassPrivateMethod(t,e,r,s){this.expectPlugin("classPrivateMethods",e.key.start);const i=this.parseMethod(e,r,s,!1,!1,"ClassPrivateMethod",!0);t.body.push(i);const n="get"===i.kind?i.static?_t:jt:"set"===i.kind?i.static?Rt:Ft:Bt;this.classScope.declarePrivateName(this.getPrivateNameSV(i.key),n,i.key.start)}parsePostMemberNameModifiers(t){}parseClassPrivateProperty(t){return this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassPrivateProperty")}parseClassProperty(t){return t.typeAnnotation&&!this.match(d.eq)||this.expectPlugin("classProperties"),this.parseInitializer(t),this.semicolon(),this.finishNode(t,"ClassProperty")}parseInitializer(t){this.scope.enter(st|et),this.expressionScope.enter(Je()),this.prodParam.enter(ce),t.value=this.eat(d.eq)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(t,e,r,s=xt){this.match(d.name)?(t.id=this.parseIdentifier(),e&&this.checkLVal(t.id,"class name",s)):r||!e?t.id=null:this.unexpected(null,A.MissingClassName)}parseClassSuper(t){t.superClass=this.eat(d._extends)?this.parseExprSubscripts():null}parseExport(t){const e=this.maybeParseExportDefaultSpecifier(t),r=!e||this.eat(d.comma),s=r&&this.eatExportStar(t),i=s&&this.maybeParseExportNamespaceSpecifier(t),n=r&&(!i||this.eat(d.comma)),a=e||s;if(s&&!i)return e&&this.unexpected(),this.parseExportFrom(t,!0),this.finishNode(t,"ExportAllDeclaration");const o=this.maybeParseExportNamedSpecifiers(t);if(e&&r&&!s&&!o||i&&n&&!o)throw this.unexpected(null,d.braceL);let c;if(a||o?(c=!1,this.parseExportFrom(t,a)):c=this.maybeParseExportDeclaration(t),a||o||c)return this.checkExport(t,!0,!1,!!t.source),this.finishNode(t,"ExportNamedDeclaration");if(this.eat(d._default))return t.declaration=this.parseExportDefaultExpression(),this.checkExport(t,!0,!0),this.finishNode(t,"ExportDefaultDeclaration");throw this.unexpected(null,d.braceL)}eatExportStar(t){return this.eat(d.star)}maybeParseExportDefaultSpecifier(t){if(this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom");const e=this.startNode();return e.exported=this.parseIdentifier(!0),t.specifiers=[this.finishNode(e,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(t){if(this.isContextual("as")){t.specifiers||(t.specifiers=[]);const e=this.startNodeAt(this.state.lastTokStart,this.state.lastTokStartLoc);return this.next(),e.exported=this.parseModuleExportName(),t.specifiers.push(this.finishNode(e,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(t){return!!this.match(d.braceL)&&(t.specifiers||(t.specifiers=[]),t.specifiers.push(...this.parseExportSpecifiers()),t.source=null,t.declaration=null,!0)}maybeParseExportDeclaration(t){return!!this.shouldParseExportDeclaration()&&(t.specifiers=[],t.source=null,t.declaration=this.parseExportDeclaration(t),!0)}isAsyncFunction(){if(!this.isContextual("async"))return!1;const t=this.nextTokenStart();return!f.test(this.input.slice(this.state.pos,t))&&this.isUnparsedContextual(t,"function")}parseExportDefaultExpression(){const t=this.startNode(),e=this.isAsyncFunction();if(this.match(d._function)||e)return this.next(),e&&this.next(),this.parseFunction(t,cr|lr,e);if(this.match(d._class))return this.parseClass(t,!0,!0);if(this.match(d.at))return this.hasPlugin("decorators")&&this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(this.state.start,A.DecoratorBeforeExport),this.parseDecorators(!1),this.parseClass(t,!0,!0);if(this.match(d._const)||this.match(d._var)||this.isLet())throw this.raise(this.state.start,A.UnsupportedDefaultExport);{const t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}}parseExportDeclaration(t){return this.parseStatement(null)}isExportDefaultSpecifier(){if(this.match(d.name)){const t=this.state.value;if("async"===t&&!this.state.containsEsc||"let"===t)return!1;if(("type"===t||"interface"===t)&&!this.state.containsEsc){const t=this.lookahead();if(t.type===d.name&&"from"!==t.value||t.type===d.braceL)return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(d._default))return!1;const t=this.nextTokenStart(),e=this.isUnparsedContextual(t,"from");if(44===this.input.charCodeAt(t)||this.match(d.name)&&e)return!0;if(this.match(d._default)&&e){const e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(t,e){if(this.eatContextual("from")){t.source=this.parseImportSource(),this.checkExport(t);const e=this.maybeParseImportAssertions();e&&(t.assertions=e)}else e?this.unexpected():t.source=null;this.semicolon()}shouldParseExportDeclaration(){if(this.match(d.at)&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))){if(!this.getPluginOption("decorators","decoratorsBeforeExport"))return!0;this.unexpected(this.state.start,A.DecoratorBeforeExport)}return"var"===this.state.type.keyword||"const"===this.state.type.keyword||"function"===this.state.type.keyword||"class"===this.state.type.keyword||this.isLet()||this.isAsyncFunction()}checkExport(t,e,r,s){if(e)if(r){if(this.checkDuplicateExports(t,"default"),this.hasPlugin("exportDefaultFrom")){var i;const e=t.declaration;"Identifier"!==e.type||"from"!==e.name||e.end-e.start!==4||null!=(i=e.extra)&&i.parenthesized||this.raise(e.start,A.ExportDefaultFromAsIdentifier)}}else if(t.specifiers&&t.specifiers.length)for(const a of t.specifiers){const{exported:t}=a,e="Identifier"===t.type?t.name:t.value;if(this.checkDuplicateExports(a,e),!s&&a.local){const{local:t}=a;"StringLiteral"===t.type?this.raise(a.start,A.ExportBindingIsString,t.value,e):(this.checkReservedWord(t.name,t.start,!0,!1),this.scope.checkLocalExport(t))}}else if(t.declaration)if("FunctionDeclaration"===t.declaration.type||"ClassDeclaration"===t.declaration.type){const e=t.declaration.id;if(!e)throw new Error("Assertion failure");this.checkDuplicateExports(t,e.name)}else if("VariableDeclaration"===t.declaration.type)for(const a of t.declaration.declarations)this.checkDeclaration(a.id);const n=this.state.decoratorStack[this.state.decoratorStack.length-1];if(n.length)throw this.raise(t.start,A.UnsupportedDecoratorExport)}checkDeclaration(t){if("Identifier"===t.type)this.checkDuplicateExports(t,t.name);else if("ObjectPattern"===t.type)for(const e of t.properties)this.checkDeclaration(e);else if("ArrayPattern"===t.type)for(const e of t.elements)e&&this.checkDeclaration(e);else"ObjectProperty"===t.type?this.checkDeclaration(t.value):"RestElement"===t.type?this.checkDeclaration(t.argument):"AssignmentPattern"===t.type&&this.checkDeclaration(t.left)}checkDuplicateExports(t,e){this.state.exportedIdentifiers.indexOf(e)>-1&&this.raise(t.start,"default"===e?A.DuplicateDefaultExport:A.DuplicateExport,e),this.state.exportedIdentifiers.push(e)}parseExportSpecifiers(){const t=[];let e=!0;this.expect(d.braceL);while(!this.eat(d.braceR)){if(e)e=!1;else if(this.expect(d.comma),this.eat(d.braceR))break;const r=this.startNode();r.local=this.parseModuleExportName(),r.exported=this.eatContextual("as")?this.parseModuleExportName():r.local.__clone(),t.push(this.finishNode(r,"ExportSpecifier"))}return t}parseModuleExportName(){if(this.match(d.string)){this.expectPlugin("moduleStringNames");const t=this.parseLiteral(this.state.value,"StringLiteral"),e=t.value.match(pr);return e&&this.raise(t.start,A.ModuleExportNameHasLoneSurrogate,e[0].charCodeAt(0).toString(16)),t}return this.parseIdentifier(!0)}parseImport(t){if(t.specifiers=[],!this.match(d.string)){const e=this.maybeParseDefaultImportSpecifier(t),r=!e||this.eat(d.comma),s=r&&this.maybeParseStarImportSpecifier(t);r&&!s&&this.parseNamedImportSpecifiers(t),this.expectContextual("from")}t.source=this.parseImportSource();const e=this.maybeParseImportAssertions();if(e)t.assertions=e;else{const e=this.maybeParseModuleAttributes();e&&(t.attributes=e)}return this.semicolon(),this.finishNode(t,"ImportDeclaration")}parseImportSource(){return this.match(d.string)||this.unexpected(),this.parseExprAtom()}shouldParseDefaultImport(t){return this.match(d.name)}parseImportSpecifierLocal(t,e,r,s){e.local=this.parseIdentifier(),this.checkLVal(e.local,s,bt),t.specifiers.push(this.finishNode(e,r))}parseAssertEntries(){const t=[],e=new Set;do{if(this.match(d.braceR))break;const r=this.startNode(),s=this.state.value;if(this.match(d.string)?r.key=this.parseLiteral(s,"StringLiteral"):r.key=this.parseIdentifier(!0),this.expect(d.colon),"type"!==s&&this.raise(r.key.start,A.ModuleAttributeDifferentFromType,s),e.has(s)&&this.raise(r.key.start,A.ModuleAttributesWithDuplicateKeys,s),e.add(s),!this.match(d.string))throw this.unexpected(this.state.start,A.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),t.push(r)}while(this.eat(d.comma));return t}maybeParseModuleAttributes(){if(!this.match(d._with)||this.hasPrecedingLineBreak())return this.hasPlugin("moduleAttributes")?[]:null;this.expectPlugin("moduleAttributes"),this.next();const t=[],e=new Set;do{const r=this.startNode();if(r.key=this.parseIdentifier(!0),"type"!==r.key.name&&this.raise(r.key.start,A.ModuleAttributeDifferentFromType,r.key.name),e.has(r.key.name)&&this.raise(r.key.start,A.ModuleAttributesWithDuplicateKeys,r.key.name),e.add(r.key.name),this.expect(d.colon),!this.match(d.string))throw this.unexpected(this.state.start,A.ModuleAttributeInvalidValue);r.value=this.parseLiteral(this.state.value,"StringLiteral"),this.finishNode(r,"ImportAttribute"),t.push(r)}while(this.eat(d.comma));return t}maybeParseImportAssertions(){if(!this.isContextual("assert")||this.hasPrecedingLineBreak())return this.hasPlugin("importAssertions")?[]:null;this.expectPlugin("importAssertions"),this.next(),this.eat(d.braceL);const t=this.parseAssertEntries();return this.eat(d.braceR),t}maybeParseDefaultImportSpecifier(t){return!!this.shouldParseDefaultImport(t)&&(this.parseImportSpecifierLocal(t,this.startNode(),"ImportDefaultSpecifier","default import specifier"),!0)}maybeParseStarImportSpecifier(t){if(this.match(d.star)){const e=this.startNode();return this.next(),this.expectContextual("as"),this.parseImportSpecifierLocal(t,e,"ImportNamespaceSpecifier","import namespace specifier"),!0}return!1}parseNamedImportSpecifiers(t){let e=!0;this.expect(d.braceL);while(!this.eat(d.braceR)){if(e)e=!1;else{if(this.eat(d.colon))throw this.raise(this.state.start,A.DestructureNamedImport);if(this.expect(d.comma),this.eat(d.braceR))break}this.parseImportSpecifier(t)}}parseImportSpecifier(t){const e=this.startNode();if(e.imported=this.parseModuleExportName(),this.eatContextual("as"))e.local=this.parseIdentifier();else{const{imported:t}=e;if("StringLiteral"===t.type)throw this.raise(e.start,A.ImportBindingIsString,t.value);this.checkReservedWord(t.name,e.start,!0,!0),e.local=t.__clone()}this.checkLVal(e.local,"import specifier",bt),t.specifiers.push(this.finishNode(e,"ImportSpecifier"))}}class dr extends ur{constructor(t,e){t=Oe(t),super(t,e),this.options=t,this.initializeScopes(),this.plugins=fr(this.options.plugins),this.filename=t.sourceFilename}getScopeHandler(){return qt}parse(){this.enterInitialScopes();const t=this.startNode(),e=this.startNode();return this.nextToken(),t.errors=null,this.parseTopLevel(t,e),t.errors=this.state.errors,t}}function fr(t){const e=new Map;for(const r of t){const[t,s]=Array.isArray(r)?r:[r,{}];e.has(t)||e.set(t,s||{})}return e}function mr(t,e){var r;if("unambiguous"!==(null==(r=e)?void 0:r.sourceType))return gr(e,t).parse();e=Object.assign({},e);try{e.sourceType="module";const r=gr(e,t),i=r.parse();if(r.sawUnambiguousESM)return i;if(r.ambiguousScriptDifferentAst)try{return e.sourceType="script",gr(e,t).parse()}catch(s){}else i.program.sourceType="script";return i}catch(i){try{return e.sourceType="script",gr(e,t).parse()}catch(n){}throw i}}function yr(t,e){const r=gr(e,t);return r.options.strictMode&&(r.state.strict=!0),r.getExpression()}function gr(t,e){let r=dr;return null!=t&&t.plugins&&(Ce(t.plugins),r=br(t.plugins)),new r(t,e)}const xr={};function br(t){const e=ke.filter(e=>Te(t,e)),r=e.join("/");let s=xr[r];if(!s){s=dr;for(const t of e)s=Ne[t](s);xr[r]=s}return s}e.parse=mr,e.parseExpression=yr,e.tokTypes=d},7746:function(t,e,r){var s=r("28b8");t.exports=!s((function(){return 7!=Object.defineProperty({},1,{get:function(){return 7}})[1]}))},"77de":function(t,e,r){var s=r("c353");t.exports=function(t){if(!s(t)&&null!==t)throw TypeError("Can't set "+String(t)+" as a prototype");return t}},"77e4":function(t,e){var r=Math.ceil,s=Math.floor;t.exports=function(t){return isNaN(t=+t)?0:(t>0?s:r)(t)}},"79fa":function(t,e,r){(function(e){var r=function(t){return t&&t.Math==Math&&t};t.exports=r("object"==typeof globalThis&&globalThis)||r("object"==typeof window&&window)||r("object"==typeof self&&self)||r("object"==typeof e&&e)||function(){return this}()||Function("return this")()}).call(this,r("2409"))},"7a5a":function(t,e,r){"use strict";var s=r("e65c"),i=r("2cd3"),n=r("4fe2"),a=r("273d"),o=r("46cd"),c=r("9b6f"),h=r("4c30"),l=r("f36e"),p=r("49b2"),u=r("4a22"),d=r("482b"),f=d.IteratorPrototype,m=d.BUGGY_SAFARI_ITERATORS,y=l("iterator"),g="keys",x="values",b="entries",v=function(){return this};t.exports=function(t,e,r,l,d,w,P){i(r,e,l);var T,E,A,S=function(t){if(t===d&&O)return O;if(!m&&t in k)return k[t];switch(t){case g:return function(){return new r(this,t)};case x:return function(){return new r(this,t)};case b:return function(){return new r(this,t)}}return function(){return new r(this)}},C=e+" Iterator",N=!1,k=t.prototype,I=k[y]||k["@@iterator"]||d&&k[d],O=!m&&I||S(d),D="Array"==e&&k.entries||I;if(D&&(T=n(D.call(new t)),f!==Object.prototype&&T.next&&(p||n(T)===f||(a?a(T,f):"function"!=typeof T[y]&&c(T,y,v)),o(T,C,!0,!0),p&&(u[C]=v))),d==x&&I&&I.name!==x&&(N=!0,O=function(){return I.call(this)}),p&&!P||k[y]===O||c(k,y,O),u[e]=O,d)if(E={values:S(x),keys:w?O:S(g),entries:S(b)},P)for(A in E)(m||N||!(A in k))&&h(k,A,E[A]);else s({target:e,proto:!0,forced:m||N},E);return E}},"7abd":function(t,e,r){var s=r("f6fc"),i=Function.toString;"function"!=typeof s.inspectSource&&(s.inspectSource=function(t){return i.call(t)}),t.exports=s.inspectSource},"7d98":function(t,e,r){var s=r("7746"),i=r("28b8"),n=r("6f6e");t.exports=!s&&!i((function(){return 7!=Object.defineProperty(n("div"),"a",{get:function(){return 7}}).a}))},"7dd6":function(t,e,r){"use strict";function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}r.d(e,"a",(function(){return s}))},"7fac":function(t,e,r){var s=r("acaa"),i=r("e2c5"),n=r("7fdb"),a=r("54d5"),o=function(t){return function(e,r,o,c){s(r);var h=i(e),l=n(h),p=a(h.length),u=t?p-1:0,d=t?-1:1;if(o<2)while(1){if(u in l){c=l[u],u+=d;break}if(u+=d,t?u<0:p<=u)throw TypeError("Reduce of empty array with no initial value")}for(;t?u>=0:p>u;u+=d)u in l&&(c=r(c,l[u],u,h));return c}};t.exports={left:o(!1),right:o(!0)}},"7fdb":function(t,e,r){var s=r("28b8"),i=r("0a8b"),n="".split;t.exports=s((function(){return!Object("z").propertyIsEnumerable(0)}))?function(t){return"String"==i(t)?n.call(t,""):Object(t)}:Object},"809d":function(t,e,r){var s=r("5d79"),i=r("061c").f,n={}.toString,a="object"==typeof window&&window&&Object.getOwnPropertyNames?Object.getOwnPropertyNames(window):[],o=function(t){try{return i(t)}catch(e){return a.slice()}};t.exports.f=function(t){return a&&"[object Window]"==n.call(t)?o(t):i(s(t))}},"82ae":function(t,e,r){t.exports=r("43d9")},"83fe":function(t,e,r){"use strict";var s=r("d844");t.exports=s.isStandardBrowserEnv()?function(){return{write:function(t,e,r,i,n,a){var o=[];o.push(t+"="+encodeURIComponent(e)),s.isNumber(r)&&o.push("expires="+new Date(r).toGMTString()),s.isString(i)&&o.push("path="+i),s.isString(n)&&o.push("domain="+n),!0===a&&o.push("secure"),document.cookie=o.join("; ")},read:function(t){var e=document.cookie.match(new RegExp("(^|;\\s*)("+t+")=([^;]*)"));return e?decodeURIComponent(e[3]):null},remove:function(t){this.write(t,"",Date.now()-864e5)}}}():function(){return{write:function(){},read:function(){return null},remove:function(){}}}()},"84fc":function(t,e,r){var s=r("fd34");t.exports=function(t){if(s(t))throw TypeError("The method doesn't accept regular expressions");return t}},"85ea":function(t,e,r){"use strict";var s=r("e65c"),i=r("49b2"),n=r("a84c"),a=r("28b8"),o=r("ded2"),c=r("e2f8"),h=r("ce06"),l=r("4c30"),p=!!n&&a((function(){n.prototype["finally"].call({then:function(){}},(function(){}))}));s({target:"Promise",proto:!0,real:!0,forced:p},{finally:function(t){var e=c(this,o("Promise")),r="function"==typeof t;return this.then(r?function(r){return h(e,t()).then((function(){return r}))}:t,r?function(r){return h(e,t()).then((function(){throw r}))}:t)}}),i||"function"!=typeof n||n.prototype["finally"]||l(n.prototype,"finally",o("Promise").prototype["finally"])},9208:function(t,e,r){var s=r("79fa"),i=r("3a4e"),n=r("c9ba"),a=r("9b6f"),o=r("f36e"),c=o("iterator"),h=o("toStringTag"),l=n.values;for(var p in i){var u=s[p],d=u&&u.prototype;if(d){if(d[c]!==l)try{a(d,c,l)}catch(m){d[c]=l}if(d[h]||a(d,h,p),i[p])for(var f in n)if(d[f]!==n[f])try{a(d,f,n[f])}catch(m){d[f]=n[f]}}}},9284:function(t,e,r){var s=r("9fca"),i=r("4360"),n=r("28b8");t.exports=!!Object.getOwnPropertySymbols&&!n((function(){return!Symbol.sham&&(s?38===i:i>37&&i<41)}))},9651:function(t,e,r){var s=r("0a8b");t.exports=Array.isArray||function(t){return"Array"==s(t)}},9719:function(t,e,r){var s=r("79fa"),i=r("3a4e"),n=r("c08a"),a=r("9b6f");for(var o in i){var c=s[o],h=c&&c.prototype;if(h&&h.forEach!==n)try{a(h,"forEach",n)}catch(l){h.forEach=n}}},"9b6f":function(t,e,r){var s=r("7746"),i=r("6513"),n=r("d9cb");t.exports=s?function(t,e,r){return i.f(t,e,n(1,r))}:function(t,e,r){return t[e]=r,t}},"9b90":function(t,e){t.exports=["constructor","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"]},"9d72":function(t,e,r){"use strict";var s=r("d844");t.exports=function(t,e){s.forEach(t,(function(r,s){s!==e&&s.toUpperCase()===e.toUpperCase()&&(t[e]=r,delete t[s])}))}},"9f8b":function(t,e,r){var s,i,n,a=r("a67a"),o=r("79fa"),c=r("c353"),h=r("9b6f"),l=r("66e1"),p=r("f6fc"),u=r("f0f9"),d=r("a509"),f=o.WeakMap,m=function(t){return n(t)?i(t):s(t,{})},y=function(t){return function(e){var r;if(!c(e)||(r=i(e)).type!==t)throw TypeError("Incompatible receiver, "+t+" required");return r}};if(a){var g=p.state||(p.state=new f),x=g.get,b=g.has,v=g.set;s=function(t,e){return e.facade=t,v.call(g,t,e),e},i=function(t){return x.call(g,t)||{}},n=function(t){return b.call(g,t)}}else{var w=u("state");d[w]=!0,s=function(t,e){return e.facade=t,h(t,w,e),e},i=function(t){return l(t,w)?t[w]:{}},n=function(t){return l(t,w)}}t.exports={set:s,get:i,has:n,enforce:m,getterFor:y}},"9fc2":function(t,e,r){"use strict";var s=r("493f"),i=r("e2c5"),n=r("058b"),a=r("1940"),o=r("54d5"),c=r("e541"),h=r("ca2c");t.exports=function(t){var e,r,l,p,u,d,f=i(t),m="function"==typeof this?this:Array,y=arguments.length,g=y>1?arguments[1]:void 0,x=void 0!==g,b=h(f),v=0;if(x&&(g=s(g,y>2?arguments[2]:void 0,2)),void 0==b||m==Array&&a(b))for(e=o(f.length),r=new m(e);e>v;v++)d=x?g(f[v],v):f[v],c(r,v,d);else for(p=b.call(f),u=p.next,r=new m;!(l=u.call(p)).done;v++)d=x?n(p,g,[l.value,v],!0):l.value,c(r,v,d);return r.length=v,r}},"9fca":function(t,e,r){var s=r("0a8b"),i=r("79fa");t.exports="process"==s(i.process)},a0ad:function(t,e,r){var s=r("66e1"),i=r("5d79"),n=r("3d76").indexOf,a=r("a509");t.exports=function(t,e){var r,o=i(t),c=0,h=[];for(r in o)!s(a,r)&&s(o,r)&&h.push(r);while(e.length>c)s(o,r=e[c++])&&(~n(h,r)||h.push(r));return h}},a169:function(t,e,r){"use strict";var s=r("d844"),i=r("1eb2"),n=r("050d"),a=r("4f37"),o=r("0bbf"),c=r("edb4"),h=r("c5b9");t.exports=function(t){return new Promise((function(e,l){var p=t.data,u=t.headers;s.isFormData(p)&&delete u["Content-Type"];var d=new XMLHttpRequest;if(t.auth){var f=t.auth.username||"",m=t.auth.password||"";u.Authorization="Basic "+btoa(f+":"+m)}var y=a(t.baseURL,t.url);if(d.open(t.method.toUpperCase(),n(y,t.params,t.paramsSerializer),!0),d.timeout=t.timeout,d.onreadystatechange=function(){if(d&&4===d.readyState&&(0!==d.status||d.responseURL&&0===d.responseURL.indexOf("file:"))){var r="getAllResponseHeaders"in d?o(d.getAllResponseHeaders()):null,s=t.responseType&&"text"!==t.responseType?d.response:d.responseText,n={data:s,status:d.status,statusText:d.statusText,headers:r,config:t,request:d};i(e,l,n),d=null}},d.onabort=function(){d&&(l(h("Request aborted",t,"ECONNABORTED",d)),d=null)},d.onerror=function(){l(h("Network Error",t,null,d)),d=null},d.ontimeout=function(){var e="timeout of "+t.timeout+"ms exceeded";t.timeoutErrorMessage&&(e=t.timeoutErrorMessage),l(h(e,t,"ECONNABORTED",d)),d=null},s.isStandardBrowserEnv()){var g=r("83fe"),x=(t.withCredentials||c(y))&&t.xsrfCookieName?g.read(t.xsrfCookieName):void 0;x&&(u[t.xsrfHeaderName]=x)}if("setRequestHeader"in d&&s.forEach(u,(function(t,e){"undefined"===typeof p&&"content-type"===e.toLowerCase()?delete u[e]:d.setRequestHeader(e,t)})),s.isUndefined(t.withCredentials)||(d.withCredentials=!!t.withCredentials),t.responseType)try{d.responseType=t.responseType}catch(b){if("json"!==t.responseType)throw b}"function"===typeof t.onDownloadProgress&&d.addEventListener("progress",t.onDownloadProgress),"function"===typeof t.onUploadProgress&&d.upload&&d.upload.addEventListener("progress",t.onUploadProgress),t.cancelToken&&t.cancelToken.promise.then((function(t){d&&(d.abort(),l(t),d=null)})),void 0===p&&(p=null),d.send(p)}))}},a42d:function(t,e,r){var s=r("2427");t.exports=/web0s(?!.*chrome)/i.test(s)},a509:function(t,e){t.exports={}},a67a:function(t,e,r){var s=r("79fa"),i=r("7abd"),n=s.WeakMap;t.exports="function"===typeof n&&/native code/.test(i(n))},a84c:function(t,e,r){var s=r("79fa");t.exports=s.Promise},a8c2:function(t,e,r){var s=r("ded2");t.exports=s("document","documentElement")},a92d:function(t,e,r){"use strict";var s=r("e65c"),i=r("2278").map,n=r("d196"),a=n("map");s({target:"Array",proto:!0,forced:!a},{map:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}})},aa0d:function(t,e,r){"use strict";var s=r("e65c"),i=r("f6f8");s({target:"RegExp",proto:!0,forced:/./.exec!==i},{exec:i})},acaa:function(t,e){t.exports=function(t){if("function"!=typeof t)throw TypeError(String(t)+" is not a function");return t}},aecc:function(t,e,r){"use strict";var s=r("44c4").charAt;t.exports=function(t,e,r){return e+(r?s(t,e).length:1)}},af7c:function(t,e,r){var s=r("66e1"),i=r("d344"),n=r("4a15"),a=r("6513");t.exports=function(t,e){for(var r=i(e),o=a.f,c=n.f,h=0;h1?arguments[1]:void 0)}})},b1e0:function(t,e,r){var s=r("e2c5"),i=Math.floor,n="".replace,a=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,o=/\$([$&'`]|\d{1,2})/g;t.exports=function(t,e,r,c,h,l){var p=r+t.length,u=c.length,d=o;return void 0!==h&&(h=s(h),d=a),n.call(l,d,(function(s,n){var a;switch(n.charAt(0)){case"$":return"$";case"&":return t;case"`":return e.slice(0,r);case"'":return e.slice(p);case"<":a=h[n.slice(1,-1)];break;default:var o=+n;if(0===o)return s;if(o>u){var l=i(o/10);return 0===l?s:l<=u?void 0===c[l-1]?n.charAt(1):c[l-1]+n.charAt(1):s}a=c[o-1]}return void 0===a?"":a}))}},b1fc:function(t,e,r){var s=r("49b2"),i=r("f6fc");(t.exports=function(t,e){return i[t]||(i[t]=void 0!==e?e:{})})("versions",[]).push({version:"3.10.0",mode:s?"pure":"global",copyright:"© 2021 Denis Pushkarev (zloirock.ru)"})},b566:function(t,e,r){var s=r("e65c"),i=r("9fc2"),n=r("e745"),a=!n((function(t){Array.from(t)}));s({target:"Array",stat:!0,forced:a},{from:i})},b9cf:function(t,e){t.exports=function(t){if(void 0==t)throw TypeError("Can't call method on "+t);return t}},bbc6:function(t,e,r){"use strict";r.d(e,"a",(function(){return s}));r("e31e"),r("d5be"),r("186d"),r("18a3"),r("c447"),r("9208");function s(t){return s="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},s(t)}},bd2a:function(t,e,r){"use strict";t.exports=function(t,e,r,s,i){return t.config=e,r&&(t.code=r),t.request=s,t.response=i,t.isAxiosError=!0,t.toJSON=function(){return{message:this.message,name:this.name,description:this.description,number:this.number,fileName:this.fileName,lineNumber:this.lineNumber,columnNumber:this.columnNumber,stack:this.stack,config:this.config,code:this.code}},t}},bd99:function(t,e,r){"use strict";var s=r("e65c"),i=r("4a15").f,n=r("54d5"),a=r("84fc"),o=r("b9cf"),c=r("d4e4"),h=r("49b2"),l="".endsWith,p=Math.min,u=c("endsWith"),d=!h&&!u&&!!function(){var t=i(String.prototype,"endsWith");return t&&!t.writable}();s({target:"String",proto:!0,forced:!d&&!u},{endsWith:function(t){var e=String(o(this));a(t);var r=arguments.length>1?arguments[1]:void 0,s=n(e.length),i=void 0===r?s:p(n(r),s),c=String(t);return l?l.call(e,c,i):e.slice(i-c.length,i)===c}})},c08a:function(t,e,r){"use strict";var s=r("2278").forEach,i=r("642e"),n=i("forEach");t.exports=n?[].forEach:function(t){return s(this,t,arguments.length>1?arguments[1]:void 0)}},c1fd:function(t,e,r){var s=r("3534"),i=r("1940"),n=r("54d5"),a=r("493f"),o=r("ca2c"),c=r("05e6"),h=function(t,e){this.stopped=t,this.result=e};t.exports=function(t,e,r){var l,p,u,d,f,m,y,g=r&&r.that,x=!(!r||!r.AS_ENTRIES),b=!(!r||!r.IS_ITERATOR),v=!(!r||!r.INTERRUPTED),w=a(e,g,1+x+v),P=function(t){return l&&c(l),new h(!0,t)},T=function(t){return x?(s(t),v?w(t[0],t[1],P):w(t[0],t[1])):v?w(t,P):w(t)};if(b)l=t;else{if(p=o(t),"function"!=typeof p)throw TypeError("Target is not iterable");if(i(p)){for(u=0,d=n(t.length);d>u;u++)if(f=T(t[u]),f&&f instanceof h)return f;return new h(!1)}l=p.call(t)}m=l.next;while(!(y=m.call(l)).done){try{f=T(y.value)}catch(E){throw c(l),E}if("object"==typeof f&&f&&f instanceof h)return f}return new h(!1)}},c353:function(t,e){t.exports=function(t){return"object"===typeof t?null!==t:"function"===typeof t}},c410:function(t,e,r){"use strict";var s=r("7746"),i=r("28b8"),n=r("1c20"),a=r("d63f"),o=r("57c1"),c=r("e2c5"),h=r("7fdb"),l=Object.assign,p=Object.defineProperty;t.exports=!l||i((function(){if(s&&1!==l({b:1},l(p({},"a",{enumerable:!0,get:function(){p(this,"b",{value:3,enumerable:!1})}}),{b:2})).b)return!0;var t={},e={},r=Symbol(),i="abcdefghijklmnopqrst";return t[r]=7,i.split("").forEach((function(t){e[t]=t})),7!=l({},t)[r]||n(l({},e)).join("")!=i}))?function(t,e){var r=c(t),i=arguments.length,l=1,p=a.f,u=o.f;while(i>l){var d,f=h(arguments[l++]),m=p?n(f).concat(p(f)):n(f),y=m.length,g=0;while(y>g)d=m[g++],s&&!u.call(f,d)||(r[d]=f[d])}return r}:l},c447:function(t,e,r){"use strict";var s=r("44c4").charAt,i=r("9f8b"),n=r("7a5a"),a="String Iterator",o=i.set,c=i.getterFor(a);n(String,"String",(function(t){o(this,{type:a,string:String(t),index:0})}),(function(){var t,e=c(this),r=e.string,i=e.index;return i>=r.length?{value:void 0,done:!0}:(t=s(r,i),e.index+=t.length,{value:t,done:!1})}))},c4e8:function(t,e,r){"use strict";t.exports=function(t,e){return e?t.replace(/\/+$/,"")+"/"+e.replace(/^\/+/,""):t}},c5b9:function(t,e,r){"use strict";var s=r("bd2a");t.exports=function(t,e,r,i,n){var a=new Error(t);return s(a,e,r,i,n)}},c70f:function(t,e,r){"use strict";var s=r("d844"),i=r("04a7"),n=r("11f4"),a=r("2ed0");function o(t){t.cancelToken&&t.cancelToken.throwIfRequested()}t.exports=function(t){o(t),t.headers=t.headers||{},t.data=i(t.data,t.headers,t.transformRequest),t.headers=s.merge(t.headers.common||{},t.headers[t.method]||{},t.headers),s.forEach(["delete","get","head","post","put","patch","common"],(function(e){delete t.headers[e]}));var e=t.adapter||a.adapter;return e(t).then((function(e){return o(t),e.data=i(e.data,e.headers,t.transformResponse),e}),(function(e){return n(e)||(o(t),e&&e.response&&(e.response.data=i(e.response.data,e.response.headers,t.transformResponse))),Promise.reject(e)}))}},c9ba:function(t,e,r){"use strict";var s=r("5d79"),i=r("1183"),n=r("4a22"),a=r("9f8b"),o=r("7a5a"),c="Array Iterator",h=a.set,l=a.getterFor(c);t.exports=o(Array,"Array",(function(t,e){h(this,{type:c,target:s(t),index:0,kind:e})}),(function(){var t=l(this),e=t.target,r=t.kind,s=t.index++;return!e||s>=e.length?(t.target=void 0,{value:void 0,done:!0}):"keys"==r?{value:s,done:!1}:"values"==r?{value:e[s],done:!1}:{value:[s,e[s]],done:!1}}),"values"),n.Arguments=n.Array,i("keys"),i("values"),i("entries")},c9ba6:function(t,e,r){"use strict";var s=r("d844");t.exports=function(t,e){e=e||{};var r={},i=["url","method","params","data"],n=["headers","auth","proxy"],a=["baseURL","url","transformRequest","transformResponse","paramsSerializer","timeout","withCredentials","adapter","responseType","xsrfCookieName","xsrfHeaderName","onUploadProgress","onDownloadProgress","maxContentLength","validateStatus","maxRedirects","httpAgent","httpsAgent","cancelToken","socketPath"];s.forEach(i,(function(t){"undefined"!==typeof e[t]&&(r[t]=e[t])})),s.forEach(n,(function(i){s.isObject(e[i])?r[i]=s.deepMerge(t[i],e[i]):"undefined"!==typeof e[i]?r[i]=e[i]:s.isObject(t[i])?r[i]=s.deepMerge(t[i]):"undefined"!==typeof t[i]&&(r[i]=t[i])})),s.forEach(a,(function(s){"undefined"!==typeof e[s]?r[s]=e[s]:"undefined"!==typeof t[s]&&(r[s]=t[s])}));var o=i.concat(n).concat(a),c=Object.keys(e).filter((function(t){return-1===o.indexOf(t)}));return s.forEach(c,(function(s){"undefined"!==typeof e[s]?r[s]=e[s]:"undefined"!==typeof t[s]&&(r[s]=t[s])})),r}},ca19:function(t,e,r){"use strict";t.exports=function(t){return/^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(t)}},ca2c:function(t,e,r){var s=r("2cbd"),i=r("4a22"),n=r("f36e"),a=n("iterator");t.exports=function(t){if(void 0!=t)return t[a]||t["@@iterator"]||i[s(t)]}},cd57:function(t,e,r){"use strict";var s=r("4d44"),i=r("3534"),n=r("54d5"),a=r("77e4"),o=r("b9cf"),c=r("aecc"),h=r("b1e0"),l=r("afbb"),p=Math.max,u=Math.min,d=function(t){return void 0===t?t:String(t)};s("replace",2,(function(t,e,r,s){var f=s.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE,m=s.REPLACE_KEEPS_$0,y=f?"$":"$0";return[function(r,s){var i=o(this),n=void 0==r?void 0:r[t];return void 0!==n?n.call(r,i,s):e.call(String(i),r,s)},function(t,s){if(!f&&m||"string"===typeof s&&-1===s.indexOf(y)){var o=r(e,t,this,s);if(o.done)return o.value}var g=i(t),x=String(this),b="function"===typeof s;b||(s=String(s));var v=g.global;if(v){var w=g.unicode;g.lastIndex=0}var P=[];while(1){var T=l(g,x);if(null===T)break;if(P.push(T),!v)break;var E=String(T[0]);""===E&&(g.lastIndex=c(x,n(g.lastIndex),w))}for(var A="",S=0,C=0;C=S&&(A+=x.slice(S,k)+L,S=k+N.length)}return A+x.slice(S)}]}))},ce06:function(t,e,r){var s=r("3534"),i=r("c353"),n=r("d3ff");t.exports=function(t,e){if(s(t),i(e)&&e.constructor===t)return e;var r=n.f(t),a=r.resolve;return a(e),r.promise}},d196:function(t,e,r){var s=r("28b8"),i=r("f36e"),n=r("4360"),a=i("species");t.exports=function(t){return n>=51||!s((function(){var e=[],r=e.constructor={};return r[a]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},d344:function(t,e,r){var s=r("ded2"),i=r("061c"),n=r("d63f"),a=r("3534");t.exports=s("Reflect","ownKeys")||function(t){var e=i.f(a(t)),r=n.f;return r?e.concat(r(t)):e}},d3ff:function(t,e,r){"use strict";var s=r("acaa"),i=function(t){var e,r;this.promise=new t((function(t,s){if(void 0!==e||void 0!==r)throw TypeError("Bad Promise constructor");e=t,r=s})),this.resolve=s(e),this.reject=s(r)};t.exports.f=function(t){return new i(t)}},d43e:function(t,e,r){var s=r("79fa");t.exports=s},d4e4:function(t,e,r){var s=r("f36e"),i=s("match");t.exports=function(t){var e=/./;try{"/./"[t](e)}catch(r){try{return e[i]=!1,"/./"[t](e)}catch(s){}}return!1}},d5be:function(t,e,r){"use strict";var s=r("e65c"),i=r("7746"),n=r("79fa"),a=r("66e1"),o=r("c353"),c=r("6513").f,h=r("af7c"),l=n.Symbol;if(i&&"function"==typeof l&&(!("description"in l.prototype)||void 0!==l().description)){var p={},u=function(){var t=arguments.length<1||void 0===arguments[0]?void 0:String(arguments[0]),e=this instanceof u?new l(t):void 0===t?l():l(t);return""===t&&(p[e]=!0),e};h(u,l);var d=u.prototype=l.prototype;d.constructor=u;var f=d.toString,m="Symbol(test)"==String(l("test")),y=/^Symbol\((.*)\)[^)]+$/;c(d,"description",{configurable:!0,get:function(){var t=o(this)?this.valueOf():this,e=f.call(t);if(a(p,t))return"";var r=m?e.slice(7,-1):e.replace(y,"$1");return""===r?void 0:r}}),s({global:!0,forced:!0},{Symbol:u})}},d63f:function(t,e){e.f=Object.getOwnPropertySymbols},d6af:function(t,e,r){(function(e){(function(e,r){t.exports=r()})(0,(function(){"use strict";"undefined"!==typeof window?window:"undefined"!==typeof e||"undefined"!==typeof self&&self;function t(t,e){return e={exports:{}},t(e,e.exports),e.exports}var r=t((function(t,e){(function(e,r){t.exports=r()})(0,(function(){function t(t){var e=t&&"object"===typeof t;return e&&"[object RegExp]"!==Object.prototype.toString.call(t)&&"[object Date]"!==Object.prototype.toString.call(t)}function e(t){return Array.isArray(t)?[]:{}}function r(r,s){var i=s&&!0===s.clone;return i&&t(r)?n(e(r),r,s):r}function s(e,s,i){var a=e.slice();return s.forEach((function(s,o){"undefined"===typeof a[o]?a[o]=r(s,i):t(s)?a[o]=n(e[o],s,i):-1===e.indexOf(s)&&a.push(r(s,i))})),a}function i(e,s,i){var a={};return t(e)&&Object.keys(e).forEach((function(t){a[t]=r(e[t],i)})),Object.keys(s).forEach((function(o){t(s[o])&&e[o]?a[o]=n(e[o],s[o],i):a[o]=r(s[o],i)})),a}function n(t,e,n){var a=Array.isArray(e),o=n||{arrayMerge:s},c=o.arrayMerge||s;return a?Array.isArray(t)?c(t,e,n):r(e,n):i(t,e,n)}return n.all=function(t,e){if(!Array.isArray(t)||t.length<2)throw new Error("first argument should be an array with at least two elements");return t.reduce((function(t,r){return n(t,r,e)}))},n}))}));function s(t){return t=t||Object.create(null),{on:function(e,r){(t[e]||(t[e]=[])).push(r)},off:function(e,r){t[e]&&t[e].splice(t[e].indexOf(r)>>>0,1)},emit:function(e,r){(t[e]||[]).map((function(t){t(r)})),(t["*"]||[]).map((function(t){t(e,r)}))}}}var i=t((function(t,e){var r={svg:{name:"xmlns",uri:"http://www.w3.org/2000/svg"},xlink:{name:"xmlns:xlink",uri:"http://www.w3.org/1999/xlink"}};e.default=r,t.exports=e.default})),n=function(t){return Object.keys(t).map((function(e){var r=t[e].toString().replace(/"/g,""");return e+'="'+r+'"'})).join(" ")},a=i.svg,o=i.xlink,c={};c[a.name]=a.uri,c[o.name]=o.uri;var h,l=function(t,e){void 0===t&&(t="");var s=r(c,e||{}),i=n(s);return""+t+""},p=i.svg,u=i.xlink,d={attrs:(h={style:["position: absolute","width: 0","height: 0"].join("; "),"aria-hidden":"true"},h[p.name]=p.uri,h[u.name]=u.uri,h)},f=function(t){this.config=r(d,t||{}),this.symbols=[]};f.prototype.add=function(t){var e=this,r=e.symbols,s=this.find(t.id);return s?(r[r.indexOf(s)]=t,!1):(r.push(t),!0)},f.prototype.remove=function(t){var e=this,r=e.symbols,s=this.find(t);return!!s&&(r.splice(r.indexOf(s),1),s.destroy(),!0)},f.prototype.find=function(t){return this.symbols.filter((function(e){return e.id===t}))[0]||null},f.prototype.has=function(t){return null!==this.find(t)},f.prototype.stringify=function(){var t=this.config,e=t.attrs,r=this.symbols.map((function(t){return t.stringify()})).join("");return l(r,e)},f.prototype.toString=function(){return this.stringify()},f.prototype.destroy=function(){this.symbols.forEach((function(t){return t.destroy()}))};var m=function(t){var e=t.id,r=t.viewBox,s=t.content;this.id=e,this.viewBox=r,this.content=s};m.prototype.stringify=function(){return this.content},m.prototype.toString=function(){return this.stringify()},m.prototype.destroy=function(){var t=this;["id","viewBox","content"].forEach((function(e){return delete t[e]}))};var y=function(t){var e=!!document.importNode,r=(new DOMParser).parseFromString(t,"image/svg+xml").documentElement;return e?document.importNode(r,!0):r},g=function(t){function e(){t.apply(this,arguments)}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var r={isMounted:{}};return r.isMounted.get=function(){return!!this.node},e.createFromExistingNode=function(t){return new e({id:t.getAttribute("id"),viewBox:t.getAttribute("viewBox"),content:t.outerHTML})},e.prototype.destroy=function(){this.isMounted&&this.unmount(),t.prototype.destroy.call(this)},e.prototype.mount=function(t){if(this.isMounted)return this.node;var e="string"===typeof t?document.querySelector(t):t,r=this.render();return this.node=r,e.appendChild(r),r},e.prototype.render=function(){var t=this.stringify();return y(l(t)).childNodes[0]},e.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},Object.defineProperties(e.prototype,r),e}(m),x={autoConfigure:!0,mountTo:"body",syncUrlsWithBaseTag:!1,listenLocationChangeEvent:!0,locationChangeEvent:"locationChange",locationChangeAngularEmitter:!1,usagesToUpdate:"use[*|href]",moveGradientsOutsideSymbol:!1},b=function(t){return Array.prototype.slice.call(t,0)},v={isChrome:function(){return/chrome/i.test(navigator.userAgent)},isFirefox:function(){return/firefox/i.test(navigator.userAgent)},isIE:function(){return/msie/i.test(navigator.userAgent)||/trident/i.test(navigator.userAgent)},isEdge:function(){return/edge/i.test(navigator.userAgent)}},w=function(t,e){var r=document.createEvent("CustomEvent");r.initCustomEvent(t,!1,!1,e),window.dispatchEvent(r)},P=function(t){var e=[];return b(t.querySelectorAll("style")).forEach((function(t){t.textContent+="",e.push(t)})),e},T=function(t){return(t||window.location.href).split("#")[0]},E=function(t){angular.module("ng").run(["$rootScope",function(e){e.$on("$locationChangeSuccess",(function(e,r,s){w(t,{oldUrl:s,newUrl:r})}))}])},A="linearGradient, radialGradient, pattern, mask, clipPath",S=function(t,e){return void 0===e&&(e=A),b(t.querySelectorAll("symbol")).forEach((function(t){b(t.querySelectorAll(e)).forEach((function(e){t.parentNode.insertBefore(e,t)}))})),t};function C(t,e){var r=b(t).reduce((function(t,r){if(!r.attributes)return t;var s=b(r.attributes),i=e?s.filter(e):s;return t.concat(i)}),[]);return r}var N=i.xlink.uri,k="xlink:href",I=/[{}|\\\^\[\]`"<>]/g;function O(t){return t.replace(I,(function(t){return"%"+t[0].charCodeAt(0).toString(16).toUpperCase()}))}function D(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function M(t,e,r){return b(t).forEach((function(t){var s=t.getAttribute(k);if(s&&0===s.indexOf(e)){var i=s.replace(e,r);t.setAttributeNS(N,k,i)}})),t}var L,_=["clipPath","colorProfile","src","cursor","fill","filter","marker","markerStart","markerMid","markerEnd","mask","stroke","style"],R=_.map((function(t){return"["+t+"]"})).join(","),j=function(t,e,r,s){var i=O(r),n=O(s),a=t.querySelectorAll(R),o=C(a,(function(t){var e=t.localName,r=t.value;return-1!==_.indexOf(e)&&-1!==r.indexOf("url("+i)}));o.forEach((function(t){return t.value=t.value.replace(new RegExp(D(i),"g"),n)})),M(e,i,n)},F={MOUNT:"mount",SYMBOL_MOUNT:"symbol_mount"},B=function(t){function e(e){var i=this;void 0===e&&(e={}),t.call(this,r(x,e));var n=s();this._emitter=n,this.node=null;var a=this,o=a.config;if(o.autoConfigure&&this._autoConfigure(e),o.syncUrlsWithBaseTag){var c=document.getElementsByTagName("base")[0].getAttribute("href");n.on(F.MOUNT,(function(){return i.updateUrls("#",c)}))}var h=this._handleLocationChange.bind(this);this._handleLocationChange=h,o.listenLocationChangeEvent&&window.addEventListener(o.locationChangeEvent,h),o.locationChangeAngularEmitter&&E(o.locationChangeEvent),n.on(F.MOUNT,(function(t){o.moveGradientsOutsideSymbol&&S(t)})),n.on(F.SYMBOL_MOUNT,(function(t){o.moveGradientsOutsideSymbol&&S(t.parentNode),(v.isIE()||v.isEdge())&&P(t)}))}t&&(e.__proto__=t),e.prototype=Object.create(t&&t.prototype),e.prototype.constructor=e;var i={isMounted:{}};return i.isMounted.get=function(){return!!this.node},e.prototype._autoConfigure=function(t){var e=this,r=e.config;"undefined"===typeof t.syncUrlsWithBaseTag&&(r.syncUrlsWithBaseTag="undefined"!==typeof document.getElementsByTagName("base")[0]),"undefined"===typeof t.locationChangeAngularEmitter&&(r.locationChangeAngularEmitter="undefined"!==typeof window.angular),"undefined"===typeof t.moveGradientsOutsideSymbol&&(r.moveGradientsOutsideSymbol=v.isFirefox())},e.prototype._handleLocationChange=function(t){var e=t.detail,r=e.oldUrl,s=e.newUrl;this.updateUrls(r,s)},e.prototype.add=function(e){var r=this,s=t.prototype.add.call(this,e);return this.isMounted&&s&&(e.mount(r.node),this._emitter.emit(F.SYMBOL_MOUNT,e.node)),s},e.prototype.attach=function(t){var e=this,r=this;if(r.isMounted)return r.node;var s="string"===typeof t?document.querySelector(t):t;return r.node=s,this.symbols.forEach((function(t){t.mount(r.node),e._emitter.emit(F.SYMBOL_MOUNT,t.node)})),b(s.querySelectorAll("symbol")).forEach((function(t){var e=g.createFromExistingNode(t);e.node=t,r.add(e)})),this._emitter.emit(F.MOUNT,s),s},e.prototype.destroy=function(){var t=this,e=t.config,r=t.symbols,s=t._emitter;r.forEach((function(t){return t.destroy()})),s.off("*"),window.removeEventListener(e.locationChangeEvent,this._handleLocationChange),this.isMounted&&this.unmount()},e.prototype.mount=function(t,e){void 0===t&&(t=this.config.mountTo),void 0===e&&(e=!1);var r=this;if(r.isMounted)return r.node;var s="string"===typeof t?document.querySelector(t):t,i=r.render();return this.node=i,e&&s.childNodes[0]?s.insertBefore(i,s.childNodes[0]):s.appendChild(i),this._emitter.emit(F.MOUNT,i),i},e.prototype.render=function(){return y(this.stringify())},e.prototype.unmount=function(){this.node.parentNode.removeChild(this.node)},e.prototype.updateUrls=function(t,e){if(!this.isMounted)return!1;var r=document.querySelectorAll(this.config.usagesToUpdate);return j(this.node,r,T(t)+"#",T(e)+"#"),!0},Object.defineProperties(e.prototype,i),e}(f),U=t((function(t){ +/*! + * domready (c) Dustin Diaz 2014 - License MIT + */ +!function(e,r){t.exports=r()}(0,(function(){var t,e=[],r=document,s=r.documentElement.doScroll,i="DOMContentLoaded",n=(s?/^loaded|^c/:/^loaded|^i|^c/).test(r.readyState);return n||r.addEventListener(i,t=function(){r.removeEventListener(i,t),n=1;while(t=e.shift())t()}),function(t){n?setTimeout(t,0):e.push(t)}}))})),q="__SVG_SPRITE_NODE__",H="__SVG_SPRITE__",z=!!window[H];z?L=window[H]:(L=new B({attrs:{id:q}}),window[H]=L);var V=function(){var t=document.getElementById(q);t?L.attach(t):L.mount(document.body,!0)};document.body?V():U(V);var W=L;return W}))}).call(this,r("2409"))},d844:function(t,e,r){"use strict";var s=r("faf0"),i=Object.prototype.toString;function n(t){return"[object Array]"===i.call(t)}function a(t){return"undefined"===typeof t}function o(t){return null!==t&&!a(t)&&null!==t.constructor&&!a(t.constructor)&&"function"===typeof t.constructor.isBuffer&&t.constructor.isBuffer(t)}function c(t){return"[object ArrayBuffer]"===i.call(t)}function h(t){return"undefined"!==typeof FormData&&t instanceof FormData}function l(t){var e;return e="undefined"!==typeof ArrayBuffer&&ArrayBuffer.isView?ArrayBuffer.isView(t):t&&t.buffer&&t.buffer instanceof ArrayBuffer,e}function p(t){return"string"===typeof t}function u(t){return"number"===typeof t}function d(t){return null!==t&&"object"===typeof t}function f(t){return"[object Date]"===i.call(t)}function m(t){return"[object File]"===i.call(t)}function y(t){return"[object Blob]"===i.call(t)}function g(t){return"[object Function]"===i.call(t)}function x(t){return d(t)&&g(t.pipe)}function b(t){return"undefined"!==typeof URLSearchParams&&t instanceof URLSearchParams}function v(t){return t.replace(/^\s*/,"").replace(/\s*$/,"")}function w(){return("undefined"===typeof navigator||"ReactNative"!==navigator.product&&"NativeScript"!==navigator.product&&"NS"!==navigator.product)&&("undefined"!==typeof window&&"undefined"!==typeof document)}function P(t,e){if(null!==t&&"undefined"!==typeof t)if("object"!==typeof t&&(t=[t]),n(t))for(var r=0,s=t.length;r1||"".split(/.?/).length?function(t,r){var s=String(a(this)),n=void 0===r?m:r>>>0;if(0===n)return[];if(void 0===t)return[s];if(!i(t))return e.call(s,t,n);var o,c,h,l=[],u=(t.ignoreCase?"i":"")+(t.multiline?"m":"")+(t.unicode?"u":"")+(t.sticky?"y":""),f=0,y=new RegExp(t.source,u+"g");while(o=p.call(y,s)){if(c=y.lastIndex,c>f&&(l.push(s.slice(f,o.index)),o.length>1&&o.index=n))break;y.lastIndex===o.index&&y.lastIndex++}return f===s.length?!h&&y.test("")||l.push(""):l.push(s.slice(f)),l.length>n?l.slice(0,n):l}:"0".split(void 0,0).length?function(t,r){return void 0===t&&0===r?[]:e.call(this,t,r)}:e,[function(e,r){var i=a(this),n=void 0==e?void 0:e[t];return void 0!==n?n.call(e,i,r):s.call(String(i),e,r)},function(t,i){var a=r(s,t,this,i,s!==e);if(a.done)return a.value;var p=n(t),u=String(this),d=o(p,RegExp),g=p.unicode,x=(p.ignoreCase?"i":"")+(p.multiline?"m":"")+(p.unicode?"u":"")+(y?"y":"g"),b=new d(y?p:"^(?:"+p.source+")",x),v=void 0===i?m:i>>>0;if(0===v)return[];if(0===u.length)return null===l(b,u)?[u]:[];var w=0,P=0,T=[];while(Pn)i.push(arguments[n++]);if(s=e,(d(e)||void 0!==t)&&!ot(t))return u(e)||(e=function(t,e){if("function"==typeof s&&(e=s.call(this,t,e)),!ot(e))return e}),i[1]=e,$.apply(null,i)}})}K[q][H]||C(K[q],H,K[q].valueOf),R(K,U),O[B]=!0},e541:function(t,e,r){"use strict";var s=r("e90e"),i=r("6513"),n=r("d9cb");t.exports=function(t,e,r){var a=s(e);a in t?i.f(t,a,n(0,r)):t[a]=r}},e65c:function(t,e,r){var s=r("79fa"),i=r("4a15").f,n=r("9b6f"),a=r("4c30"),o=r("2cde"),c=r("af7c"),h=r("5779");t.exports=function(t,e){var r,l,p,u,d,f,m=t.target,y=t.global,g=t.stat;if(l=y?s:g?s[m]||o(m,{}):(s[m]||{}).prototype,l)for(p in e){if(d=e[p],t.noTargetGet?(f=i(l,p),u=f&&f.value):u=l[p],r=h(y?p:m+(g?".":"#")+p,t.forced),!r&&void 0!==u){if(typeof d===typeof u)continue;c(d,u)}(t.sham||u&&u.sham)&&n(d,"sham",!0),a(l,p,d,t)}}},e6f5:function(t,e,r){"use strict";var s,i,n,a,o=r("e65c"),c=r("49b2"),h=r("79fa"),l=r("ded2"),p=r("a84c"),u=r("4c30"),d=r("6126"),f=r("46cd"),m=r("fb64"),y=r("c353"),g=r("acaa"),x=r("30a0"),b=r("7abd"),v=r("c1fd"),w=r("e745"),P=r("e2f8"),T=r("637b").set,E=r("ff50"),A=r("ce06"),S=r("2b4b"),C=r("d3ff"),N=r("70a9"),k=r("9f8b"),I=r("5779"),O=r("f36e"),D=r("9fca"),M=r("4360"),L=O("species"),_="Promise",R=k.get,j=k.set,F=k.getterFor(_),B=p,U=h.TypeError,q=h.document,H=h.process,z=l("fetch"),V=C.f,W=V,K=!!(q&&q.createEvent&&h.dispatchEvent),$="function"==typeof PromiseRejectionEvent,X="unhandledrejection",G="rejectionhandled",Y=0,J=1,Q=2,Z=1,tt=2,et=I(_,(function(){var t=b(B)!==String(B);if(!t){if(66===M)return!0;if(!D&&!$)return!0}if(c&&!B.prototype["finally"])return!0;if(M>=51&&/native code/.test(B))return!1;var e=B.resolve(1),r=function(t){t((function(){}),(function(){}))},s=e.constructor={};return s[L]=r,!(e.then((function(){}))instanceof r)})),rt=et||!w((function(t){B.all(t)["catch"]((function(){}))})),st=function(t){var e;return!(!y(t)||"function"!=typeof(e=t.then))&&e},it=function(t,e){if(!t.notified){t.notified=!0;var r=t.reactions;E((function(){var s=t.value,i=t.state==J,n=0;while(r.length>n){var a,o,c,h=r[n++],l=i?h.ok:h.fail,p=h.resolve,u=h.reject,d=h.domain;try{l?(i||(t.rejection===tt&&ct(t),t.rejection=Z),!0===l?a=s:(d&&d.enter(),a=l(s),d&&(d.exit(),c=!0)),a===h.promise?u(U("Promise-chain cycle")):(o=st(a))?o.call(a,p,u):p(a)):u(s)}catch(f){d&&!c&&d.exit(),u(f)}}t.reactions=[],t.notified=!1,e&&!t.rejection&&at(t)}))}},nt=function(t,e,r){var s,i;K?(s=q.createEvent("Event"),s.promise=e,s.reason=r,s.initEvent(t,!1,!0),h.dispatchEvent(s)):s={promise:e,reason:r},!$&&(i=h["on"+t])?i(s):t===X&&S("Unhandled promise rejection",r)},at=function(t){T.call(h,(function(){var e,r=t.facade,s=t.value,i=ot(t);if(i&&(e=N((function(){D?H.emit("unhandledRejection",s,r):nt(X,r,s)})),t.rejection=D||ot(t)?tt:Z,e.error))throw e.value}))},ot=function(t){return t.rejection!==Z&&!t.parent},ct=function(t){T.call(h,(function(){var e=t.facade;D?H.emit("rejectionHandled",e):nt(G,e,t.value)}))},ht=function(t,e,r){return function(s){t(e,s,r)}},lt=function(t,e,r){t.done||(t.done=!0,r&&(t=r),t.value=e,t.state=Q,it(t,!0))},pt=function(t,e,r){if(!t.done){t.done=!0,r&&(t=r);try{if(t.facade===e)throw U("Promise can't be resolved itself");var s=st(e);s?E((function(){var r={done:!1};try{s.call(e,ht(pt,r,t),ht(lt,r,t))}catch(i){lt(r,i,t)}})):(t.value=e,t.state=J,it(t,!1))}catch(i){lt({done:!1},i,t)}}};et&&(B=function(t){x(this,B,_),g(t),s.call(this);var e=R(this);try{t(ht(pt,e),ht(lt,e))}catch(r){lt(e,r)}},s=function(t){j(this,{type:_,done:!1,notified:!1,parent:!1,reactions:[],rejection:!1,state:Y,value:void 0})},s.prototype=d(B.prototype,{then:function(t,e){var r=F(this),s=V(P(this,B));return s.ok="function"!=typeof t||t,s.fail="function"==typeof e&&e,s.domain=D?H.domain:void 0,r.parent=!0,r.reactions.push(s),r.state!=Y&&it(r,!1),s.promise},catch:function(t){return this.then(void 0,t)}}),i=function(){var t=new s,e=R(t);this.promise=t,this.resolve=ht(pt,e),this.reject=ht(lt,e)},C.f=V=function(t){return t===B||t===n?new i(t):W(t)},c||"function"!=typeof p||(a=p.prototype.then,u(p.prototype,"then",(function(t,e){var r=this;return new B((function(t,e){a.call(r,t,e)})).then(t,e)}),{unsafe:!0}),"function"==typeof z&&o({global:!0,enumerable:!0,forced:!0},{fetch:function(t){return A(B,z.apply(h,arguments))}}))),o({global:!0,wrap:!0,forced:et},{Promise:B}),f(B,_,!1,!0),m(_),n=l(_),o({target:_,stat:!0,forced:et},{reject:function(t){var e=V(this);return e.reject.call(void 0,t),e.promise}}),o({target:_,stat:!0,forced:c||et},{resolve:function(t){return A(c&&this===n?B:this,t)}}),o({target:_,stat:!0,forced:rt},{all:function(t){var e=this,r=V(e),s=r.resolve,i=r.reject,n=N((function(){var r=g(e.resolve),n=[],a=0,o=1;v(t,(function(t){var c=a++,h=!1;n.push(void 0),o++,r.call(e,t).then((function(t){h||(h=!0,n[c]=t,--o||s(n))}),i)})),--o||s(n)}));return n.error&&i(n.value),r.promise},race:function(t){var e=this,r=V(e),s=r.reject,i=N((function(){var i=g(e.resolve);v(t,(function(t){i.call(e,t).then(r.resolve,s)}))}));return i.error&&s(i.value),r.promise}})},e745:function(t,e,r){var s=r("f36e"),i=s("iterator"),n=!1;try{var a=0,o={next:function(){return{done:!!a++}},return:function(){n=!0}};o[i]=function(){return this},Array.from(o,(function(){throw 2}))}catch(c){}t.exports=function(t,e){if(!e&&!n)return!1;var r=!1;try{var s={};s[i]=function(){return{next:function(){return{done:r=!0}}}},t(s)}catch(c){}return r}},e90e:function(t,e,r){var s=r("c353");t.exports=function(t,e){if(!s(t))return t;var r,i;if(e&&"function"==typeof(r=t.toString)&&!s(i=r.call(t)))return i;if("function"==typeof(r=t.valueOf)&&!s(i=r.call(t)))return i;if(!e&&"function"==typeof(r=t.toString)&&!s(i=r.call(t)))return i;throw TypeError("Can't convert object to primitive value")}},ec1e:function(t,e,r){var s=r("e65c"),i=r("28b8"),n=r("5d79"),a=r("4a15").f,o=r("7746"),c=i((function(){a(1)})),h=!o||c;s({target:"Object",stat:!0,forced:h,sham:!o},{getOwnPropertyDescriptor:function(t,e){return a(n(t),e)}})},edb4:function(t,e,r){"use strict";var s=r("d844");t.exports=s.isStandardBrowserEnv()?function(){var t,e=/(msie|trident)/i.test(navigator.userAgent),r=document.createElement("a");function i(t){var s=t;return e&&(r.setAttribute("href",s),s=r.href),r.setAttribute("href",s),{href:r.href,protocol:r.protocol?r.protocol.replace(/:$/,""):"",host:r.host,search:r.search?r.search.replace(/^\?/,""):"",hash:r.hash?r.hash.replace(/^#/,""):"",hostname:r.hostname,port:r.port,pathname:"/"===r.pathname.charAt(0)?r.pathname:"/"+r.pathname}}return t=i(window.location.href),function(e){var r=s.isString(e)?i(e):e;return r.protocol===t.protocol&&r.host===t.host}}():function(){return function(){return!0}}()},eef6:function(t,e,r){e.nextTick=function(t){var e=Array.prototype.slice.call(arguments);e.shift(),setTimeout((function(){t.apply(null,e)}),0)},e.platform=e.arch=e.execPath=e.title="browser",e.pid=1,e.browser=!0,e.env={},e.argv=[],e.binding=function(t){throw new Error("No such module. (Possibly not yet loaded)")},function(){var t,s="/";e.cwd=function(){return s},e.chdir=function(e){t||(t=r("6266")),s=t.resolve(e,s)}}(),e.exit=e.kill=e.umask=e.dlopen=e.uptime=e.memoryUsage=e.uvCounters=function(){},e.features={}},f0b3:function(t,e,r){"use strict";var s=r("e65c"),i=r("2278").find,n=r("1183"),a="find",o=!0;a in[]&&Array(1)[a]((function(){o=!1})),s({target:"Array",proto:!0,forced:o},{find:function(t){return i(this,t,arguments.length>1?arguments[1]:void 0)}}),n(a)},f0f9:function(t,e,r){var s=r("b1fc"),i=r("4787"),n=s("keys");t.exports=function(t){return n[t]||(n[t]=i(t))}},f22b:function(t,e,r){(function(t,r){r(e)})(0,(function(t){"use strict";function e(t,e,r,s){var i,n=!1,a=0;function o(){i&&clearTimeout(i)}function c(){o(),n=!0}function h(){for(var c=arguments.length,h=new Array(c),l=0;lt?d():!0!==e&&(i=setTimeout(s?f:d,void 0===s?t-u:t)))}return"boolean"!==typeof e&&(s=r,r=e,e=void 0),h.cancel=c,h}function r(t,r,s){return void 0===s?e(t,r,!1):e(t,s,!1!==r)}t.debounce=r,t.throttle=e,Object.defineProperty(t,"__esModule",{value:!0})}))},f36e:function(t,e,r){var s=r("79fa"),i=r("b1fc"),n=r("66e1"),a=r("4787"),o=r("9284"),c=r("359b"),h=i("wks"),l=s.Symbol,p=c?l:l&&l.withoutSetter||a;t.exports=function(t){return n(h,t)&&(o||"string"==typeof h[t])||(o&&n(l,t)?h[t]=l[t]:h[t]=p("Symbol."+t)),h[t]}},f382:function(t,e,r){var s=r("f36e"),i=s("toStringTag"),n={};n[i]="z",t.exports="[object z]"===String(n)},f6f8:function(t,e,r){"use strict";var s=r("dd5c"),i=r("3cd0"),n=r("b1fc"),a=RegExp.prototype.exec,o=n("native-string-replace",String.prototype.replace),c=a,h=function(){var t=/a/,e=/b*/g;return a.call(t,"a"),a.call(e,"a"),0!==t.lastIndex||0!==e.lastIndex}(),l=i.UNSUPPORTED_Y||i.BROKEN_CARET,p=void 0!==/()??/.exec("")[1],u=h||p||l;u&&(c=function(t){var e,r,i,n,c=this,u=l&&c.sticky,d=s.call(c),f=c.source,m=0,y=t;return u&&(d=d.replace("y",""),-1===d.indexOf("g")&&(d+="g"),y=String(t).slice(c.lastIndex),c.lastIndex>0&&(!c.multiline||c.multiline&&"\n"!==t[c.lastIndex-1])&&(f="(?: "+f+")",y=" "+y,m++),r=new RegExp("^(?:"+f+")",d)),p&&(r=new RegExp("^"+f+"$(?!\\s)",d)),h&&(e=c.lastIndex),i=a.call(u?r:c,y),u?i?(i.input=i.input.slice(m),i[0]=i[0].slice(m),i.index=c.lastIndex,c.lastIndex+=i[0].length):c.lastIndex=0:h&&i&&(c.lastIndex=c.global?i.index+i[0].length:e),p&&i&&i.length>1&&o.call(i[0],r,(function(){for(n=1;n'});l.a.add(c);t["default"]=c},"0498":function(e,t,a){},"064a":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-select",use:"icon-select-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"0f88":function(e,t,a){"use strict";a.r(t),t["default"]={"list-type":function(e,t,a){var o=[],n=t.__config__;return"picture-card"===t["list-type"]?o.push(e("i",{class:"el-icon-plus"})):o.push(e("el-button",{attrs:{size:"small",type:"primary",icon:"el-icon-upload"}},[n.buttonText])),n.showTip&&o.push(e("div",{slot:"tip",class:"el-upload__tip"},["只能上传不超过 ",n.fileSize,n.sizeUnit," 的",t.accept,"文件"])),o}}},"128d":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-textarea",use:"icon-textarea-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"167d":function(e,t,a){"use strict";a.r(t),t["default"]={prepend:function(e,t,a){return e("template",{slot:"prepend"},[t.__slot__[a]])},append:function(e,t,a){return e("template",{slot:"append"},[t.__slot__[a]])}}},"1fce":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-number",use:"icon-number-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"235f":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-date",use:"icon-date-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},2384:function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-switch",use:"icon-switch-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"2a3d":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-password",use:"icon-password-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"2cfa":function(e,t,a){"use strict";a.r(t);a("9719");t["default"]={options:function(e,t,a){var o=[];return t.__slot__.options.forEach((function(a){"button"===t.__config__.optionType?o.push(e("el-radio-button",{attrs:{label:a.value}},[a.label])):o.push(e("el-radio",{attrs:{label:a.value,border:t.border}},[a.label]))})),o}}},"2dba":function(e,t,a){"use strict";a("b62d")},"31c6":function(e,t,a){"use strict";var o,n=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("textarea",{staticStyle:{visibility:"hidden"},attrs:{id:e.tinymceId}})},i=[],l=(a("6390"),a("186d"),a("1f5d"),a("c88b")),c=a("5f72"),r=a.n(c),s=a("4771");function d(e){var t=s["a"].tinymceUrl;if(o)e(o);else{var a=r.a.Loading.service({fullscreen:!0,lock:!0,text:"富文本资源加载中...",spinner:"el-icon-loading",background:"rgba(255, 255, 255, 0.5)"});Object(l["a"])(t,(function(){a.close(),o=tinymce,e(o)}))}}var u=["advlist anchor autolink autosave code codesample directionality emoticons fullscreen hr image imagetools insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textpattern visualblocks visualchars wordcount"],_=["code searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote removeformat subscript superscript codesample hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen"],p=a("f22b"),f=1,m={props:{id:{type:String,default:function(){return 1e4===f&&(f=1),"tinymce".concat(+new Date).concat(f++)}},value:{default:""}},data:function(){return{tinymceId:this.id}},mounted:function(){var e=this;d((function(t){a("afc4");var o={selector:"#".concat(e.tinymceId),language:"zh_CN",menubar:"file edit insert view format table",plugins:u,toolbar:_,height:300,branding:!1,object_resizing:!1,end_container_on_empty_block:!0,powerpaste_word_import:"clean",code_dialog_height:450,code_dialog_width:1e3,advlist_bullet_styles:"square",advlist_number_styles:"default",default_link_target:"_blank",link_title:!1,nonbreaking_force_tab:!0};o=Object.assign(o,e.$attrs),o.init_instance_callback=function(t){e.value&&t.setContent(e.value),e.vModel(t)},t.init(o)}))},destroyed:function(){this.destroyTinymce()},methods:{vModel:function(e){var t=this,a=Object(p["debounce"])(250,e.setContent);this.$watch("value",(function(t,o){e&&t!==o&&t!==e.getContent()&&("string"!==typeof t&&(t=t.toString()),a.call(e,t))})),e.on("change keyup undo redo",(function(){t.$emit("input",e.getContent())}))},destroyTinymce:function(){if(window.tinymce){var e=window.tinymce.get(this.tinymceId);e&&e.destroy()}}}},v=m,h=a("5d22"),b=Object(h["a"])(v,n,i,!1,null,null,null);t["a"]=b.exports},"3add":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-time",use:"icon-time-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"3d38":function(e,t,a){"use strict";a("0498")},4758:function(e,t,a){"use strict";var o=a("6abc"),n=a("58c8"),i=a("bbc6"),l=(a("186d"),a("9208"),a("9719"),a("cd57"),a("aa0d"),a("12b5"),a("58af"),a("1f5d"),a("3c75"),a("6390"),a("ed08")),c={},r=a("9977"),s=r.keys()||[];function d(e,t){var a=this;e.props.value=t,e.on.input=function(e){a.$emit("input",e)}}function u(e,t,a){var o=c[t.__config__.tag];o&&Object.keys(o).forEach((function(n){var i=o[n];t.__slot__&&t.__slot__[n]&&a.push(i(e,t,n))}))}function _(e){var t=this;["on","nativeOn"].forEach((function(a){var o=Object.keys(e[a]||{});o.forEach((function(o){var n=e[a][o];"string"===typeof n&&(e[a][o]=function(e){return t.$emit(n,e)})}))}))}function p(e,t){var a=this;Object.keys(e).forEach((function(l){var c=e[l];"__vModel__"===l?d.call(a,t,e.__config__.defaultValue):void 0!==t[l]?null===t[l]||t[l]instanceof RegExp||["boolean","string","number","function"].includes(Object(i["a"])(t[l]))?t[l]=c:Array.isArray(t[l])?t[l]=[].concat(Object(n["a"])(t[l]),Object(n["a"])(c)):t[l]=Object(o["a"])(Object(o["a"])({},t[l]),c):t.attrs[l]=c})),f(t)}function f(e){delete e.attrs.__config__,delete e.attrs.__slot__,delete e.attrs.__methods__}function m(){return{class:{},attrs:{},props:{},domProps:{},nativeOn:{},on:{},style:{},directives:[],scopedSlots:{},slot:null,key:null,ref:null,refInFor:!0}}s.forEach((function(e){var t=e.replace(/^\.\/(.*)\.\w+$/,"$1"),a=r(e).default;c[t]=a})),t["a"]={props:{conf:{type:Object,required:!0}},render:function(e){var t=m(),a=Object(l["b"])(this.conf),o=this.$slots.default||[];return u.call(this,e,a,o),_.call(this,a),p.call(this,a,t),e(this.conf.__config__.tag,t,o)}}},4771:function(e,t,a){"use strict";a("6390");var o="https://lib.baomitu.com/",n="/form-generator/";function i(e,t,a){return"".concat(o).concat(e,"/").concat(t,"/").concat(a)}t["a"]={beautifierUrl:i("js-beautify","1.13.5","beautifier.min.js"),monacoEditorUrl:"".concat(n,"libs/monaco-editor/vs"),tinymceUrl:i("tinymce","5.7.0","tinymce.min.js")}},"47f1":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-table",use:"icon-table-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"4ed4":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-button",use:"icon-button-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"51ff":function(e,t,a){var o={"./button.svg":"4ed4","./cascader.svg":"a393","./checkbox.svg":"8963","./color.svg":"03ab","./component.svg":"56d6","./date-range.svg":"e6df","./date.svg":"235f","./input.svg":"81d6","./number.svg":"1fce","./password.svg":"2a3d","./radio.svg":"d8dc","./rate.svg":"6786","./rich-text.svg":"c630","./row.svg":"c95d","./select.svg":"064a","./slider.svg":"eb1c","./switch.svg":"2384","./table.svg":"47f1","./textarea.svg":"128d","./time-range.svg":"861c","./time.svg":"3add","./upload.svg":"9d82"};function n(e){var t=i(e);return a(t)}function i(e){if(!a.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}n.keys=function(){return Object.keys(o)},n.resolve=i,e.exports=n,n.id="51ff"},"56d6":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-component",use:"icon-component-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"5d2b":function(e,t,a){},"5f72":function(e,t){e.exports=ELEMENT},6389:function(e,t){e.exports=VueRouter},"648e":function(e,t,a){},"64d8":function(e,t,a){},6786:function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-rate",use:"icon-rate-usage",viewBox:"0 0 1069 1024",content:''});l.a.add(c);t["default"]=c},6828:function(e,t,a){"use strict";a("64d8")},"7f29":function(e,t,a){"use strict";a.r(t);a("9719");t["default"]={options:function(e,t,a){var o=[];return t.__slot__.options.forEach((function(t){o.push(e("el-option",{attrs:{label:t.label,value:t.value,disabled:t.disabled}}))})),o}}},"80e9":function(e,t,a){"use strict";a("a31c")},"81d6":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-input",use:"icon-input-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"861c":function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-time-range",use:"icon-time-range-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},8963:function(e,t,a){"use strict";a.r(t);var o=a("09f1"),n=a.n(o),i=a("d6af"),l=a.n(i),c=new n.a({id:"icon-checkbox",use:"icon-checkbox-usage",viewBox:"0 0 1024 1024",content:''});l.a.add(c);t["default"]=c},"8a8a":function(e,t,a){"use strict";a.r(t);a("c9ba"),a("e6f5"),a("5bda"),a("85ea");var o,n,i=a("8bbf"),l=a.n(i),c=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("router-view")],1)},r=[],s={mounted:function(){var e=document.querySelector("#pre-loader");e.style.display="none",document.body.ondrop=function(e){e.preventDefault(),e.stopPropagation()}}},d=s,u=a("5d22"),_=Object(u["a"])(d,c,r,!1,null,null,null),p=_.exports,f=(a("186d"),a("c447"),a("9208"),a("6389")),m=a.n(f),v=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"container"},[a("div",{staticClass:"left-board"},[e._m(0),a("el-scrollbar",{staticClass:"left-scrollbar"},[a("div",{staticClass:"components-list"},e._l(e.leftComponents,(function(t,o){return a("div",{key:o},[a("div",{staticClass:"components-title"},[a("svg-icon",{attrs:{"icon-class":"component"}}),e._v(" "+e._s(t.title)+" ")],1),a("draggable",{staticClass:"components-draggable",attrs:{list:t.list,group:{name:"componentsGroup",pull:"clone",put:!1},clone:e.cloneComponent,draggable:".components-item",sort:!1},on:{end:e.onEnd}},e._l(t.list,(function(t,o){return a("div",{key:o,staticClass:"components-item",on:{click:function(a){return e.addComponent(t)}}},[a("div",{staticClass:"components-body"},[a("svg-icon",{attrs:{"icon-class":t.__config__.tagIcon}}),e._v(" "+e._s(t.__config__.label)+" ")],1)])})),0)],1)})),0)])],1),a("div",{staticClass:"center-board"},[a("div",{staticClass:"action-bar"},[a("el-button",{attrs:{icon:"el-icon-video-play",type:"text"},on:{click:e.run}},[e._v(" 运行 ")]),a("el-button",{attrs:{icon:"el-icon-view",type:"text"},on:{click:e.showJson}},[e._v(" 查看json ")]),a("el-button",{attrs:{icon:"el-icon-download",type:"text"},on:{click:e.download}},[e._v(" 导出vue文件 ")]),a("el-button",{staticClass:"copy-btn-main",attrs:{icon:"el-icon-document-copy",type:"text"},on:{click:e.copy}},[e._v(" 复制代码 ")]),a("el-button",{staticClass:"delete-btn",attrs:{icon:"el-icon-delete",type:"text"},on:{click:e.empty}},[e._v(" 清空 ")])],1),a("el-scrollbar",{staticClass:"center-scrollbar"},[a("el-row",{staticClass:"center-board-row",attrs:{gutter:e.formConf.gutter}},[a("el-form",{attrs:{size:e.formConf.size,"label-position":e.formConf.labelPosition,disabled:e.formConf.disabled,"label-width":e.formConf.labelWidth+"px"}},[a("draggable",{staticClass:"drawing-board",attrs:{list:e.drawingList,animation:340,group:"componentsGroup"}},e._l(e.drawingList,(function(t,o){return a("draggable-item",{key:t.renderKey,attrs:{"drawing-list":e.drawingList,"current-item":t,index:o,"active-id":e.activeId,"form-conf":e.formConf},on:{activeItem:e.activeFormItem,copyItem:e.drawingItemCopy,deleteItem:e.drawingItemDelete}})})),1),a("div",{directives:[{name:"show",rawName:"v-show",value:!e.drawingList.length,expression:"!drawingList.length"}],staticClass:"empty-info"},[e._v(" 从左侧拖入或点选组件进行表单设计 ")])],1)],1)],1)],1),a("right-panel",{attrs:{"active-data":e.activeData,"form-conf":e.formConf,"show-field":!!e.drawingList.length},on:{"tag-change":e.tagChange,"fetch-data":e.fetchData}}),a("form-drawer",{attrs:{visible:e.drawerVisible,"form-data":e.formData,size:"100%","generate-conf":e.generateConf},on:{"update:visible":function(t){e.drawerVisible=t}}}),a("json-drawer",{attrs:{size:"60%",visible:e.jsonDrawerVisible,"json-str":JSON.stringify(e.formData)},on:{"update:visible":function(t){e.jsonDrawerVisible=t},refresh:e.refreshJson}}),a("code-type-dialog",{attrs:{visible:e.dialogVisible,title:"选择生成类型","show-file-name":e.showFileName},on:{"update:visible":function(t){e.dialogVisible=t},confirm:e.generate}}),a("input",{attrs:{id:"copyNode",type:"hidden"}})],1)},h=[function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",{staticClass:"logo-wrapper",staticStyle:{"z-index":"9999"}},[a("div",{staticClass:"logo"},[e._v(" GIN-VUE-ADMIN 表单生成器 依赖"),a("a",{staticClass:"github",attrs:{href:"https://github.com/JakHuang/form-generator",target:"_blank"}},[e._v("【Form Generator】")])])])}],b=a("bbc6"),g=a("6abc"),w=(a("cd57"),a("aa0d"),a("de23"),a("2236"),a("0f45"),a("f0b3"),a("1264"),a("6390"),a("a92d"),a("15ee"),a("9719"),a("12b5"),a("3335")),y=a.n(w),D=a("f22b"),x=a("31bf"),k=a("7094"),C=a.n(k),O=a("4758"),M=function(){var e=this,t=e.$createElement,a=e._self._c||t;return a("div",[a("el-drawer",e._g(e._b({on:{opened:e.onOpen,close:e.onClose}},"el-drawer",e.$attrs,!1),e.$listeners),[a("div",{staticStyle:{height:"100%"}},[a("el-row",{staticStyle:{height:"100%",overflow:"auto"}},[a("el-col",{staticClass:"left-editor",attrs:{md:24,lg:12}},[a("div",{staticClass:"setting",attrs:{title:"资源引用"},on:{click:e.showResource}},[a("el-badge",{staticClass:"item",attrs:{"is-dot":!!e.resources.length}},[a("i",{staticClass:"el-icon-setting"})])],1),a("el-tabs",{staticClass:"editor-tabs",attrs:{type:"card"},model:{value:e.activeTab,callback:function(t){e.activeTab=t},expression:"activeTab"}},[a("el-tab-pane",{attrs:{name:"html"}},[a("span",{attrs:{slot:"label"},slot:"label"},["html"===e.activeTab?a("i",{staticClass:"el-icon-edit"}):a("i",{staticClass:"el-icon-document"}),e._v(" template ")])]),a("el-tab-pane",{attrs:{name:"js"}},[a("span",{attrs:{slot:"label"},slot:"label"},["js"===e.activeTab?a("i",{staticClass:"el-icon-edit"}):a("i",{staticClass:"el-icon-document"}),e._v(" script ")])]),a("el-tab-pane",{attrs:{name:"css"}},[a("span",{attrs:{slot:"label"},slot:"label"},["css"===e.activeTab?a("i",{staticClass:"el-icon-edit"}):a("i",{staticClass:"el-icon-document"}),e._v(" css ")])])],1),a("div",{directives:[{name:"show",rawName:"v-show",value:"html"===e.activeTab,expression:"activeTab==='html'"}],staticClass:"tab-editor",attrs:{id:"editorHtml"}}),a("div",{directives:[{name:"show",rawName:"v-show",value:"js"===e.activeTab,expression:"activeTab==='js'"}],staticClass:"tab-editor",attrs:{id:"editorJs"}}),a("div",{directives:[{name:"show",rawName:"v-show",value:"css"===e.activeTab,expression:"activeTab==='css'"}],staticClass:"tab-editor",attrs:{id:"editorCss"}})],1),a("el-col",{staticClass:"right-preview",attrs:{md:24,lg:12}},[a("div",{staticClass:"action-bar",style:{"text-align":"left"}},[a("span",{staticClass:"bar-btn",on:{click:e.runCode}},[a("i",{staticClass:"el-icon-refresh"}),e._v(" 刷新 ")]),a("span",{staticClass:"bar-btn",on:{click:e.exportFile}},[a("i",{staticClass:"el-icon-download"}),e._v(" 导出vue文件 ")]),a("span",{ref:"copyBtn",staticClass:"bar-btn copy-btn"},[a("i",{staticClass:"el-icon-document-copy"}),e._v(" 复制代码 ")]),a("span",{staticClass:"bar-btn delete-btn",on:{click:function(t){return e.$emit("update:visible",!1)}}},[a("i",{staticClass:"el-icon-circle-close"}),e._v(" 关闭 ")])]),a("iframe",{directives:[{name:"show",rawName:"v-show",value:e.isIframeLoaded,expression:"isIframeLoaded"}],ref:"previewPage",staticClass:"result-wrapper",attrs:{frameborder:"0",src:"preview.html"},on:{load:e.iframeLoad}}),a("div",{directives:[{name:"show",rawName:"v-show",value:!e.isIframeLoaded,expression:"!isIframeLoaded"},{name:"loading",rawName:"v-loading",value:!0,expression:"true"}],staticClass:"result-wrapper"})])],1)],1)]),a("resource-dialog",{attrs:{visible:e.resourceVisible,"origin-resource":e.resources},on:{"update:visible":function(t){e.resourceVisible=t},save:e.setResource}})],1)},j=[],I=(a("bd99"),a("75c8")),E=(a("4882"),a("beaa"));function L(e){return'\n '.concat(e,'\n
\n 取消\n 确定\n
\n
')}function T(e){return"")}function z(e){return"
\ No newline at end of file +form-generator-preview
\ No newline at end of file diff --git a/server/router/sys_api.go b/server/router/sys_api.go index 8bb7f2d40..bd0b6d77c 100644 --- a/server/router/sys_api.go +++ b/server/router/sys_api.go @@ -9,11 +9,12 @@ import ( func InitApiRouter(Router *gin.RouterGroup) { ApiRouter := Router.Group("api").Use(middleware.OperationRecord()) { - ApiRouter.POST("createApi", v1.CreateApi) // 创建Api - ApiRouter.POST("deleteApi", v1.DeleteApi) // 删除Api - ApiRouter.POST("getApiList", v1.GetApiList) // 获取Api列表 - ApiRouter.POST("getApiById", v1.GetApiById) // 获取单条Api消息 - ApiRouter.POST("updateApi", v1.UpdateApi) // 更新api - ApiRouter.POST("getAllApis", v1.GetAllApis) // 获取所有api + ApiRouter.POST("createApi", v1.CreateApi) // 创建Api + ApiRouter.POST("deleteApi", v1.DeleteApi) // 删除Api + ApiRouter.POST("getApiList", v1.GetApiList) // 获取Api列表 + ApiRouter.POST("getApiById", v1.GetApiById) // 获取单条Api消息 + ApiRouter.POST("updateApi", v1.UpdateApi) // 更新api + ApiRouter.POST("getAllApis", v1.GetAllApis) // 获取所有api + ApiRouter.DELETE("deleteApisByIds", v1.DeleteApisByIds) // 删除选中api } } diff --git a/server/router/sys_system.go b/server/router/sys_system.go index 1bb3bc0d3..75aca3991 100644 --- a/server/router/sys_system.go +++ b/server/router/sys_system.go @@ -12,6 +12,6 @@ func InitSystemRouter(Router *gin.RouterGroup) { SystemRouter.POST("getSystemConfig", v1.GetSystemConfig) // 获取配置文件内容 SystemRouter.POST("setSystemConfig", v1.SetSystemConfig) // 设置配置文件内容 SystemRouter.POST("getServerInfo", v1.GetServerInfo) // 获取服务器信息 - SystemRouter.POST("reloadSystem", v1.ReloadSystem) // 重启服务 + SystemRouter.POST("reloadSystem", v1.ReloadSystem) // 重启服务 } } diff --git a/server/service/exa_excel_parse.go b/server/service/exa_excel_parse.go index bb6f8ba98..19ec3e51c 100644 --- a/server/service/exa_excel_parse.go +++ b/server/service/exa_excel_parse.go @@ -11,29 +11,29 @@ import ( func ParseInfoList2Excel(infoList []model.SysBaseMenu, filePath string) error { excel := excelize.NewFile() - excel.SetSheetRow("Sheet1","A1",&[]string{"ID","路由Name","路由Path","是否隐藏","父节点","排序","文件名称"}) - for i, menu := range infoList { - axis := fmt.Sprintf("A%d",i+2) - excel.SetSheetRow("Sheet1",axis,&[]interface{}{ - menu.ID, - menu.Name, - menu.Path, - menu.Hidden, - menu.ParentId, - menu.Sort, - menu.Component, - }) - } + excel.SetSheetRow("Sheet1", "A1", &[]string{"ID", "路由Name", "路由Path", "是否隐藏", "父节点", "排序", "文件名称"}) + for i, menu := range infoList { + axis := fmt.Sprintf("A%d", i+2) + excel.SetSheetRow("Sheet1", axis, &[]interface{}{ + menu.ID, + menu.Name, + menu.Path, + menu.Hidden, + menu.ParentId, + menu.Sort, + menu.Component, + }) + } excel.SaveAs(filePath) return nil } func ParseExcel2InfoList() ([]model.SysBaseMenu, error) { skipHeader := true - fixedHeader := []string{"ID","路由Name","路由Path","是否隐藏","父节点","排序","文件名称"} - file, err := excelize.OpenFile(global.GVA_CONFIG.Excel.Dir+"ExcelImport.xlsx") + fixedHeader := []string{"ID", "路由Name", "路由Path", "是否隐藏", "父节点", "排序", "文件名称"} + file, err := excelize.OpenFile(global.GVA_CONFIG.Excel.Dir + "ExcelImport.xlsx") if err != nil { - return nil, err + return nil, err } menus := make([]model.SysBaseMenu, 0) rows, err := file.Rows("Sheet1") @@ -63,11 +63,11 @@ func ParseExcel2InfoList() ([]model.SysBaseMenu, error) { GVA_MODEL: global.GVA_MODEL{ ID: uint(id), }, - Name: row[1], - Path: row[2], - Hidden: hidden, - ParentId: row[4], - Sort: sort, + Name: row[1], + Path: row[2], + Hidden: hidden, + ParentId: row[4], + Sort: sort, Component: row[6], } menus = append(menus, menu) @@ -88,4 +88,4 @@ func compareStrSlice(a, b []string) bool { } } return true -} \ No newline at end of file +} diff --git a/server/service/sys_api.go b/server/service/sys_api.go index 613876d1d..52e8682de 100644 --- a/server/service/sys_api.go +++ b/server/service/sys_api.go @@ -5,6 +5,7 @@ import ( "gin-vue-admin/global" "gin-vue-admin/model" "gin-vue-admin/model/request" + "gorm.io/gorm" ) @@ -129,3 +130,14 @@ func UpdateApi(api model.SysApi) (err error) { } return err } + +//@author: [piexlmax](https://github.com/piexlmax) +//@function: DeleteApis +//@description: 删除选中API +//@param: apis []model.SysApi +//@return: err error + +func DeleteApisByIds(ids request.IdsReq) (err error) { + err = global.GVA_DB.Delete(&[]model.SysApi{}, "id in ?", ids.Ids).Error + return err +} diff --git a/server/service/sys_auto_code.go b/server/service/sys_auto_code.go index f8def744c..835b02bde 100644 --- a/server/service/sys_auto_code.go +++ b/server/service/sys_auto_code.go @@ -320,6 +320,11 @@ func AutoCreateApi(a *model.AutoCodeStruct) (err error) { } func getNeedList(autoCode *model.AutoCodeStruct) (dataList []tplData, fileList []string, needMkdir []string, err error) { + // 去除所有空格 + utils.TrimSpace(autoCode) + for _, field := range autoCode.Fields { + utils.TrimSpace(field) + } // 获取 basePath 文件夹下所有tpl文件 tplFileList, err := GetAllTplFile(basePath, nil) if err != nil { diff --git a/server/service/sys_casbin.go b/server/service/sys_casbin.go index 53571d210..4d7265a24 100644 --- a/server/service/sys_casbin.go +++ b/server/service/sys_casbin.go @@ -5,11 +5,12 @@ import ( "gin-vue-admin/global" "gin-vue-admin/model" "gin-vue-admin/model/request" - "github.com/casbin/casbin/util" + "strings" + "github.com/casbin/casbin/v2" + "github.com/casbin/casbin/v2/util" gormadapter "github.com/casbin/gorm-adapter/v3" _ "github.com/go-sql-driver/mysql" - "strings" ) //@author: [piexlmax](https://github.com/piexlmax) @@ -58,7 +59,6 @@ func UpdateCasbinApi(oldPath string, newPath string, oldMethod string, newMethod //@param: authorityId string //@return: pathMaps []request.CasbinInfo - func GetPolicyPathByAuthorityId(authorityId string) (pathMaps []request.CasbinInfo) { e := Casbin() list := e.GetFilteredPolicy(0, authorityId) @@ -90,8 +90,7 @@ func ClearCasbin(v int, p ...string) bool { //@return: *casbin.Enforcer func Casbin() *casbin.Enforcer { - admin := global.GVA_CONFIG.Mysql - a, _ := gormadapter.NewAdapter(global.GVA_CONFIG.System.DbType, admin.Username+":"+admin.Password+"@("+admin.Path+")/"+admin.Dbname, true) + a, _ := gormadapter.NewAdapterByDB(global.GVA_DB) e, _ := casbin.NewEnforcer(global.GVA_CONFIG.Casbin.ModelPath, a) e.AddFunction("ParamsMatch", ParamsMatchFunc) _ = e.LoadPolicy() diff --git a/server/service/sys_initdb.go b/server/service/sys_initdb.go index 2f90cb90e..58003117c 100644 --- a/server/service/sys_initdb.go +++ b/server/service/sys_initdb.go @@ -3,10 +3,12 @@ package service import ( "database/sql" "fmt" + "gin-vue-admin/config" "gin-vue-admin/global" "gin-vue-admin/model" "gin-vue-admin/model/request" "gin-vue-admin/source" + "gin-vue-admin/utils" "github.com/spf13/viper" "gorm.io/driver/mysql" "gorm.io/gorm" @@ -19,8 +21,10 @@ import ( //@param: //@return: error -func writeConfig(viper *viper.Viper, conf map[string]interface{}) error { - for k, v := range conf { +func writeConfig(viper *viper.Viper, mysql config.Mysql) error { + global.GVA_CONFIG.Mysql = mysql + cs := utils.StructToMap(global.GVA_CONFIG) + for k, v := range cs { viper.Set(k, v) } return viper.WriteConfig() @@ -37,7 +41,12 @@ func createTable(dsn string, driver string, createSql string) error { if err != nil { return err } - defer db.Close() + defer func(db *sql.DB) { + err := db.Close() + if err != nil { + + } + }(db) if err = db.Ping(); err != nil { return err } @@ -62,13 +71,12 @@ func initDB(InitDBFunctions ...model.InitDBFunc) (err error) { //@return: err error, treeMap map[string][]model.SysMenu func InitDB(conf request.InitDB) error { - - baseSetting := map[string]interface{}{ - "mysql.path": "", - "mysql.db-name": "", - "mysql.username": "", - "mysql.password": "", - "mysql.config": "charset=utf8mb4&parseTime=True&loc=Local", + BaseMysql := config.Mysql{ + Path: "", + Dbname: "", + Username: "", + Password: "", + Config: "charset=utf8mb4&parseTime=True&loc=Local", } if conf.Host == "" { @@ -79,19 +87,20 @@ func InitDB(conf request.InitDB) error { conf.Port = "3306" } dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/", conf.UserName, conf.Password, conf.Host, conf.Port) - fmt.Println(dsn) createSql := fmt.Sprintf("CREATE DATABASE IF NOT EXISTS %s DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_general_ci;", conf.DBName) if err := createTable(dsn, "mysql", createSql); err != nil { return err } - setting := map[string]interface{}{ - "mysql.path": fmt.Sprintf("%s:%s", conf.Host, conf.Port), - "mysql.db-name": conf.DBName, - "mysql.username": conf.UserName, - "mysql.password": conf.Password, - "mysql.config": "charset=utf8mb4&parseTime=True&loc=Local", + + MysqlConfig := config.Mysql{ + Path: fmt.Sprintf("%s:%s", conf.Host, conf.Port), + Dbname: conf.DBName, + Username: conf.UserName, + Password: conf.Password, + Config: "charset=utf8mb4&parseTime=True&loc=Local", } - if err := writeConfig(global.GVA_VP, setting); err != nil { + + if err := writeConfig(global.GVA_VP, MysqlConfig); err != nil { return err } m := global.GVA_CONFIG.Mysql @@ -112,6 +121,7 @@ func InitDB(conf request.InitDB) error { //global.GVA_LOG.Error("MySQL启动异常", zap.Any("err", err)) //os.Exit(0) //return nil + _ = writeConfig(global.GVA_VP, BaseMysql) return nil } else { sqlDB, _ := db.DB() @@ -137,6 +147,7 @@ func InitDB(conf request.InitDB) error { model.SysOperationRecord{}, ) if err != nil { + _ = writeConfig(global.GVA_VP, BaseMysql) return err } err = initDB( @@ -152,7 +163,7 @@ func InitDB(conf request.InitDB) error { source.File, source.BaseMenu) if err != nil { - _ = writeConfig(global.GVA_VP, baseSetting) + _ = writeConfig(global.GVA_VP, BaseMysql) return err } global.GVA_CONFIG.AutoCode.Root, _ = filepath.Abs("..") diff --git a/server/service/sys_system.go b/server/service/sys_system.go index 239a6b25c..57132a911 100644 --- a/server/service/sys_system.go +++ b/server/service/sys_system.go @@ -41,19 +41,18 @@ func SetSystemConfig(system model.System) (err error) { func GetServerInfo() (server *utils.Server, err error) { var s utils.Server s.Os = utils.InitOS() - if s.Cpu, err = utils.InitCPU(); err != nil{ + if s.Cpu, err = utils.InitCPU(); err != nil { global.GVA_LOG.Error("func utils.InitCPU() Failed!", zap.String("err", err.Error())) return &s, err } - if s.Rrm, err = utils.InitRAM(); err != nil{ + if s.Rrm, err = utils.InitRAM(); err != nil { global.GVA_LOG.Error("func utils.InitRAM() Failed!", zap.String("err", err.Error())) return &s, err } - if s.Disk, err = utils.InitDisk(); err != nil{ + if s.Disk, err = utils.InitDisk(); err != nil { global.GVA_LOG.Error("func utils.InitDisk() Failed!", zap.String("err", err.Error())) return &s, err } return &s, nil } - diff --git a/server/service/sys_user.go b/server/service/sys_user.go index d6a0477c6..45bfc9675 100644 --- a/server/service/sys_user.go +++ b/server/service/sys_user.go @@ -10,7 +10,6 @@ import ( "gorm.io/gorm" ) - //@author: [piexlmax](https://github.com/piexlmax) //@function: Register //@description: 用户注册 @@ -125,8 +124,8 @@ func FindUserById(id int) (err error, user *model.SysUser) { func FindUserByUuid(uuid string) (err error, user *model.SysUser) { var u model.SysUser - if err = global.GVA_DB.Where("`uuid` = ?", uuid).First(&u).Error; err != nil{ + if err = global.GVA_DB.Where("`uuid` = ?", uuid).First(&u).Error; err != nil { return errors.New("用户不存在"), &u } return nil, &u -} \ No newline at end of file +} diff --git a/server/source/api.go b/server/source/api.go index a89280cdb..f3c1cffe1 100644 --- a/server/source/api.go +++ b/server/source/api.go @@ -85,6 +85,7 @@ var apis = []model.SysApi{ {global.GVA_MODEL{ID: 82, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/excel/loadExcel", "下载excel", "excel", "GET"}, {global.GVA_MODEL{ID: 83, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/excel/exportExcel", "导出excel", "excel", "POST"}, {global.GVA_MODEL{ID: 84, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/excel/downloadTemplate", "下载excel模板", "excel", "GET"}, + {global.GVA_MODEL{ID: 85, CreatedAt: time.Now(), UpdatedAt: time.Now()}, "/api/deleteApisByIds", "批量删除api", "api", "DELETE"}, } //@author: [SliverHorn](https://github.com/SliverHorn) diff --git a/server/source/casbin.go b/server/source/casbin.go index 9e45a42e3..a7b642c55 100644 --- a/server/source/casbin.go +++ b/server/source/casbin.go @@ -2,6 +2,7 @@ package source import ( "gin-vue-admin/global" + gormadapter "github.com/casbin/gorm-adapter/v3" "github.com/gookit/color" "gorm.io/gorm" @@ -84,6 +85,7 @@ var carbines = []gormadapter.CasbinRule{ {PType: "p", V0: "888", V1: "/excel/loadExcel", V2: "GET"}, {PType: "p", V0: "888", V1: "/excel/exportExcel", V2: "POST"}, {PType: "p", V0: "888", V1: "/excel/downloadTemplate", V2: "GET"}, + {PType: "p", V0: "888", V1: "/api/deleteApisByIds", V2: "DELETE"}, {PType: "p", V0: "8881", V1: "/base/login", V2: "POST"}, {PType: "p", V0: "8881", V1: "/user/register", V2: "POST"}, {PType: "p", V0: "8881", V1: "/api/createApi", V2: "POST"}, diff --git a/server/source/file.go b/server/source/file.go index 4486bef55..2b7aa7128 100644 --- a/server/source/file.go +++ b/server/source/file.go @@ -31,4 +31,4 @@ func (f *file) Init() error { color.Info.Println("\n[Mysql] --> exa_file_upload_and_downloads 表初始数据成功!") return nil }) -} \ No newline at end of file +} diff --git a/server/utils/constant.go b/server/utils/constant.go index bb50e80c6..c2e12b2ae 100644 --- a/server/utils/constant.go +++ b/server/utils/constant.go @@ -1,6 +1,6 @@ package utils const ( - ConfigEnv = "GVA_CONFIG" + ConfigEnv = "GVA_CONFIG" ConfigFile = "config.yaml" ) diff --git a/server/utils/db_automation.go b/server/utils/db_automation.go new file mode 100644 index 000000000..c3743b924 --- /dev/null +++ b/server/utils/db_automation.go @@ -0,0 +1,29 @@ +package utils + +import ( + "errors" + "fmt" + "time" + + "gorm.io/gorm" +) + +//@author: [songzhibin97](https://github.com/songzhibin97) +//@function: ClearTable +//@description: 清理数据库表数据 +//@param: target db(数据库对象) *gorm.DB,tableName(表名) string,compareField(比较字段) string , interval string 间隔 +//@return: err + +func ClearTable(db *gorm.DB, tableName string, compareField string, interval string) error { + if db == nil { + return errors.New("db Cannot be empty") + } + duration, err := time.ParseDuration(interval) + if err != nil { + return err + } + if duration < 0 { + return errors.New("parse duration < 0") + } + return db.Debug().Exec(fmt.Sprintf("DELETE FROM %s WHERE %s < ?", tableName, compareField), time.Now().Add(-duration)).Error +} diff --git a/server/utils/directory.go b/server/utils/directory.go index 216bfd2a9..46e89aa34 100644 --- a/server/utils/directory.go +++ b/server/utils/directory.go @@ -39,7 +39,7 @@ func CreateDir(dirs ...string) (err error) { global.GVA_LOG.Debug("create directory" + v) err = os.MkdirAll(v, os.ModePerm) if err != nil { - global.GVA_LOG.Error("create directory"+ v, zap.Any(" error:", err)) + global.GVA_LOG.Error("create directory"+v, zap.Any(" error:", err)) } } } diff --git a/server/utils/file_operations.go b/server/utils/file_operations.go index 04b041375..6963d9ecc 100644 --- a/server/utils/file_operations.go +++ b/server/utils/file_operations.go @@ -3,6 +3,8 @@ package utils import ( "os" "path/filepath" + "reflect" + "strings" ) //@author: [songzhibin97](https://github.com/songzhibin97) @@ -39,3 +41,25 @@ Redirect: } return os.Rename(src, dst) } + +//@author: [songzhibin97](https://github.com/songzhibin97) +//@function: TrimSpace +//@description: 去除结构体空格 +//@param: target interface (target: 目标结构体,传入必须是指针类型) +//@return: err error + +func TrimSpace(target interface{}) { + t := reflect.TypeOf(target) + if t.Kind() != reflect.Ptr { + return + } + t = t.Elem() + v := reflect.ValueOf(target).Elem() + for i := 0; i < t.NumField(); i++ { + switch v.Field(i).Kind() { + case reflect.String: + v.Field(i).SetString(strings.TrimSpace(v.Field(i).String())) + } + } + return +} diff --git a/server/utils/injectionCode.go b/server/utils/injectionCode.go index a9f2ba5a4..575a37052 100644 --- a/server/utils/injectionCode.go +++ b/server/utils/injectionCode.go @@ -65,9 +65,9 @@ func AutoInjectionCode(filepath string, funcName string, codeData string) error } // 在指定函数名,且函数中startComment和endComment都存在时,进行区间查重 - if (codeStartPos != -1 && codeEndPos != srcDataLen) && (startCommentPos != -1 && endCommentPos != srcDataLen) && expectedFunction != nil { + if (codeStartPos != -1 && codeEndPos <= srcDataLen) && (startCommentPos != -1 && endCommentPos != srcDataLen) && expectedFunction != nil { if exist := checkExist(&srcData, startCommentPos, endCommentPos, expectedFunction.Body, codeData); exist { - fmt.Println("已存在") + fmt.Printf("文件 %s 待插入数据 %s 已存在\n", filepath, codeData) return nil // 这里不需要返回错误? } } @@ -122,6 +122,21 @@ func checkExist(srcData *[]byte, startPos int, endPos int, blockStmt *ast.BlockS if checkExist(srcData, startPos, endPos, stmt, target) { return true } + case *ast.AssignStmt: + // 为 model 中的代码进行检查 + if len(stmt.Rhs) > 0 { + if callExpr, ok := stmt.Rhs[0].(*ast.CallExpr); ok { + for _, arg := range callExpr.Args { + if int(arg.Pos()) > startPos && int(arg.End()) < endPos { + text := string((*srcData)[int(arg.Pos()-1):int(arg.End())]) + key := strings.TrimSpace(text) + if key == target { + return true + } + } + } + } + } } } return false diff --git a/server/utils/rotatelogs_unix.go b/server/utils/rotatelogs_unix.go index 30a57750a..5c6b3fd59 100644 --- a/server/utils/rotatelogs_unix.go +++ b/server/utils/rotatelogs_unix.go @@ -27,4 +27,4 @@ func GetWriteSyncer() (zapcore.WriteSyncer, error) { return zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout), zapcore.AddSync(fileWriter)), err } return zapcore.AddSync(fileWriter), err -} \ No newline at end of file +} diff --git a/server/utils/rotatelogs_windows.go b/server/utils/rotatelogs_windows.go index 0639ba667..188cc69bf 100644 --- a/server/utils/rotatelogs_windows.go +++ b/server/utils/rotatelogs_windows.go @@ -24,4 +24,4 @@ func GetWriteSyncer() (zapcore.WriteSyncer, error) { return zapcore.NewMultiWriteSyncer(zapcore.AddSync(os.Stdout), zapcore.AddSync(fileWriter)), err } return zapcore.AddSync(fileWriter), err -} \ No newline at end of file +} diff --git a/server/utils/server.go b/server/utils/server.go index 3558cf5ea..80990fc84 100644 --- a/server/utils/server.go +++ b/server/utils/server.go @@ -35,7 +35,6 @@ type Cpu struct { Cores int `json:"cores"` } - type Rrm struct { UsedMB int `json:"usedMb"` TotalMB int `json:"totalMb"` @@ -89,9 +88,9 @@ func InitCPU() (c Cpu, err error) { //@return: r Rrm, err error func InitRAM() (r Rrm, err error) { - if u, err := mem.VirtualMemory(); err != nil{ + if u, err := mem.VirtualMemory(); err != nil { return r, err - }else { + } else { r.UsedMB = int(u.Used) / MB r.TotalMB = int(u.Total) / MB r.UsedPercent = int(u.UsedPercent) @@ -105,7 +104,7 @@ func InitRAM() (r Rrm, err error) { //@return: d Disk, err error func InitDisk() (d Disk, err error) { - if u, err := disk.Usage("/"); err != nil{ + if u, err := disk.Usage("/"); err != nil { return d, err } else { d.UsedMB = int(u.Used) / MB @@ -115,4 +114,4 @@ func InitDisk() (d Disk, err error) { d.UsedPercent = int(u.UsedPercent) } return d, nil -} \ No newline at end of file +} diff --git a/server/utils/timer/timed_task.go b/server/utils/timer/timed_task.go new file mode 100644 index 000000000..881fddeb4 --- /dev/null +++ b/server/utils/timer/timed_task.go @@ -0,0 +1,109 @@ +package timer + +import ( + "sync" + + "github.com/robfig/cron/v3" +) + +type Timer interface { + AddTaskByFunc(taskName string, spec string, task func()) (cron.EntryID, error) + AddTaskByJob(taskName string, spec string, job interface{ Run() }) (cron.EntryID, error) + FindCron(taskName string) (*cron.Cron, bool) + StartTask(taskName string) + StopTask(taskName string) + Remove(taskName string, id int) + Clear(taskName string) + Close() +} + +// timer 定时任务管理 +type timer struct { + taskList map[string]*cron.Cron + sync.Mutex +} + +// AddTaskByFunc 通过函数的方法添加任务 +func (t *timer) AddTaskByFunc(taskName string, spec string, task func()) (cron.EntryID, error) { + t.Lock() + defer t.Unlock() + if _, ok := t.taskList[taskName]; !ok { + t.taskList[taskName] = cron.New() + } + id, err := t.taskList[taskName].AddFunc(spec, task) + t.taskList[taskName].Start() + return id, err +} + +// AddTaskByJob 通过接口的方法添加任务 +func (t *timer) AddTaskByJob(taskName string, spec string, job interface{ Run() }) (cron.EntryID, error) { + t.Lock() + defer t.Unlock() + if _, ok := t.taskList[taskName]; !ok { + t.taskList[taskName] = cron.New() + } + id, err := t.taskList[taskName].AddJob(spec, job) + t.taskList[taskName].Start() + return id, err +} + +// FindCron 获取对应taskName的cron 可能会为空 +func (t *timer) FindCron(taskName string) (*cron.Cron, bool) { + t.Lock() + defer t.Unlock() + v, ok := t.taskList[taskName] + return v, ok +} + +// StartTask 开始任务 +func (t *timer) StartTask(taskName string) { + t.Lock() + defer t.Unlock() + if v, ok := t.taskList[taskName]; ok { + v.Start() + } + return +} + +// StopTask 停止任务 +func (t *timer) StopTask(taskName string) { + t.Lock() + defer t.Unlock() + if v, ok := t.taskList[taskName]; ok { + v.Stop() + } + return +} + +// Remove 从taskName 删除指定任务 +func (t *timer) Remove(taskName string, id int) { + t.Lock() + defer t.Unlock() + if v, ok := t.taskList[taskName]; ok { + v.Remove(cron.EntryID(id)) + } + return +} + +// Clear 清除任务 +func (t *timer) Clear(taskName string) { + t.Lock() + defer t.Unlock() + if v, ok := t.taskList[taskName]; ok { + v.Stop() + delete(t.taskList, taskName) + } +} + +// Close 释放资源 +func (t *timer) Close() { + t.Lock() + defer t.Unlock() + for _, v := range t.taskList { + v.Stop() + } +} + +func NewTimerTask() Timer { + return &timer{taskList: make(map[string]*cron.Cron)} +} diff --git a/server/utils/upload/local.go b/server/utils/upload/local.go index a081fa263..3c7fb6c26 100644 --- a/server/utils/upload/local.go +++ b/server/utils/upload/local.go @@ -1,4 +1,5 @@ package upload + import ( "errors" "gin-vue-admin/global" diff --git a/server/utils/upload/qiniu.go b/server/utils/upload/qiniu.go index 0bb0c5e15..048c93190 100644 --- a/server/utils/upload/qiniu.go +++ b/server/utils/upload/qiniu.go @@ -60,7 +60,7 @@ func (*Qiniu) DeleteFile(key string) error { mac := qbox.NewMac(global.GVA_CONFIG.Qiniu.AccessKey, global.GVA_CONFIG.Qiniu.SecretKey) cfg := qiniuConfig() bucketManager := storage.NewBucketManager(mac, cfg) - if err := bucketManager.Delete(global.GVA_CONFIG.Qiniu.Bucket, key); err != nil{ + if err := bucketManager.Delete(global.GVA_CONFIG.Qiniu.Bucket, key); err != nil { global.GVA_LOG.Error("function bucketManager.Delete() Filed", zap.Any("err", err.Error())) return errors.New("function bucketManager.Delete() Filed, err:" + err.Error()) } @@ -76,7 +76,7 @@ func (*Qiniu) DeleteFile(key string) error { func qiniuConfig() *storage.Config { cfg := storage.Config{ - UseHTTPS: global.GVA_CONFIG.Qiniu.UseHTTPS, + UseHTTPS: global.GVA_CONFIG.Qiniu.UseHTTPS, UseCdnDomains: global.GVA_CONFIG.Qiniu.UseCdnDomains, } switch global.GVA_CONFIG.Qiniu.Zone { // 根据配置文件进行初始化空间对应的机房 @@ -92,4 +92,4 @@ func qiniuConfig() *storage.Config { cfg.Zone = &storage.ZoneXinjiapo } return &cfg -} \ No newline at end of file +} diff --git a/web/.env.development b/web/.env.development index 1411c7324..93aab90bf 100644 --- a/web/.env.development +++ b/web/.env.development @@ -1,2 +1,6 @@ ENV = 'development' -VUE_APP_BASE_API = '/api' \ No newline at end of file + +VUE_APP_CLI_PORT = '8080' +VUE_APP_SERVER_PORT = '8888' +VUE_APP_BASE_API = '/api' +VUE_APP_BASE_PATH = 'http://127.0.0.1' diff --git a/web/.env.production b/web/.env.production index 2a94f47f8..f8929e13d 100644 --- a/web/.env.production +++ b/web/.env.production @@ -1,2 +1,7 @@ ENV = 'production' -VUE_APP_BASE_API = '/api' \ No newline at end of file + +VUE_APP_CLI_PORT = '8080' +VUE_APP_SERVER_PORT = '8888' +VUE_APP_BASE_API = '/api' +#下方修改为你的线上ip +VUE_APP_BASE_PATH = 'http://8.141.61.63' \ No newline at end of file diff --git a/web/README.md b/web/README.md index ac82884ed..ad0c9d588 100644 --- a/web/README.md +++ b/web/README.md @@ -27,3 +27,52 @@ npm run lint ### Customize configuration See [Configuration Reference](https://cli.vuejs.org/config/). + +整理代码结构 +``` lua +web +├── public -- public +| ├── favicon.ico -- ico +| └── index.html -- index +├── src -- 源代码 +│ ├── api -- 所有请求 +│ ├── assets -- 主题 字体等静态资源 +| ├── components -- components组件 +| ├── directive -- 公用方法 +| ├── mixins -- 公用方法 +| ├── router -- 路由权限 +| ├── store -- store +| | ├── modules -- modules +| | | ├── dictionary.js -- 动态路由 +| | | ├── router.js -- 路由 +| | | └── user.js -- 用户权限菜单过滤 +| | ├── getters.js -- getters +| | └── index.js -- index +| ├── styles -- css +| ├── utils -- utils 组件 +| ├── view -- 主要view代码 +| | ├── about -- 关于我们 +| | ├── dashboard -- 面板 +| | ├── error -- 错误 +| | ├── example --上传案例 +| | ├── iconList -- icon列表 +| | ├── init -- 初始化数据 +| | ├── layout -- layout约束页面 +| | | ├── aside -- +| | | ├── bottomInfo -- bottomInfo +| | | ├── screenfull -- 全屏设置 +| | | └── index.vue -- base 约束 +| | ├── login --结算单管理 +| | ├── person --结算单管理 +| | ├── superAdmin -- 超级管理员操作 +| | └── home.vue -- page 入口页面 +│ ├── App.vue -- 入口页面 +│ ├── main.js -- 入口文件 加载组件 初始化等 +│ └── permission.js -- 跳转 +├── build.config.js -- 环境变量build配置 +├── openDocument.js -- 商用代码公司自用产品无需授权 +├── .babelrc -- babel-loader 配置 +├── .travis.yml -- 自动化CI配置 +├── vue.config.js -- vue-cli 配置 +└── package.json -- package.json +``` \ No newline at end of file diff --git a/web/build.config.js b/web/build.config.js index 14522d3bb..75b666ee5 100644 --- a/web/build.config.js +++ b/web/build.config.js @@ -2,6 +2,8 @@ module.exports = { title: 'GIN-VUE-ADMIN1', + vueClientPort: 8080, + goServerPort: 8888, baseCdnUrl: '//cdn.staticfile.org', cdns: [ /** diff --git a/web/src/api/api.js b/web/src/api/api.js index bb443bea7..8549e9b1b 100644 --- a/web/src/api/api.js +++ b/web/src/api/api.js @@ -115,4 +115,20 @@ export const deleteApi = (data) => { method: 'post', data }) +} + +// @Tags SysApi +// @Summary 删除选中Api +// @Security ApiKeyAuth +// @accept application/json +// @Produce application/json +// @Param data body request.IdsReq true "ID" +// @Success 200 {string} string "{"success":true,"data":{},"msg":"删除成功"}" +// @Router /api/deleteApisByIds [delete] +export const deleteApisByIds = (data) => { + return service({ + url: "/api/deleteApisByIds", + method: 'delete', + data + }) } \ No newline at end of file diff --git a/web/src/directive/auth.js b/web/src/directive/auth.js index bf6fc8297..821e52d14 100644 --- a/web/src/directive/auth.js +++ b/web/src/directive/auth.js @@ -1,10 +1,10 @@ // 权限按钮展示指令 import { store } from '@/store/index' -const userInfo = store.getters['user/userInfo'] export const auth = (Vue) => { Vue.directive('auth', { // 当被绑定的元素插入到 DOM 中时…… bind: function (el, binding) { + const userInfo = store.getters['user/userInfo'] let type = "" switch (Object.prototype.toString.call(binding.value)) { case "[object Array]": @@ -27,7 +27,6 @@ export const auth = (Vue) => { return } const waitUse = binding.value.toString().split(",") - let flag = waitUse.some(item=>item==userInfo.authorityId) if (binding.modifiers.not) { flag = !flag diff --git a/web/src/main.js b/web/src/main.js index cd7044d63..31d6a7bc2 100644 --- a/web/src/main.js +++ b/web/src/main.js @@ -52,7 +52,8 @@ import { Steps, Upload, Progress, - MessageBox + MessageBox, + Image } from 'element-ui'; Vue.use(Button); @@ -103,6 +104,7 @@ Vue.use(Upload); Vue.use(Progress); Vue.use(Scrollbar); Vue.use(Loading.directive); +Vue.use(Image) Vue.prototype.$loading = Loading.service; Vue.prototype.$message = Message; @@ -147,9 +149,9 @@ export default new Vue({ console.log(` 欢迎使用 Gin-Vue-Admin - 当前版本:V2.4.0 + 当前版本:V2.4.1 加群方式:微信:shouzi_1994 QQ群:622360840 - 默认自动化文档地址:http://127.0.0.1%s/swagger/index.html - 默认前端文件运行地址:http://127.0.0.1:8080 + 默认自动化文档地址:http://127.0.0.1:` + process.env.VUE_APP_SERVER_PORT + `/swagger/index.html + 默认前端文件运行地址:http://127.0.0.1:`+ process.env.VUE_APP_CLI_PORT` 如果项目让您获得了收益,希望您能请团队喝杯可乐:https://www.gin-vue-admin.com/docs/coffee `) \ No newline at end of file diff --git a/web/src/style/base.scss b/web/src/style/base.scss index 997bef92d..ac30d538e 100644 --- a/web/src/style/base.scss +++ b/web/src/style/base.scss @@ -57,4 +57,14 @@ .title-3 { text-align: center; +} + +.el-pager li.active{ + color: #409EFF !important; + border: 1px solid #409EFF; +} + +.el-pager li:hover{ + color: #409EFF !important; + border: 1px solid #409EFF; } \ No newline at end of file diff --git a/web/src/utils/request.js b/web/src/utils/request.js index 640985d64..c7a445cfb 100644 --- a/web/src/utils/request.js +++ b/web/src/utils/request.js @@ -66,7 +66,7 @@ service.interceptors.response.use( store.commit('user/setToken', response.headers["new-token"]) } if(response.data.code == 0){ - if(response.data.data.needInit){ + if(response.data.data?.needInit){ Message({ type:"info", message:"您是第一次使用,请初始化" diff --git a/web/src/view/layout/aside/historyComponent/history.vue b/web/src/view/layout/aside/historyComponent/history.vue index e412062cb..e546d75b7 100644 --- a/web/src/view/layout/aside/historyComponent/history.vue +++ b/web/src/view/layout/aside/historyComponent/history.vue @@ -28,7 +28,11 @@