From b0873972ecb6d9977a36898d8281649d38c17df7 Mon Sep 17 00:00:00 2001 From: kim <89579420+NyaaaWhatsUpDoc@users.noreply.github.com> Date: Tue, 1 Apr 2025 16:21:59 +0000 Subject: [PATCH] [chore] bump golang.org/x/net@v0.38.0, github.com/gin-contrib/cors@v1.7.4, github.com/spf13/viper@v1.20.1, github.com/tdewolff/minify/v2@v2.22.4 (#3959) --- go.mod | 8 +- go.sum | 16 +- .../github.com/gin-contrib/cors/.golangci.yml | 1 - vendor/github.com/gin-contrib/cors/config.go | 14 +- vendor/github.com/gin-contrib/cors/cors.go | 10 + vendor/github.com/spf13/viper/viper.go | 32 +- vendor/golang.org/x/net/html/atom/table.go | 1256 +++++++++-------- vendor/golang.org/x/net/html/parse.go | 4 +- vendor/golang.org/x/net/html/token.go | 18 +- vendor/golang.org/x/net/http2/frame.go | 11 + vendor/golang.org/x/net/http2/h2c/h2c.go | 14 +- vendor/golang.org/x/net/http2/server.go | 5 +- .../x/net/publicsuffix/data/children | Bin 2976 -> 3484 bytes .../golang.org/x/net/publicsuffix/data/nodes | Bin 46610 -> 50500 bytes .../golang.org/x/net/publicsuffix/data/text | 2 +- vendor/golang.org/x/net/publicsuffix/list.go | 2 +- vendor/golang.org/x/net/publicsuffix/table.go | 12 +- vendor/modules.txt | 10 +- 18 files changed, 734 insertions(+), 681 deletions(-) diff --git a/go.mod b/go.mod index 93799e7cc..c23748996 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,7 @@ require ( github.com/SherClockHolmes/webpush-go v1.4.0 github.com/buckket/go-blurhash v1.1.0 github.com/coreos/go-oidc/v3 v3.12.0 - github.com/gin-contrib/cors v1.7.3 + github.com/gin-contrib/cors v1.7.4 github.com/gin-contrib/gzip v1.2.2 github.com/gin-contrib/sessions v1.0.2 github.com/gin-gonic/gin v1.10.0 @@ -59,9 +59,9 @@ require ( github.com/prometheus/client_golang v1.21.1 github.com/rivo/uniseg v0.4.7 github.com/spf13/cobra v1.9.1 - github.com/spf13/viper v1.20.0 + github.com/spf13/viper v1.20.1 github.com/stretchr/testify v1.10.0 - github.com/tdewolff/minify/v2 v2.22.3 + github.com/tdewolff/minify/v2 v2.22.4 github.com/technologize/otel-go-contrib v1.1.1 github.com/temoto/robotstxt v1.1.2 github.com/tetratelabs/wazero v1.9.0 @@ -84,7 +84,7 @@ require ( go.uber.org/automaxprocs v1.6.0 golang.org/x/crypto v0.36.0 golang.org/x/image v0.24.0 - golang.org/x/net v0.37.0 + golang.org/x/net v0.38.0 golang.org/x/oauth2 v0.27.0 golang.org/x/sys v0.31.0 golang.org/x/text v0.23.0 diff --git a/go.sum b/go.sum index 4f38aa932..88fb45e71 100644 --- a/go.sum +++ b/go.sum @@ -133,8 +133,8 @@ github.com/gabriel-vasile/mimetype v1.4.8 h1:FfZ3gj38NjllZIeJAmMhr+qKL8Wu+nOoI3G github.com/gabriel-vasile/mimetype v1.4.8/go.mod h1:ByKUIKGjh1ODkGM1asKUbQZOLGrPjydw3hYPU2YU9t8= github.com/gavv/httpexpect v2.0.0+incompatible h1:1X9kcRshkSKEjNJJxX9Y9mQ5BRfbxU5kORdjhlA1yX8= github.com/gavv/httpexpect v2.0.0+incompatible/go.mod h1:x+9tiU1YnrOvnB725RkpoLv1M62hOWzwo5OXotisrKc= -github.com/gin-contrib/cors v1.7.3 h1:hV+a5xp8hwJoTw7OY+a70FsL8JkVVFTXw9EcfrYUdns= -github.com/gin-contrib/cors v1.7.3/go.mod h1:M3bcKZhxzsvI+rlRSkkxHyljJt1ESd93COUvemZ79j4= +github.com/gin-contrib/cors v1.7.4 h1:/fC6/wk7rCRtqKqki8lLr2Xq+hnV49aXDLIuSek9g4k= +github.com/gin-contrib/cors v1.7.4/go.mod h1:vGc/APSgLMlQfEJV5NAzkrAHb0C8DetL3K6QZuvGii0= github.com/gin-contrib/gzip v1.2.2 h1:iUU/EYCM8ENfkjmZaVrxbjF/ZC267Iqv5S0MMCMEliI= github.com/gin-contrib/gzip v1.2.2/go.mod h1:C1a5cacjlDsS20cKnHlZRCPUu57D3qH6B2pV0rl+Y/s= github.com/gin-contrib/sessions v1.0.2 h1:UaIjUvTH1cMeOdj3in6dl+Xb6It8RiKRF9Z1anbUyCA= @@ -388,8 +388,8 @@ github.com/spf13/cobra v1.9.1 h1:CXSaggrXdbHK9CF+8ywj8Amf7PBRmPCOJugH954Nnlo= github.com/spf13/cobra v1.9.1/go.mod h1:nDyEzZ8ogv936Cinf6g1RU9MRY64Ir93oCnqb9wxYW0= github.com/spf13/pflag v1.0.6 h1:jFzHGLGAlb3ruxLB8MhbI6A8+AQX/2eW4qeyNZXNp2o= github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.20.0 h1:zrxIyR3RQIOsarIrgL8+sAvALXul9jeEPa06Y0Ph6vY= -github.com/spf13/viper v1.20.0/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= +github.com/spf13/viper v1.20.1 h1:ZMi+z/lvLyPSCoNtFCpqjy0S4kPbirhpTMwl8BkW9X4= +github.com/spf13/viper v1.20.1/go.mod h1:P9Mdzt1zoHIG8m2eZQinpiBjo6kCmZSKBClNNqjJvu4= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= @@ -406,8 +406,8 @@ github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOf github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= -github.com/tdewolff/minify/v2 v2.22.3 h1:iWXbYdEwvyMXq+KoZlM7Aybp2ASq1VTibUIUxtiyfWo= -github.com/tdewolff/minify/v2 v2.22.3/go.mod h1:K/R8TT7aivpcU8QCNUU1UdR6etfnFPr7L11TO/X7shk= +github.com/tdewolff/minify/v2 v2.22.4 h1:0/8K2fheOuYr5B4e5oCE1hGBVX6DQHLP0EGzdsDlYeg= +github.com/tdewolff/minify/v2 v2.22.4/go.mod h1:K/R8TT7aivpcU8QCNUU1UdR6etfnFPr7L11TO/X7shk= github.com/tdewolff/parse/v2 v2.7.21 h1:OCuPFtGr4mXdnfKikQlUb0n654ROJANhBqCk+wioJ/A= github.com/tdewolff/parse/v2 v2.7.21/go.mod h1:I7TXO37t3aSG9SlPUBefAhgIF8nt7yYUwVGgETIoBcA= github.com/tdewolff/test v1.0.11 h1:FdLbwQVHxqG16SlkGveC0JVyrJN62COWTRyUFzfbtBE= @@ -554,8 +554,8 @@ golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= -golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c= -golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.38.0 h1:vRMAPTMaeGqVhG5QyLJHqNDwecKTomGeqbnfZyKlBI8= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= golang.org/x/oauth2 v0.27.0 h1:da9Vo7/tDv5RH/7nZDz1eMGS/q1Vv1N/7FCrBhI9I3M= golang.org/x/oauth2 v0.27.0/go.mod h1:onh5ek6nERTohokkhCD/y2cV4Do3fxFHFuAejCkRWT8= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= diff --git a/vendor/github.com/gin-contrib/cors/.golangci.yml b/vendor/github.com/gin-contrib/cors/.golangci.yml index d59c99bd4..67edf0ac8 100644 --- a/vendor/github.com/gin-contrib/cors/.golangci.yml +++ b/vendor/github.com/gin-contrib/cors/.golangci.yml @@ -7,7 +7,6 @@ linters: - dogsled - dupl - errcheck - - exportloopref - exhaustive - gochecknoinits - goconst diff --git a/vendor/github.com/gin-contrib/cors/config.go b/vendor/github.com/gin-contrib/cors/config.go index 8a295e3db..a955c3171 100644 --- a/vendor/github.com/gin-contrib/cors/config.go +++ b/vendor/github.com/gin-contrib/cors/config.go @@ -2,6 +2,7 @@ package cors import ( "net/http" + "regexp" "strings" "github.com/gin-gonic/gin" @@ -122,21 +123,32 @@ func (cors *cors) isOriginValid(c *gin.Context, origin string) bool { return valid } +var originRegex = regexp.MustCompile(`^/(.+)/[gimuy]?$`) + func (cors *cors) validateOrigin(origin string) bool { if cors.allowAllOrigins { return true } + for _, value := range cors.allowOrigins { - if value == origin { + if !originRegex.MatchString(value) && value == origin { + return true + } + + if originRegex.MatchString(value) && + regexp.MustCompile(originRegex.FindStringSubmatch(value)[1]).MatchString(origin) { return true } } + if len(cors.wildcardOrigins) > 0 && cors.validateWildcardOrigin(origin) { return true } + if cors.allowOriginFunc != nil { return cors.allowOriginFunc(origin) } + return false } diff --git a/vendor/github.com/gin-contrib/cors/cors.go b/vendor/github.com/gin-contrib/cors/cors.go index 2261df759..cacb34a6c 100644 --- a/vendor/github.com/gin-contrib/cors/cors.go +++ b/vendor/github.com/gin-contrib/cors/cors.go @@ -3,6 +3,7 @@ package cors import ( "errors" "fmt" + "regexp" "strings" "time" @@ -103,8 +104,17 @@ func (c Config) getAllowedSchemas() []string { return allowedSchemas } +var regexpBasedOrigin = regexp.MustCompile(`^\/(.+)\/[gimuy]?$`) + func (c Config) validateAllowedSchemas(origin string) bool { allowedSchemas := c.getAllowedSchemas() + + if regexpBasedOrigin.MatchString(origin) { + // Normalize regexp-based origins + origin = regexpBasedOrigin.FindStringSubmatch(origin)[1] + origin = strings.Replace(origin, "?", "", 1) + } + for _, schema := range allowedSchemas { if strings.HasPrefix(origin, schema) { return true diff --git a/vendor/github.com/spf13/viper/viper.go b/vendor/github.com/spf13/viper/viper.go index f900e58b1..a58d757bd 100644 --- a/vendor/github.com/spf13/viper/viper.go +++ b/vendor/github.com/spf13/viper/viper.go @@ -1535,27 +1535,29 @@ func (v *Viper) MergeInConfig() error { func ReadConfig(in io.Reader) error { return v.ReadConfig(in) } func (v *Viper) ReadConfig(in io.Reader) error { - if v.configType == "" { - return errors.New("cannot decode configuration: config type is not set") + config := make(map[string]any) + + err := v.unmarshalReader(in, config) + if err != nil { + return err } - v.config = make(map[string]any) - return v.unmarshalReader(in, v.config) + v.config = config + + return nil } // MergeConfig merges a new configuration with an existing config. func MergeConfig(in io.Reader) error { return v.MergeConfig(in) } func (v *Viper) MergeConfig(in io.Reader) error { - if v.configType == "" { - return errors.New("cannot decode configuration: config type is not set") - } + config := make(map[string]any) - cfg := make(map[string]any) - if err := v.unmarshalReader(in, cfg); err != nil { + if err := v.unmarshalReader(in, config); err != nil { return err } - return v.MergeConfigMap(cfg) + + return v.MergeConfigMap(config) } // MergeConfigMap merges the configuration from the map given with an existing config. @@ -1662,15 +1664,21 @@ func (v *Viper) writeConfig(filename string, force bool) error { } func (v *Viper) unmarshalReader(in io.Reader, c map[string]any) error { + format := strings.ToLower(v.getConfigType()) + if format == "" { + return errors.New("cannot decode configuration: unable to determine config type") + } + buf := new(bytes.Buffer) buf.ReadFrom(in) - format := strings.ToLower(v.getConfigType()) - + // TODO: remove this once SupportedExts is deprecated/removed if !slices.Contains(SupportedExts, format) { return UnsupportedConfigError(format) } + // TODO: return [UnsupportedConfigError] if the registry does not contain the format + // TODO: consider deprecating this error type decoder, err := v.decoderRegistry.Decoder(format) if err != nil { return ConfigParseError{err} diff --git a/vendor/golang.org/x/net/html/atom/table.go b/vendor/golang.org/x/net/html/atom/table.go index 2a938864c..b460e6f72 100644 --- a/vendor/golang.org/x/net/html/atom/table.go +++ b/vendor/golang.org/x/net/html/atom/table.go @@ -11,23 +11,23 @@ const ( AcceptCharset Atom = 0x1a0e Accesskey Atom = 0x2c09 Acronym Atom = 0xaa07 - Action Atom = 0x27206 - Address Atom = 0x6f307 + Action Atom = 0x26506 + Address Atom = 0x6f107 Align Atom = 0xb105 - Allowfullscreen Atom = 0x2080f + Allowfullscreen Atom = 0x3280f Allowpaymentrequest Atom = 0xc113 Allowusermedia Atom = 0xdd0e Alt Atom = 0xf303 Annotation Atom = 0x1c90a AnnotationXml Atom = 0x1c90e - Applet Atom = 0x31906 - Area Atom = 0x35604 - Article Atom = 0x3fc07 + Applet Atom = 0x30806 + Area Atom = 0x35004 + Article Atom = 0x3f607 As Atom = 0x3c02 Aside Atom = 0x10705 Async Atom = 0xff05 Audio Atom = 0x11505 - Autocomplete Atom = 0x2780c + Autocomplete Atom = 0x26b0c Autofocus Atom = 0x12109 Autoplay Atom = 0x13c08 B Atom = 0x101 @@ -43,34 +43,34 @@ const ( Br Atom = 0x202 Button Atom = 0x19106 Canvas Atom = 0x10306 - Caption Atom = 0x23107 - Center Atom = 0x22006 - Challenge Atom = 0x29b09 + Caption Atom = 0x22407 + Center Atom = 0x21306 + Challenge Atom = 0x28e09 Charset Atom = 0x2107 - Checked Atom = 0x47907 + Checked Atom = 0x5b507 Cite Atom = 0x19c04 - Class Atom = 0x56405 - Code Atom = 0x5c504 + Class Atom = 0x55805 + Code Atom = 0x5ee04 Col Atom = 0x1ab03 Colgroup Atom = 0x1ab08 Color Atom = 0x1bf05 Cols Atom = 0x1c404 Colspan Atom = 0x1c407 Command Atom = 0x1d707 - Content Atom = 0x58b07 - Contenteditable Atom = 0x58b0f - Contextmenu Atom = 0x3800b + Content Atom = 0x57b07 + Contenteditable Atom = 0x57b0f + Contextmenu Atom = 0x37a0b Controls Atom = 0x1de08 - Coords Atom = 0x1ea06 - Crossorigin Atom = 0x1fb0b - Data Atom = 0x4a504 - Datalist Atom = 0x4a508 - Datetime Atom = 0x2b808 - Dd Atom = 0x2d702 + Coords Atom = 0x1f006 + Crossorigin Atom = 0x1fa0b + Data Atom = 0x49904 + Datalist Atom = 0x49908 + Datetime Atom = 0x2ab08 + Dd Atom = 0x2bf02 Default Atom = 0x10a07 - Defer Atom = 0x5c705 - Del Atom = 0x45203 - Desc Atom = 0x56104 + Defer Atom = 0x5f005 + Del Atom = 0x44c03 + Desc Atom = 0x55504 Details Atom = 0x7207 Dfn Atom = 0x8703 Dialog Atom = 0xbb06 @@ -78,106 +78,106 @@ const ( Dirname Atom = 0x9307 Disabled Atom = 0x16408 Div Atom = 0x16b03 - Dl Atom = 0x5e602 - Download Atom = 0x46308 + Dl Atom = 0x5d602 + Download Atom = 0x45d08 Draggable Atom = 0x17a09 - Dropzone Atom = 0x40508 - Dt Atom = 0x64b02 + Dropzone Atom = 0x3ff08 + Dt Atom = 0x64002 Em Atom = 0x6e02 Embed Atom = 0x6e05 - Enctype Atom = 0x28d07 - Face Atom = 0x21e04 - Fieldset Atom = 0x22608 - Figcaption Atom = 0x22e0a - Figure Atom = 0x24806 + Enctype Atom = 0x28007 + Face Atom = 0x21104 + Fieldset Atom = 0x21908 + Figcaption Atom = 0x2210a + Figure Atom = 0x23b06 Font Atom = 0x3f04 Footer Atom = 0xf606 - For Atom = 0x25403 - ForeignObject Atom = 0x2540d - Foreignobject Atom = 0x2610d - Form Atom = 0x26e04 - Formaction Atom = 0x26e0a - Formenctype Atom = 0x2890b - Formmethod Atom = 0x2a40a - Formnovalidate Atom = 0x2ae0e - Formtarget Atom = 0x2c00a + For Atom = 0x24703 + ForeignObject Atom = 0x2470d + Foreignobject Atom = 0x2540d + Form Atom = 0x26104 + Formaction Atom = 0x2610a + Formenctype Atom = 0x27c0b + Formmethod Atom = 0x2970a + Formnovalidate Atom = 0x2a10e + Formtarget Atom = 0x2b30a Frame Atom = 0x8b05 Frameset Atom = 0x8b08 H1 Atom = 0x15c02 - H2 Atom = 0x2de02 - H3 Atom = 0x30d02 - H4 Atom = 0x34502 - H5 Atom = 0x34f02 - H6 Atom = 0x64d02 - Head Atom = 0x33104 - Header Atom = 0x33106 - Headers Atom = 0x33107 + H2 Atom = 0x56102 + H3 Atom = 0x2cd02 + H4 Atom = 0x2fc02 + H5 Atom = 0x33f02 + H6 Atom = 0x34902 + Head Atom = 0x32004 + Header Atom = 0x32006 + Headers Atom = 0x32007 Height Atom = 0x5206 - Hgroup Atom = 0x2ca06 - Hidden Atom = 0x2d506 - High Atom = 0x2db04 + Hgroup Atom = 0x64206 + Hidden Atom = 0x2bd06 + High Atom = 0x2ca04 Hr Atom = 0x15702 - Href Atom = 0x2e004 - Hreflang Atom = 0x2e008 + Href Atom = 0x2cf04 + Hreflang Atom = 0x2cf08 Html Atom = 0x5604 - HttpEquiv Atom = 0x2e80a + HttpEquiv Atom = 0x2d70a I Atom = 0x601 - Icon Atom = 0x58a04 + Icon Atom = 0x57a04 Id Atom = 0x10902 - Iframe Atom = 0x2fc06 - Image Atom = 0x30205 - Img Atom = 0x30703 - Input Atom = 0x44b05 - Inputmode Atom = 0x44b09 - Ins Atom = 0x20403 - Integrity Atom = 0x23f09 + Iframe Atom = 0x2eb06 + Image Atom = 0x2f105 + Img Atom = 0x2f603 + Input Atom = 0x44505 + Inputmode Atom = 0x44509 + Ins Atom = 0x20303 + Integrity Atom = 0x23209 Is Atom = 0x16502 - Isindex Atom = 0x30f07 - Ismap Atom = 0x31605 - Itemid Atom = 0x38b06 + Isindex Atom = 0x2fe07 + Ismap Atom = 0x30505 + Itemid Atom = 0x38506 Itemprop Atom = 0x19d08 - Itemref Atom = 0x3cd07 - Itemscope Atom = 0x67109 - Itemtype Atom = 0x31f08 + Itemref Atom = 0x3c707 + Itemscope Atom = 0x66f09 + Itemtype Atom = 0x30e08 Kbd Atom = 0xb903 Keygen Atom = 0x3206 Keytype Atom = 0xd607 Kind Atom = 0x17704 Label Atom = 0x5905 - Lang Atom = 0x2e404 + Lang Atom = 0x2d304 Legend Atom = 0x18106 Li Atom = 0xb202 Link Atom = 0x17404 - List Atom = 0x4a904 - Listing Atom = 0x4a907 + List Atom = 0x49d04 + Listing Atom = 0x49d07 Loop Atom = 0x5d04 Low Atom = 0xc303 Main Atom = 0x1004 Malignmark Atom = 0xb00a - Manifest Atom = 0x6d708 - Map Atom = 0x31803 + Manifest Atom = 0x6d508 + Map Atom = 0x30703 Mark Atom = 0xb604 - Marquee Atom = 0x32707 - Math Atom = 0x32e04 - Max Atom = 0x33d03 - Maxlength Atom = 0x33d09 + Marquee Atom = 0x31607 + Math Atom = 0x31d04 + Max Atom = 0x33703 + Maxlength Atom = 0x33709 Media Atom = 0xe605 Mediagroup Atom = 0xe60a - Menu Atom = 0x38704 - Menuitem Atom = 0x38708 - Meta Atom = 0x4b804 + Menu Atom = 0x38104 + Menuitem Atom = 0x38108 + Meta Atom = 0x4ac04 Meter Atom = 0x9805 - Method Atom = 0x2a806 - Mglyph Atom = 0x30806 - Mi Atom = 0x34702 - Min Atom = 0x34703 - Minlength Atom = 0x34709 - Mn Atom = 0x2b102 + Method Atom = 0x29b06 + Mglyph Atom = 0x2f706 + Mi Atom = 0x34102 + Min Atom = 0x34103 + Minlength Atom = 0x34109 + Mn Atom = 0x2a402 Mo Atom = 0xa402 - Ms Atom = 0x67402 - Mtext Atom = 0x35105 - Multiple Atom = 0x35f08 - Muted Atom = 0x36705 + Ms Atom = 0x67202 + Mtext Atom = 0x34b05 + Multiple Atom = 0x35908 + Muted Atom = 0x36105 Name Atom = 0x9604 Nav Atom = 0x1303 Nobr Atom = 0x3704 @@ -185,101 +185,101 @@ const ( Noframes Atom = 0x8908 Nomodule Atom = 0xa208 Nonce Atom = 0x1a605 - Noscript Atom = 0x21608 - Novalidate Atom = 0x2b20a - Object Atom = 0x26806 + Noscript Atom = 0x2c208 + Novalidate Atom = 0x2a50a + Object Atom = 0x25b06 Ol Atom = 0x13702 Onabort Atom = 0x19507 - Onafterprint Atom = 0x2360c - Onautocomplete Atom = 0x2760e - Onautocompleteerror Atom = 0x27613 - Onauxclick Atom = 0x61f0a - Onbeforeprint Atom = 0x69e0d - Onbeforeunload Atom = 0x6e70e - Onblur Atom = 0x56d06 + Onafterprint Atom = 0x2290c + Onautocomplete Atom = 0x2690e + Onautocompleteerror Atom = 0x26913 + Onauxclick Atom = 0x6140a + Onbeforeprint Atom = 0x69c0d + Onbeforeunload Atom = 0x6e50e + Onblur Atom = 0x1ea06 Oncancel Atom = 0x11908 Oncanplay Atom = 0x14d09 Oncanplaythrough Atom = 0x14d10 - Onchange Atom = 0x41b08 - Onclick Atom = 0x2f507 - Onclose Atom = 0x36c07 - Oncontextmenu Atom = 0x37e0d - Oncopy Atom = 0x39106 - Oncuechange Atom = 0x3970b - Oncut Atom = 0x3a205 - Ondblclick Atom = 0x3a70a - Ondrag Atom = 0x3b106 - Ondragend Atom = 0x3b109 - Ondragenter Atom = 0x3ba0b - Ondragexit Atom = 0x3c50a - Ondragleave Atom = 0x3df0b - Ondragover Atom = 0x3ea0a - Ondragstart Atom = 0x3f40b - Ondrop Atom = 0x40306 - Ondurationchange Atom = 0x41310 - Onemptied Atom = 0x40a09 - Onended Atom = 0x42307 - Onerror Atom = 0x42a07 - Onfocus Atom = 0x43107 - Onhashchange Atom = 0x43d0c - Oninput Atom = 0x44907 - Oninvalid Atom = 0x45509 - Onkeydown Atom = 0x45e09 - Onkeypress Atom = 0x46b0a - Onkeyup Atom = 0x48007 - Onlanguagechange Atom = 0x48d10 - Onload Atom = 0x49d06 - Onloadeddata Atom = 0x49d0c - Onloadedmetadata Atom = 0x4b010 - Onloadend Atom = 0x4c609 - Onloadstart Atom = 0x4cf0b - Onmessage Atom = 0x4da09 - Onmessageerror Atom = 0x4da0e - Onmousedown Atom = 0x4e80b - Onmouseenter Atom = 0x4f30c - Onmouseleave Atom = 0x4ff0c - Onmousemove Atom = 0x50b0b - Onmouseout Atom = 0x5160a - Onmouseover Atom = 0x5230b - Onmouseup Atom = 0x52e09 - Onmousewheel Atom = 0x53c0c - Onoffline Atom = 0x54809 - Ononline Atom = 0x55108 - Onpagehide Atom = 0x5590a - Onpageshow Atom = 0x5730a - Onpaste Atom = 0x57f07 - Onpause Atom = 0x59a07 - Onplay Atom = 0x5a406 - Onplaying Atom = 0x5a409 - Onpopstate Atom = 0x5ad0a - Onprogress Atom = 0x5b70a - Onratechange Atom = 0x5cc0c - Onrejectionhandled Atom = 0x5d812 - Onreset Atom = 0x5ea07 - Onresize Atom = 0x5f108 - Onscroll Atom = 0x60008 - Onsecuritypolicyviolation Atom = 0x60819 - Onseeked Atom = 0x62908 - Onseeking Atom = 0x63109 - Onselect Atom = 0x63a08 - Onshow Atom = 0x64406 - Onsort Atom = 0x64f06 - Onstalled Atom = 0x65909 - Onstorage Atom = 0x66209 - Onsubmit Atom = 0x66b08 - Onsuspend Atom = 0x67b09 + Onchange Atom = 0x41508 + Onclick Atom = 0x2e407 + Onclose Atom = 0x36607 + Oncontextmenu Atom = 0x3780d + Oncopy Atom = 0x38b06 + Oncuechange Atom = 0x3910b + Oncut Atom = 0x39c05 + Ondblclick Atom = 0x3a10a + Ondrag Atom = 0x3ab06 + Ondragend Atom = 0x3ab09 + Ondragenter Atom = 0x3b40b + Ondragexit Atom = 0x3bf0a + Ondragleave Atom = 0x3d90b + Ondragover Atom = 0x3e40a + Ondragstart Atom = 0x3ee0b + Ondrop Atom = 0x3fd06 + Ondurationchange Atom = 0x40d10 + Onemptied Atom = 0x40409 + Onended Atom = 0x41d07 + Onerror Atom = 0x42407 + Onfocus Atom = 0x42b07 + Onhashchange Atom = 0x4370c + Oninput Atom = 0x44307 + Oninvalid Atom = 0x44f09 + Onkeydown Atom = 0x45809 + Onkeypress Atom = 0x4650a + Onkeyup Atom = 0x47407 + Onlanguagechange Atom = 0x48110 + Onload Atom = 0x49106 + Onloadeddata Atom = 0x4910c + Onloadedmetadata Atom = 0x4a410 + Onloadend Atom = 0x4ba09 + Onloadstart Atom = 0x4c30b + Onmessage Atom = 0x4ce09 + Onmessageerror Atom = 0x4ce0e + Onmousedown Atom = 0x4dc0b + Onmouseenter Atom = 0x4e70c + Onmouseleave Atom = 0x4f30c + Onmousemove Atom = 0x4ff0b + Onmouseout Atom = 0x50a0a + Onmouseover Atom = 0x5170b + Onmouseup Atom = 0x52209 + Onmousewheel Atom = 0x5300c + Onoffline Atom = 0x53c09 + Ononline Atom = 0x54508 + Onpagehide Atom = 0x54d0a + Onpageshow Atom = 0x5630a + Onpaste Atom = 0x56f07 + Onpause Atom = 0x58a07 + Onplay Atom = 0x59406 + Onplaying Atom = 0x59409 + Onpopstate Atom = 0x59d0a + Onprogress Atom = 0x5a70a + Onratechange Atom = 0x5bc0c + Onrejectionhandled Atom = 0x5c812 + Onreset Atom = 0x5da07 + Onresize Atom = 0x5e108 + Onscroll Atom = 0x5f508 + Onsecuritypolicyviolation Atom = 0x5fd19 + Onseeked Atom = 0x61e08 + Onseeking Atom = 0x62609 + Onselect Atom = 0x62f08 + Onshow Atom = 0x63906 + Onsort Atom = 0x64d06 + Onstalled Atom = 0x65709 + Onstorage Atom = 0x66009 + Onsubmit Atom = 0x66908 + Onsuspend Atom = 0x67909 Ontimeupdate Atom = 0x400c - Ontoggle Atom = 0x68408 - Onunhandledrejection Atom = 0x68c14 - Onunload Atom = 0x6ab08 - Onvolumechange Atom = 0x6b30e - Onwaiting Atom = 0x6c109 - Onwheel Atom = 0x6ca07 + Ontoggle Atom = 0x68208 + Onunhandledrejection Atom = 0x68a14 + Onunload Atom = 0x6a908 + Onvolumechange Atom = 0x6b10e + Onwaiting Atom = 0x6bf09 + Onwheel Atom = 0x6c807 Open Atom = 0x1a304 Optgroup Atom = 0x5f08 - Optimum Atom = 0x6d107 - Option Atom = 0x6e306 - Output Atom = 0x51d06 + Optimum Atom = 0x6cf07 + Option Atom = 0x6e106 + Output Atom = 0x51106 P Atom = 0xc01 Param Atom = 0xc05 Pattern Atom = 0x6607 @@ -288,466 +288,468 @@ const ( Placeholder Atom = 0x1310b Plaintext Atom = 0x1b209 Playsinline Atom = 0x1400b - Poster Atom = 0x2cf06 - Pre Atom = 0x47003 - Preload Atom = 0x48607 - Progress Atom = 0x5b908 - Prompt Atom = 0x53606 - Public Atom = 0x58606 + Poster Atom = 0x64706 + Pre Atom = 0x46a03 + Preload Atom = 0x47a07 + Progress Atom = 0x5a908 + Prompt Atom = 0x52a06 + Public Atom = 0x57606 Q Atom = 0xcf01 Radiogroup Atom = 0x30a Rb Atom = 0x3a02 - Readonly Atom = 0x35708 - Referrerpolicy Atom = 0x3d10e - Rel Atom = 0x48703 - Required Atom = 0x24c08 + Readonly Atom = 0x35108 + Referrerpolicy Atom = 0x3cb0e + Rel Atom = 0x47b03 + Required Atom = 0x23f08 Reversed Atom = 0x8008 Rows Atom = 0x9c04 Rowspan Atom = 0x9c07 - Rp Atom = 0x23c02 + Rp Atom = 0x22f02 Rt Atom = 0x19a02 Rtc Atom = 0x19a03 Ruby Atom = 0xfb04 S Atom = 0x2501 Samp Atom = 0x7804 Sandbox Atom = 0x12907 - Scope Atom = 0x67505 - Scoped Atom = 0x67506 - Script Atom = 0x21806 - Seamless Atom = 0x37108 - Section Atom = 0x56807 - Select Atom = 0x63c06 - Selected Atom = 0x63c08 - Shape Atom = 0x1e505 - Size Atom = 0x5f504 - Sizes Atom = 0x5f505 - Slot Atom = 0x1ef04 - Small Atom = 0x20605 - Sortable Atom = 0x65108 - Sorted Atom = 0x33706 - Source Atom = 0x37806 - Spacer Atom = 0x43706 + Scope Atom = 0x67305 + Scoped Atom = 0x67306 + Script Atom = 0x2c406 + Seamless Atom = 0x36b08 + Search Atom = 0x55c06 + Section Atom = 0x1e507 + Select Atom = 0x63106 + Selected Atom = 0x63108 + Shape Atom = 0x1f505 + Size Atom = 0x5e504 + Sizes Atom = 0x5e505 + Slot Atom = 0x20504 + Small Atom = 0x32605 + Sortable Atom = 0x64f08 + Sorted Atom = 0x37206 + Source Atom = 0x43106 + Spacer Atom = 0x46e06 Span Atom = 0x9f04 - Spellcheck Atom = 0x4740a - Src Atom = 0x5c003 - Srcdoc Atom = 0x5c006 - Srclang Atom = 0x5f907 - Srcset Atom = 0x6f906 - Start Atom = 0x3fa05 - Step Atom = 0x58304 + Spellcheck Atom = 0x5b00a + Src Atom = 0x5e903 + Srcdoc Atom = 0x5e906 + Srclang Atom = 0x6f707 + Srcset Atom = 0x6fe06 + Start Atom = 0x3f405 + Step Atom = 0x57304 Strike Atom = 0xd206 - Strong Atom = 0x6dd06 - Style Atom = 0x6ff05 - Sub Atom = 0x66d03 - Summary Atom = 0x70407 - Sup Atom = 0x70b03 - Svg Atom = 0x70e03 - System Atom = 0x71106 - Tabindex Atom = 0x4be08 - Table Atom = 0x59505 - Target Atom = 0x2c406 + Strong Atom = 0x6db06 + Style Atom = 0x70405 + Sub Atom = 0x66b03 + Summary Atom = 0x70907 + Sup Atom = 0x71003 + Svg Atom = 0x71303 + System Atom = 0x71606 + Tabindex Atom = 0x4b208 + Table Atom = 0x58505 + Target Atom = 0x2b706 Tbody Atom = 0x2705 Td Atom = 0x9202 - Template Atom = 0x71408 - Textarea Atom = 0x35208 + Template Atom = 0x71908 + Textarea Atom = 0x34c08 Tfoot Atom = 0xf505 Th Atom = 0x15602 - Thead Atom = 0x33005 + Thead Atom = 0x31f05 Time Atom = 0x4204 Title Atom = 0x11005 Tr Atom = 0xcc02 Track Atom = 0x1ba05 - Translate Atom = 0x1f209 + Translate Atom = 0x20809 Tt Atom = 0x6802 Type Atom = 0xd904 - Typemustmatch Atom = 0x2900d + Typemustmatch Atom = 0x2830d U Atom = 0xb01 Ul Atom = 0xa702 Updateviacache Atom = 0x460e - Usemap Atom = 0x59e06 + Usemap Atom = 0x58e06 Value Atom = 0x1505 Var Atom = 0x16d03 - Video Atom = 0x2f105 - Wbr Atom = 0x57c03 - Width Atom = 0x64905 - Workertype Atom = 0x71c0a - Wrap Atom = 0x72604 + Video Atom = 0x2e005 + Wbr Atom = 0x56c03 + Width Atom = 0x63e05 + Workertype Atom = 0x7210a + Wrap Atom = 0x72b04 Xmp Atom = 0x12f03 ) -const hash0 = 0x81cdf10e +const hash0 = 0x84f70e16 const maxAtomLen = 25 var table = [1 << 9]Atom{ - 0x1: 0xe60a, // mediagroup - 0x2: 0x2e404, // lang - 0x4: 0x2c09, // accesskey - 0x5: 0x8b08, // frameset - 0x7: 0x63a08, // onselect - 0x8: 0x71106, // system - 0xa: 0x64905, // width - 0xc: 0x2890b, // formenctype - 0xd: 0x13702, // ol - 0xe: 0x3970b, // oncuechange - 0x10: 0x14b03, // bdo - 0x11: 0x11505, // audio - 0x12: 0x17a09, // draggable - 0x14: 0x2f105, // video - 0x15: 0x2b102, // mn - 0x16: 0x38704, // menu - 0x17: 0x2cf06, // poster - 0x19: 0xf606, // footer - 0x1a: 0x2a806, // method - 0x1b: 0x2b808, // datetime - 0x1c: 0x19507, // onabort - 0x1d: 0x460e, // updateviacache - 0x1e: 0xff05, // async - 0x1f: 0x49d06, // onload - 0x21: 0x11908, // oncancel - 0x22: 0x62908, // onseeked - 0x23: 0x30205, // image - 0x24: 0x5d812, // onrejectionhandled - 0x26: 0x17404, // link - 0x27: 0x51d06, // output - 0x28: 0x33104, // head - 0x29: 0x4ff0c, // onmouseleave - 0x2a: 0x57f07, // onpaste - 0x2b: 0x5a409, // onplaying - 0x2c: 0x1c407, // colspan - 0x2f: 0x1bf05, // color - 0x30: 0x5f504, // size - 0x31: 0x2e80a, // http-equiv - 0x33: 0x601, // i - 0x34: 0x5590a, // onpagehide - 0x35: 0x68c14, // onunhandledrejection - 0x37: 0x42a07, // onerror - 0x3a: 0x3b08, // basefont - 0x3f: 0x1303, // nav - 0x40: 0x17704, // kind - 0x41: 0x35708, // readonly - 0x42: 0x30806, // mglyph - 0x44: 0xb202, // li - 0x46: 0x2d506, // hidden - 0x47: 0x70e03, // svg - 0x48: 0x58304, // step - 0x49: 0x23f09, // integrity - 0x4a: 0x58606, // public - 0x4c: 0x1ab03, // col - 0x4d: 0x1870a, // blockquote - 0x4e: 0x34f02, // h5 - 0x50: 0x5b908, // progress - 0x51: 0x5f505, // sizes - 0x52: 0x34502, // h4 - 0x56: 0x33005, // thead - 0x57: 0xd607, // keytype - 0x58: 0x5b70a, // onprogress - 0x59: 0x44b09, // inputmode - 0x5a: 0x3b109, // ondragend - 0x5d: 0x3a205, // oncut - 0x5e: 0x43706, // spacer - 0x5f: 0x1ab08, // colgroup - 0x62: 0x16502, // is - 0x65: 0x3c02, // as - 0x66: 0x54809, // onoffline - 0x67: 0x33706, // sorted - 0x69: 0x48d10, // onlanguagechange - 0x6c: 0x43d0c, // onhashchange - 0x6d: 0x9604, // name - 0x6e: 0xf505, // tfoot - 0x6f: 0x56104, // desc - 0x70: 0x33d03, // max - 0x72: 0x1ea06, // coords - 0x73: 0x30d02, // h3 - 0x74: 0x6e70e, // onbeforeunload - 0x75: 0x9c04, // rows - 0x76: 0x63c06, // select - 0x77: 0x9805, // meter - 0x78: 0x38b06, // itemid - 0x79: 0x53c0c, // onmousewheel - 0x7a: 0x5c006, // srcdoc - 0x7d: 0x1ba05, // track - 0x7f: 0x31f08, // itemtype - 0x82: 0xa402, // mo - 0x83: 0x41b08, // onchange - 0x84: 0x33107, // headers - 0x85: 0x5cc0c, // onratechange - 0x86: 0x60819, // onsecuritypolicyviolation - 0x88: 0x4a508, // datalist - 0x89: 0x4e80b, // onmousedown - 0x8a: 0x1ef04, // slot - 0x8b: 0x4b010, // onloadedmetadata - 0x8c: 0x1a06, // accept - 0x8d: 0x26806, // object - 0x91: 0x6b30e, // onvolumechange - 0x92: 0x2107, // charset - 0x93: 0x27613, // onautocompleteerror - 0x94: 0xc113, // allowpaymentrequest - 0x95: 0x2804, // body - 0x96: 0x10a07, // default - 0x97: 0x63c08, // selected - 0x98: 0x21e04, // face - 0x99: 0x1e505, // shape - 0x9b: 0x68408, // ontoggle - 0x9e: 0x64b02, // dt - 0x9f: 0xb604, // mark - 0xa1: 0xb01, // u - 0xa4: 0x6ab08, // onunload - 0xa5: 0x5d04, // loop - 0xa6: 0x16408, // disabled - 0xaa: 0x42307, // onended - 0xab: 0xb00a, // malignmark - 0xad: 0x67b09, // onsuspend - 0xae: 0x35105, // mtext - 0xaf: 0x64f06, // onsort - 0xb0: 0x19d08, // itemprop - 0xb3: 0x67109, // itemscope - 0xb4: 0x17305, // blink - 0xb6: 0x3b106, // ondrag - 0xb7: 0xa702, // ul - 0xb8: 0x26e04, // form - 0xb9: 0x12907, // sandbox - 0xba: 0x8b05, // frame - 0xbb: 0x1505, // value - 0xbc: 0x66209, // onstorage - 0xbf: 0xaa07, // acronym - 0xc0: 0x19a02, // rt - 0xc2: 0x202, // br - 0xc3: 0x22608, // fieldset - 0xc4: 0x2900d, // typemustmatch - 0xc5: 0xa208, // nomodule - 0xc6: 0x6c07, // noembed - 0xc7: 0x69e0d, // onbeforeprint - 0xc8: 0x19106, // button - 0xc9: 0x2f507, // onclick - 0xca: 0x70407, // summary - 0xcd: 0xfb04, // ruby - 0xce: 0x56405, // class - 0xcf: 0x3f40b, // ondragstart - 0xd0: 0x23107, // caption - 0xd4: 0xdd0e, // allowusermedia - 0xd5: 0x4cf0b, // onloadstart - 0xd9: 0x16b03, // div - 0xda: 0x4a904, // list - 0xdb: 0x32e04, // math - 0xdc: 0x44b05, // input - 0xdf: 0x3ea0a, // ondragover - 0xe0: 0x2de02, // h2 - 0xe2: 0x1b209, // plaintext - 0xe4: 0x4f30c, // onmouseenter - 0xe7: 0x47907, // checked - 0xe8: 0x47003, // pre - 0xea: 0x35f08, // multiple - 0xeb: 0xba03, // bdi - 0xec: 0x33d09, // maxlength - 0xed: 0xcf01, // q - 0xee: 0x61f0a, // onauxclick - 0xf0: 0x57c03, // wbr - 0xf2: 0x3b04, // base - 0xf3: 0x6e306, // option - 0xf5: 0x41310, // ondurationchange - 0xf7: 0x8908, // noframes - 0xf9: 0x40508, // dropzone - 0xfb: 0x67505, // scope - 0xfc: 0x8008, // reversed - 0xfd: 0x3ba0b, // ondragenter - 0xfe: 0x3fa05, // start - 0xff: 0x12f03, // xmp - 0x100: 0x5f907, // srclang - 0x101: 0x30703, // img - 0x104: 0x101, // b - 0x105: 0x25403, // for - 0x106: 0x10705, // aside - 0x107: 0x44907, // oninput - 0x108: 0x35604, // area - 0x109: 0x2a40a, // formmethod - 0x10a: 0x72604, // wrap - 0x10c: 0x23c02, // rp - 0x10d: 0x46b0a, // onkeypress - 0x10e: 0x6802, // tt - 0x110: 0x34702, // mi - 0x111: 0x36705, // muted - 0x112: 0xf303, // alt - 0x113: 0x5c504, // code - 0x114: 0x6e02, // em - 0x115: 0x3c50a, // ondragexit - 0x117: 0x9f04, // span - 0x119: 0x6d708, // manifest - 0x11a: 0x38708, // menuitem - 0x11b: 0x58b07, // content - 0x11d: 0x6c109, // onwaiting - 0x11f: 0x4c609, // onloadend - 0x121: 0x37e0d, // oncontextmenu - 0x123: 0x56d06, // onblur - 0x124: 0x3fc07, // article - 0x125: 0x9303, // dir - 0x126: 0xef04, // ping - 0x127: 0x24c08, // required - 0x128: 0x45509, // oninvalid - 0x129: 0xb105, // align - 0x12b: 0x58a04, // icon - 0x12c: 0x64d02, // h6 - 0x12d: 0x1c404, // cols - 0x12e: 0x22e0a, // figcaption - 0x12f: 0x45e09, // onkeydown - 0x130: 0x66b08, // onsubmit - 0x131: 0x14d09, // oncanplay - 0x132: 0x70b03, // sup - 0x133: 0xc01, // p - 0x135: 0x40a09, // onemptied - 0x136: 0x39106, // oncopy - 0x137: 0x19c04, // cite - 0x138: 0x3a70a, // ondblclick - 0x13a: 0x50b0b, // onmousemove - 0x13c: 0x66d03, // sub - 0x13d: 0x48703, // rel - 0x13e: 0x5f08, // optgroup - 0x142: 0x9c07, // rowspan - 0x143: 0x37806, // source - 0x144: 0x21608, // noscript - 0x145: 0x1a304, // open - 0x146: 0x20403, // ins - 0x147: 0x2540d, // foreignObject - 0x148: 0x5ad0a, // onpopstate - 0x14a: 0x28d07, // enctype - 0x14b: 0x2760e, // onautocomplete - 0x14c: 0x35208, // textarea - 0x14e: 0x2780c, // autocomplete - 0x14f: 0x15702, // hr - 0x150: 0x1de08, // controls - 0x151: 0x10902, // id - 0x153: 0x2360c, // onafterprint - 0x155: 0x2610d, // foreignobject - 0x156: 0x32707, // marquee - 0x157: 0x59a07, // onpause - 0x158: 0x5e602, // dl - 0x159: 0x5206, // height - 0x15a: 0x34703, // min - 0x15b: 0x9307, // dirname - 0x15c: 0x1f209, // translate - 0x15d: 0x5604, // html - 0x15e: 0x34709, // minlength - 0x15f: 0x48607, // preload - 0x160: 0x71408, // template - 0x161: 0x3df0b, // ondragleave - 0x162: 0x3a02, // rb - 0x164: 0x5c003, // src - 0x165: 0x6dd06, // strong - 0x167: 0x7804, // samp - 0x168: 0x6f307, // address - 0x169: 0x55108, // ononline - 0x16b: 0x1310b, // placeholder - 0x16c: 0x2c406, // target - 0x16d: 0x20605, // small - 0x16e: 0x6ca07, // onwheel - 0x16f: 0x1c90a, // annotation - 0x170: 0x4740a, // spellcheck - 0x171: 0x7207, // details - 0x172: 0x10306, // canvas - 0x173: 0x12109, // autofocus - 0x174: 0xc05, // param - 0x176: 0x46308, // download - 0x177: 0x45203, // del - 0x178: 0x36c07, // onclose - 0x179: 0xb903, // kbd - 0x17a: 0x31906, // applet - 0x17b: 0x2e004, // href - 0x17c: 0x5f108, // onresize - 0x17e: 0x49d0c, // onloadeddata - 0x180: 0xcc02, // tr - 0x181: 0x2c00a, // formtarget - 0x182: 0x11005, // title - 0x183: 0x6ff05, // style - 0x184: 0xd206, // strike - 0x185: 0x59e06, // usemap - 0x186: 0x2fc06, // iframe - 0x187: 0x1004, // main - 0x189: 0x7b07, // picture - 0x18c: 0x31605, // ismap - 0x18e: 0x4a504, // data - 0x18f: 0x5905, // label - 0x191: 0x3d10e, // referrerpolicy - 0x192: 0x15602, // th - 0x194: 0x53606, // prompt - 0x195: 0x56807, // section - 0x197: 0x6d107, // optimum - 0x198: 0x2db04, // high - 0x199: 0x15c02, // h1 - 0x19a: 0x65909, // onstalled - 0x19b: 0x16d03, // var - 0x19c: 0x4204, // time - 0x19e: 0x67402, // ms - 0x19f: 0x33106, // header - 0x1a0: 0x4da09, // onmessage - 0x1a1: 0x1a605, // nonce - 0x1a2: 0x26e0a, // formaction - 0x1a3: 0x22006, // center - 0x1a4: 0x3704, // nobr - 0x1a5: 0x59505, // table - 0x1a6: 0x4a907, // listing - 0x1a7: 0x18106, // legend - 0x1a9: 0x29b09, // challenge - 0x1aa: 0x24806, // figure - 0x1ab: 0xe605, // media - 0x1ae: 0xd904, // type - 0x1af: 0x3f04, // font - 0x1b0: 0x4da0e, // onmessageerror - 0x1b1: 0x37108, // seamless - 0x1b2: 0x8703, // dfn - 0x1b3: 0x5c705, // defer - 0x1b4: 0xc303, // low - 0x1b5: 0x19a03, // rtc - 0x1b6: 0x5230b, // onmouseover - 0x1b7: 0x2b20a, // novalidate - 0x1b8: 0x71c0a, // workertype - 0x1ba: 0x3cd07, // itemref - 0x1bd: 0x1, // a - 0x1be: 0x31803, // map - 0x1bf: 0x400c, // ontimeupdate - 0x1c0: 0x15e07, // bgsound - 0x1c1: 0x3206, // keygen - 0x1c2: 0x2705, // tbody - 0x1c5: 0x64406, // onshow - 0x1c7: 0x2501, // s - 0x1c8: 0x6607, // pattern - 0x1cc: 0x14d10, // oncanplaythrough - 0x1ce: 0x2d702, // dd - 0x1cf: 0x6f906, // srcset - 0x1d0: 0x17003, // big - 0x1d2: 0x65108, // sortable - 0x1d3: 0x48007, // onkeyup - 0x1d5: 0x5a406, // onplay - 0x1d7: 0x4b804, // meta - 0x1d8: 0x40306, // ondrop - 0x1da: 0x60008, // onscroll - 0x1db: 0x1fb0b, // crossorigin - 0x1dc: 0x5730a, // onpageshow - 0x1dd: 0x4, // abbr - 0x1de: 0x9202, // td - 0x1df: 0x58b0f, // contenteditable - 0x1e0: 0x27206, // action - 0x1e1: 0x1400b, // playsinline - 0x1e2: 0x43107, // onfocus - 0x1e3: 0x2e008, // hreflang - 0x1e5: 0x5160a, // onmouseout - 0x1e6: 0x5ea07, // onreset - 0x1e7: 0x13c08, // autoplay - 0x1e8: 0x63109, // onseeking - 0x1ea: 0x67506, // scoped - 0x1ec: 0x30a, // radiogroup - 0x1ee: 0x3800b, // contextmenu - 0x1ef: 0x52e09, // onmouseup - 0x1f1: 0x2ca06, // hgroup - 0x1f2: 0x2080f, // allowfullscreen - 0x1f3: 0x4be08, // tabindex - 0x1f6: 0x30f07, // isindex - 0x1f7: 0x1a0e, // accept-charset - 0x1f8: 0x2ae0e, // formnovalidate - 0x1fb: 0x1c90e, // annotation-xml - 0x1fc: 0x6e05, // embed - 0x1fd: 0x21806, // script - 0x1fe: 0xbb06, // dialog - 0x1ff: 0x1d707, // command + 0x1: 0x3ff08, // dropzone + 0x2: 0x3b08, // basefont + 0x3: 0x23209, // integrity + 0x4: 0x43106, // source + 0x5: 0x2c09, // accesskey + 0x6: 0x1a06, // accept + 0x7: 0x6c807, // onwheel + 0xb: 0x47407, // onkeyup + 0xc: 0x32007, // headers + 0xd: 0x67306, // scoped + 0xe: 0x67909, // onsuspend + 0xf: 0x8908, // noframes + 0x10: 0x1fa0b, // crossorigin + 0x11: 0x2e407, // onclick + 0x12: 0x3f405, // start + 0x13: 0x37a0b, // contextmenu + 0x14: 0x5e903, // src + 0x15: 0x1c404, // cols + 0x16: 0xbb06, // dialog + 0x17: 0x47a07, // preload + 0x18: 0x3c707, // itemref + 0x1b: 0x2f105, // image + 0x1d: 0x4ba09, // onloadend + 0x1e: 0x45d08, // download + 0x1f: 0x46a03, // pre + 0x23: 0x2970a, // formmethod + 0x24: 0x71303, // svg + 0x25: 0xcf01, // q + 0x26: 0x64002, // dt + 0x27: 0x1de08, // controls + 0x2a: 0x2804, // body + 0x2b: 0xd206, // strike + 0x2c: 0x3910b, // oncuechange + 0x2d: 0x4c30b, // onloadstart + 0x2e: 0x2fe07, // isindex + 0x2f: 0xb202, // li + 0x30: 0x1400b, // playsinline + 0x31: 0x34102, // mi + 0x32: 0x30806, // applet + 0x33: 0x4ce09, // onmessage + 0x35: 0x13702, // ol + 0x36: 0x1a304, // open + 0x39: 0x14d09, // oncanplay + 0x3a: 0x6bf09, // onwaiting + 0x3b: 0x11908, // oncancel + 0x3c: 0x6a908, // onunload + 0x3e: 0x53c09, // onoffline + 0x3f: 0x1a0e, // accept-charset + 0x40: 0x32004, // head + 0x42: 0x3ab09, // ondragend + 0x43: 0x1310b, // placeholder + 0x44: 0x2b30a, // formtarget + 0x45: 0x2540d, // foreignobject + 0x47: 0x400c, // ontimeupdate + 0x48: 0xdd0e, // allowusermedia + 0x4a: 0x69c0d, // onbeforeprint + 0x4b: 0x5604, // html + 0x4c: 0x9f04, // span + 0x4d: 0x64206, // hgroup + 0x4e: 0x16408, // disabled + 0x4f: 0x4204, // time + 0x51: 0x42b07, // onfocus + 0x53: 0xb00a, // malignmark + 0x55: 0x4650a, // onkeypress + 0x56: 0x55805, // class + 0x57: 0x1ab08, // colgroup + 0x58: 0x33709, // maxlength + 0x59: 0x5a908, // progress + 0x5b: 0x70405, // style + 0x5c: 0x2a10e, // formnovalidate + 0x5e: 0x38b06, // oncopy + 0x60: 0x26104, // form + 0x61: 0xf606, // footer + 0x64: 0x30a, // radiogroup + 0x66: 0xfb04, // ruby + 0x67: 0x4ff0b, // onmousemove + 0x68: 0x19d08, // itemprop + 0x69: 0x2d70a, // http-equiv + 0x6a: 0x15602, // th + 0x6c: 0x6e02, // em + 0x6d: 0x38108, // menuitem + 0x6e: 0x63106, // select + 0x6f: 0x48110, // onlanguagechange + 0x70: 0x31f05, // thead + 0x71: 0x15c02, // h1 + 0x72: 0x5e906, // srcdoc + 0x75: 0x9604, // name + 0x76: 0x19106, // button + 0x77: 0x55504, // desc + 0x78: 0x17704, // kind + 0x79: 0x1bf05, // color + 0x7c: 0x58e06, // usemap + 0x7d: 0x30e08, // itemtype + 0x7f: 0x6d508, // manifest + 0x81: 0x5300c, // onmousewheel + 0x82: 0x4dc0b, // onmousedown + 0x84: 0xc05, // param + 0x85: 0x2e005, // video + 0x86: 0x4910c, // onloadeddata + 0x87: 0x6f107, // address + 0x8c: 0xef04, // ping + 0x8d: 0x24703, // for + 0x8f: 0x62f08, // onselect + 0x90: 0x30703, // map + 0x92: 0xc01, // p + 0x93: 0x8008, // reversed + 0x94: 0x54d0a, // onpagehide + 0x95: 0x3206, // keygen + 0x96: 0x34109, // minlength + 0x97: 0x3e40a, // ondragover + 0x98: 0x42407, // onerror + 0x9a: 0x2107, // charset + 0x9b: 0x29b06, // method + 0x9c: 0x101, // b + 0x9d: 0x68208, // ontoggle + 0x9e: 0x2bd06, // hidden + 0xa0: 0x3f607, // article + 0xa2: 0x63906, // onshow + 0xa3: 0x64d06, // onsort + 0xa5: 0x57b0f, // contenteditable + 0xa6: 0x66908, // onsubmit + 0xa8: 0x44f09, // oninvalid + 0xaa: 0x202, // br + 0xab: 0x10902, // id + 0xac: 0x5d04, // loop + 0xad: 0x5630a, // onpageshow + 0xb0: 0x2cf04, // href + 0xb2: 0x2210a, // figcaption + 0xb3: 0x2690e, // onautocomplete + 0xb4: 0x49106, // onload + 0xb6: 0x9c04, // rows + 0xb7: 0x1a605, // nonce + 0xb8: 0x68a14, // onunhandledrejection + 0xbb: 0x21306, // center + 0xbc: 0x59406, // onplay + 0xbd: 0x33f02, // h5 + 0xbe: 0x49d07, // listing + 0xbf: 0x57606, // public + 0xc2: 0x23b06, // figure + 0xc3: 0x57a04, // icon + 0xc4: 0x1ab03, // col + 0xc5: 0x47b03, // rel + 0xc6: 0xe605, // media + 0xc7: 0x12109, // autofocus + 0xc8: 0x19a02, // rt + 0xca: 0x2d304, // lang + 0xcc: 0x49908, // datalist + 0xce: 0x2eb06, // iframe + 0xcf: 0x36105, // muted + 0xd0: 0x6140a, // onauxclick + 0xd2: 0x3c02, // as + 0xd6: 0x3fd06, // ondrop + 0xd7: 0x1c90a, // annotation + 0xd8: 0x21908, // fieldset + 0xdb: 0x2cf08, // hreflang + 0xdc: 0x4e70c, // onmouseenter + 0xdd: 0x2a402, // mn + 0xde: 0xe60a, // mediagroup + 0xdf: 0x9805, // meter + 0xe0: 0x56c03, // wbr + 0xe2: 0x63e05, // width + 0xe3: 0x2290c, // onafterprint + 0xe4: 0x30505, // ismap + 0xe5: 0x1505, // value + 0xe7: 0x1303, // nav + 0xe8: 0x54508, // ononline + 0xe9: 0xb604, // mark + 0xea: 0xc303, // low + 0xeb: 0x3ee0b, // ondragstart + 0xef: 0x12f03, // xmp + 0xf0: 0x22407, // caption + 0xf1: 0xd904, // type + 0xf2: 0x70907, // summary + 0xf3: 0x6802, // tt + 0xf4: 0x20809, // translate + 0xf5: 0x1870a, // blockquote + 0xf8: 0x15702, // hr + 0xfa: 0x2705, // tbody + 0xfc: 0x7b07, // picture + 0xfd: 0x5206, // height + 0xfe: 0x19c04, // cite + 0xff: 0x2501, // s + 0x101: 0xff05, // async + 0x102: 0x56f07, // onpaste + 0x103: 0x19507, // onabort + 0x104: 0x2b706, // target + 0x105: 0x14b03, // bdo + 0x106: 0x1f006, // coords + 0x107: 0x5e108, // onresize + 0x108: 0x71908, // template + 0x10a: 0x3a02, // rb + 0x10b: 0x2a50a, // novalidate + 0x10c: 0x460e, // updateviacache + 0x10d: 0x71003, // sup + 0x10e: 0x6c07, // noembed + 0x10f: 0x16b03, // div + 0x110: 0x6f707, // srclang + 0x111: 0x17a09, // draggable + 0x112: 0x67305, // scope + 0x113: 0x5905, // label + 0x114: 0x22f02, // rp + 0x115: 0x23f08, // required + 0x116: 0x3780d, // oncontextmenu + 0x117: 0x5e504, // size + 0x118: 0x5b00a, // spellcheck + 0x119: 0x3f04, // font + 0x11a: 0x9c07, // rowspan + 0x11b: 0x10a07, // default + 0x11d: 0x44307, // oninput + 0x11e: 0x38506, // itemid + 0x11f: 0x5ee04, // code + 0x120: 0xaa07, // acronym + 0x121: 0x3b04, // base + 0x125: 0x2470d, // foreignObject + 0x126: 0x2ca04, // high + 0x127: 0x3cb0e, // referrerpolicy + 0x128: 0x33703, // max + 0x129: 0x59d0a, // onpopstate + 0x12a: 0x2fc02, // h4 + 0x12b: 0x4ac04, // meta + 0x12c: 0x17305, // blink + 0x12e: 0x5f508, // onscroll + 0x12f: 0x59409, // onplaying + 0x130: 0xc113, // allowpaymentrequest + 0x131: 0x19a03, // rtc + 0x132: 0x72b04, // wrap + 0x134: 0x8b08, // frameset + 0x135: 0x32605, // small + 0x137: 0x32006, // header + 0x138: 0x40409, // onemptied + 0x139: 0x34902, // h6 + 0x13a: 0x35908, // multiple + 0x13c: 0x52a06, // prompt + 0x13f: 0x28e09, // challenge + 0x141: 0x4370c, // onhashchange + 0x142: 0x57b07, // content + 0x143: 0x1c90e, // annotation-xml + 0x144: 0x36607, // onclose + 0x145: 0x14d10, // oncanplaythrough + 0x148: 0x5170b, // onmouseover + 0x149: 0x64f08, // sortable + 0x14a: 0xa402, // mo + 0x14b: 0x2cd02, // h3 + 0x14c: 0x2c406, // script + 0x14d: 0x41d07, // onended + 0x14f: 0x64706, // poster + 0x150: 0x7210a, // workertype + 0x153: 0x1f505, // shape + 0x154: 0x4, // abbr + 0x155: 0x1, // a + 0x156: 0x2bf02, // dd + 0x157: 0x71606, // system + 0x158: 0x4ce0e, // onmessageerror + 0x159: 0x36b08, // seamless + 0x15a: 0x2610a, // formaction + 0x15b: 0x6e106, // option + 0x15c: 0x31d04, // math + 0x15d: 0x62609, // onseeking + 0x15e: 0x39c05, // oncut + 0x15f: 0x44c03, // del + 0x160: 0x11005, // title + 0x161: 0x11505, // audio + 0x162: 0x63108, // selected + 0x165: 0x3b40b, // ondragenter + 0x166: 0x46e06, // spacer + 0x167: 0x4a410, // onloadedmetadata + 0x168: 0x44505, // input + 0x16a: 0x58505, // table + 0x16b: 0x41508, // onchange + 0x16e: 0x5f005, // defer + 0x171: 0x50a0a, // onmouseout + 0x172: 0x20504, // slot + 0x175: 0x3704, // nobr + 0x177: 0x1d707, // command + 0x17a: 0x7207, // details + 0x17b: 0x38104, // menu + 0x17c: 0xb903, // kbd + 0x17d: 0x57304, // step + 0x17e: 0x20303, // ins + 0x17f: 0x13c08, // autoplay + 0x182: 0x34103, // min + 0x183: 0x17404, // link + 0x185: 0x40d10, // ondurationchange + 0x186: 0x9202, // td + 0x187: 0x8b05, // frame + 0x18a: 0x2ab08, // datetime + 0x18b: 0x44509, // inputmode + 0x18c: 0x35108, // readonly + 0x18d: 0x21104, // face + 0x18f: 0x5e505, // sizes + 0x191: 0x4b208, // tabindex + 0x192: 0x6db06, // strong + 0x193: 0xba03, // bdi + 0x194: 0x6fe06, // srcset + 0x196: 0x67202, // ms + 0x197: 0x5b507, // checked + 0x198: 0xb105, // align + 0x199: 0x1e507, // section + 0x19b: 0x6e05, // embed + 0x19d: 0x15e07, // bgsound + 0x1a2: 0x49d04, // list + 0x1a3: 0x61e08, // onseeked + 0x1a4: 0x66009, // onstorage + 0x1a5: 0x2f603, // img + 0x1a6: 0xf505, // tfoot + 0x1a9: 0x26913, // onautocompleteerror + 0x1aa: 0x5fd19, // onsecuritypolicyviolation + 0x1ad: 0x9303, // dir + 0x1ae: 0x9307, // dirname + 0x1b0: 0x5a70a, // onprogress + 0x1b2: 0x65709, // onstalled + 0x1b5: 0x66f09, // itemscope + 0x1b6: 0x49904, // data + 0x1b7: 0x3d90b, // ondragleave + 0x1b8: 0x56102, // h2 + 0x1b9: 0x2f706, // mglyph + 0x1ba: 0x16502, // is + 0x1bb: 0x6e50e, // onbeforeunload + 0x1bc: 0x2830d, // typemustmatch + 0x1bd: 0x3ab06, // ondrag + 0x1be: 0x5da07, // onreset + 0x1c0: 0x51106, // output + 0x1c1: 0x12907, // sandbox + 0x1c2: 0x1b209, // plaintext + 0x1c4: 0x34c08, // textarea + 0x1c7: 0xd607, // keytype + 0x1c8: 0x34b05, // mtext + 0x1c9: 0x6b10e, // onvolumechange + 0x1ca: 0x1ea06, // onblur + 0x1cb: 0x58a07, // onpause + 0x1cd: 0x5bc0c, // onratechange + 0x1ce: 0x10705, // aside + 0x1cf: 0x6cf07, // optimum + 0x1d1: 0x45809, // onkeydown + 0x1d2: 0x1c407, // colspan + 0x1d3: 0x1004, // main + 0x1d4: 0x66b03, // sub + 0x1d5: 0x25b06, // object + 0x1d6: 0x55c06, // search + 0x1d7: 0x37206, // sorted + 0x1d8: 0x17003, // big + 0x1d9: 0xb01, // u + 0x1db: 0x26b0c, // autocomplete + 0x1dc: 0xcc02, // tr + 0x1dd: 0xf303, // alt + 0x1df: 0x7804, // samp + 0x1e0: 0x5c812, // onrejectionhandled + 0x1e1: 0x4f30c, // onmouseleave + 0x1e2: 0x28007, // enctype + 0x1e3: 0xa208, // nomodule + 0x1e5: 0x3280f, // allowfullscreen + 0x1e6: 0x5f08, // optgroup + 0x1e8: 0x27c0b, // formenctype + 0x1e9: 0x18106, // legend + 0x1ea: 0x10306, // canvas + 0x1eb: 0x6607, // pattern + 0x1ec: 0x2c208, // noscript + 0x1ed: 0x601, // i + 0x1ee: 0x5d602, // dl + 0x1ef: 0xa702, // ul + 0x1f2: 0x52209, // onmouseup + 0x1f4: 0x1ba05, // track + 0x1f7: 0x3a10a, // ondblclick + 0x1f8: 0x3bf0a, // ondragexit + 0x1fa: 0x8703, // dfn + 0x1fc: 0x26506, // action + 0x1fd: 0x35004, // area + 0x1fe: 0x31607, // marquee + 0x1ff: 0x16d03, // var } const atomText = "abbradiogrouparamainavalueaccept-charsetbodyaccesskeygenobrb" + @@ -758,26 +760,26 @@ const atomText = "abbradiogrouparamainavalueaccept-charsetbodyaccesskeygenobrb" "dboxmplaceholderautoplaysinlinebdoncanplaythrough1bgsoundisa" + "bledivarbigblinkindraggablegendblockquotebuttonabortcitempro" + "penoncecolgrouplaintextrackcolorcolspannotation-xmlcommandco" + - "ntrolshapecoordslotranslatecrossoriginsmallowfullscreenoscri" + - "ptfacenterfieldsetfigcaptionafterprintegrityfigurequiredfore" + - "ignObjectforeignobjectformactionautocompleteerrorformenctype" + - "mustmatchallengeformmethodformnovalidatetimeformtargethgroup" + - "osterhiddenhigh2hreflanghttp-equivideonclickiframeimageimgly" + - "ph3isindexismappletitemtypemarqueematheadersortedmaxlength4m" + - "inlength5mtextareadonlymultiplemutedoncloseamlessourceoncont" + - "extmenuitemidoncopyoncuechangeoncutondblclickondragendondrag" + - "enterondragexitemreferrerpolicyondragleaveondragoverondragst" + - "articleondropzonemptiedondurationchangeonendedonerroronfocus" + - "paceronhashchangeoninputmodeloninvalidonkeydownloadonkeypres" + - "spellcheckedonkeyupreloadonlanguagechangeonloadeddatalisting" + - "onloadedmetadatabindexonloadendonloadstartonmessageerroronmo" + - "usedownonmouseenteronmouseleaveonmousemoveonmouseoutputonmou" + - "seoveronmouseupromptonmousewheelonofflineononlineonpagehides" + - "classectionbluronpageshowbronpastepublicontenteditableonpaus" + - "emaponplayingonpopstateonprogressrcdocodeferonratechangeonre" + - "jectionhandledonresetonresizesrclangonscrollonsecuritypolicy" + - "violationauxclickonseekedonseekingonselectedonshowidth6onsor" + - "tableonstalledonstorageonsubmitemscopedonsuspendontoggleonun" + - "handledrejectionbeforeprintonunloadonvolumechangeonwaitingon" + - "wheeloptimumanifestrongoptionbeforeunloaddressrcsetstylesumm" + - "arysupsvgsystemplateworkertypewrap" + "ntrolsectionblurcoordshapecrossoriginslotranslatefacenterfie" + + "ldsetfigcaptionafterprintegrityfigurequiredforeignObjectfore" + + "ignobjectformactionautocompleteerrorformenctypemustmatchalle" + + "ngeformmethodformnovalidatetimeformtargethiddenoscripthigh3h" + + "reflanghttp-equivideonclickiframeimageimglyph4isindexismappl" + + "etitemtypemarqueematheadersmallowfullscreenmaxlength5minleng" + + "th6mtextareadonlymultiplemutedoncloseamlessortedoncontextmen" + + "uitemidoncopyoncuechangeoncutondblclickondragendondragentero" + + "ndragexitemreferrerpolicyondragleaveondragoverondragstarticl" + + "eondropzonemptiedondurationchangeonendedonerroronfocusourceo" + + "nhashchangeoninputmodeloninvalidonkeydownloadonkeypresspacer" + + "onkeyupreloadonlanguagechangeonloadeddatalistingonloadedmeta" + + "databindexonloadendonloadstartonmessageerroronmousedownonmou" + + "seenteronmouseleaveonmousemoveonmouseoutputonmouseoveronmous" + + "eupromptonmousewheelonofflineononlineonpagehidesclassearch2o" + + "npageshowbronpastepublicontenteditableonpausemaponplayingonp" + + "opstateonprogresspellcheckedonratechangeonrejectionhandledon" + + "resetonresizesrcdocodeferonscrollonsecuritypolicyviolationau" + + "xclickonseekedonseekingonselectedonshowidthgrouposteronsorta" + + "bleonstalledonstorageonsubmitemscopedonsuspendontoggleonunha" + + "ndledrejectionbeforeprintonunloadonvolumechangeonwaitingonwh" + + "eeloptimumanifestrongoptionbeforeunloaddressrclangsrcsetstyl" + + "esummarysupsvgsystemplateworkertypewrap" diff --git a/vendor/golang.org/x/net/html/parse.go b/vendor/golang.org/x/net/html/parse.go index 643c674e3..518ee4c94 100644 --- a/vendor/golang.org/x/net/html/parse.go +++ b/vendor/golang.org/x/net/html/parse.go @@ -924,7 +924,7 @@ func inBodyIM(p *parser) bool { p.addElement() p.im = inFramesetIM return true - case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Main, a.Menu, a.Nav, a.Ol, a.P, a.Section, a.Summary, a.Ul: + case a.Address, a.Article, a.Aside, a.Blockquote, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Main, a.Menu, a.Nav, a.Ol, a.P, a.Search, a.Section, a.Summary, a.Ul: p.popUntil(buttonScope, a.P) p.addElement() case a.H1, a.H2, a.H3, a.H4, a.H5, a.H6: @@ -1136,7 +1136,7 @@ func inBodyIM(p *parser) bool { return false } return true - case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Main, a.Menu, a.Nav, a.Ol, a.Pre, a.Section, a.Summary, a.Ul: + case a.Address, a.Article, a.Aside, a.Blockquote, a.Button, a.Center, a.Details, a.Dialog, a.Dir, a.Div, a.Dl, a.Fieldset, a.Figcaption, a.Figure, a.Footer, a.Header, a.Hgroup, a.Listing, a.Main, a.Menu, a.Nav, a.Ol, a.Pre, a.Search, a.Section, a.Summary, a.Ul: p.popUntil(defaultScope, p.tok.DataAtom) case a.Form: if p.oe.contains(a.Template) { diff --git a/vendor/golang.org/x/net/html/token.go b/vendor/golang.org/x/net/html/token.go index 3c57880d6..6598c1f7b 100644 --- a/vendor/golang.org/x/net/html/token.go +++ b/vendor/golang.org/x/net/html/token.go @@ -839,8 +839,22 @@ func (z *Tokenizer) readStartTag() TokenType { if raw { z.rawTag = strings.ToLower(string(z.buf[z.data.start:z.data.end])) } - // Look for a self-closing token like "
". - if z.err == nil && z.buf[z.raw.end-2] == '/' { + // Look for a self-closing token (e.g.
). + // + // Originally, we did this by just checking that the last character of the + // tag (ignoring the closing bracket) was a solidus (/) character, but this + // is not always accurate. + // + // We need to be careful that we don't misinterpret a non-self-closing tag + // as self-closing, as can happen if the tag contains unquoted attribute + // values (i.e.

). + // + // To avoid this, we check that the last non-bracket character of the tag + // (z.raw.end-2) isn't the same character as the last non-quote character of + // the last attribute of the tag (z.pendingAttr[1].end-1), if the tag has + // attributes. + nAttrs := len(z.attr) + if z.err == nil && z.buf[z.raw.end-2] == '/' && (nAttrs == 0 || z.raw.end-2 != z.attr[nAttrs-1][1].end-1) { return SelfClosingTagToken } return StartTagToken diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go index 81faec7e7..97bd8b06f 100644 --- a/vendor/golang.org/x/net/http2/frame.go +++ b/vendor/golang.org/x/net/http2/frame.go @@ -225,6 +225,11 @@ var fhBytes = sync.Pool{ }, } +func invalidHTTP1LookingFrameHeader() FrameHeader { + fh, _ := readFrameHeader(make([]byte, frameHeaderLen), strings.NewReader("HTTP/1.1 ")) + return fh +} + // ReadFrameHeader reads 9 bytes from r and returns a FrameHeader. // Most users should use Framer.ReadFrame instead. func ReadFrameHeader(r io.Reader) (FrameHeader, error) { @@ -503,10 +508,16 @@ func (fr *Framer) ReadFrame() (Frame, error) { return nil, err } if fh.Length > fr.maxReadSize { + if fh == invalidHTTP1LookingFrameHeader() { + return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", err) + } return nil, ErrFrameTooLarge } payload := fr.getReadBuf(fh.Length) if _, err := io.ReadFull(fr.r, payload); err != nil { + if fh == invalidHTTP1LookingFrameHeader() { + return nil, fmt.Errorf("http2: failed reading the frame payload: %w, note that the frame header looked like an HTTP/1.1 header", err) + } return nil, err } f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, fr.countError, payload) diff --git a/vendor/golang.org/x/net/http2/h2c/h2c.go b/vendor/golang.org/x/net/http2/h2c/h2c.go index 2d6bf861b..19e94791d 100644 --- a/vendor/golang.org/x/net/http2/h2c/h2c.go +++ b/vendor/golang.org/x/net/http2/h2c/h2c.go @@ -132,11 +132,8 @@ func (s h2cHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { // of the body, and reforward the client preface on the net.Conn this function // creates. func initH2CWithPriorKnowledge(w http.ResponseWriter) (net.Conn, error) { - hijacker, ok := w.(http.Hijacker) - if !ok { - return nil, errors.New("h2c: connection does not support Hijack") - } - conn, rw, err := hijacker.Hijack() + rc := http.NewResponseController(w) + conn, rw, err := rc.Hijack() if err != nil { return nil, err } @@ -163,10 +160,6 @@ func h2cUpgrade(w http.ResponseWriter, r *http.Request) (_ net.Conn, settings [] if err != nil { return nil, nil, err } - hijacker, ok := w.(http.Hijacker) - if !ok { - return nil, nil, errors.New("h2c: connection does not support Hijack") - } body, err := io.ReadAll(r.Body) if err != nil { @@ -174,7 +167,8 @@ func h2cUpgrade(w http.ResponseWriter, r *http.Request) (_ net.Conn, settings [] } r.Body = io.NopCloser(bytes.NewBuffer(body)) - conn, rw, err := hijacker.Hijack() + rc := http.NewResponseController(w) + conn, rw, err := rc.Hijack() if err != nil { return nil, nil, err } diff --git a/vendor/golang.org/x/net/http2/server.go b/vendor/golang.org/x/net/http2/server.go index b640deb0e..51fca38f6 100644 --- a/vendor/golang.org/x/net/http2/server.go +++ b/vendor/golang.org/x/net/http2/server.go @@ -1068,7 +1068,10 @@ func (sc *serverConn) serve(conf http2Config) { func (sc *serverConn) handlePingTimer(lastFrameReadTime time.Time) { if sc.pingSent { - sc.vlogf("timeout waiting for PING response") + sc.logf("timeout waiting for PING response") + if f := sc.countErrorFunc; f != nil { + f("conn_close_lost_ping") + } sc.conn.Close() return } diff --git a/vendor/golang.org/x/net/publicsuffix/data/children b/vendor/golang.org/x/net/publicsuffix/data/children index 08261bffd196fd6942b4cebb5ff06e0ffe53808d..986a246a6c05ca5b49c1d9f3f7fc84cb6628b64e 100644 GIT binary patch literal 3484 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 literal 2976 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 a@p}W4r^yDE#L9e<7sz~*lVpA+DgOrzLVp1O diff --git a/vendor/golang.org/x/net/publicsuffix/data/nodes b/vendor/golang.org/x/net/publicsuffix/data/nodes index 1dae6ede8f292889cb4252aa473312fea1bac46a..38b8999600c8cb35fbceee1b938b5de72da1345f 100644 GIT binary patch literal 50500 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

92;Y$cu7w5QII#d+M`VB_F5_`=229m| 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