ires 0.1.3 → 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +32 -45
- data/ext/Gopkg.lock +31 -1
- data/ext/ires/image.go +227 -0
- data/ext/ires/ires.go +47 -59
- data/ext/ires/uri.go +143 -0
- data/ext/main.go +18 -9
- data/ext/vendor/github.com/PuerkitoBio/purell/LICENSE +12 -0
- data/ext/vendor/github.com/PuerkitoBio/purell/README.md +187 -0
- data/ext/vendor/github.com/PuerkitoBio/purell/bench_test.go +57 -0
- data/ext/vendor/github.com/PuerkitoBio/purell/benchmarks/v0.1.0 +9 -0
- data/ext/vendor/github.com/PuerkitoBio/purell/example_test.go +35 -0
- data/ext/vendor/github.com/PuerkitoBio/purell/purell.go +379 -0
- data/ext/vendor/github.com/PuerkitoBio/purell/purell_test.go +768 -0
- data/ext/vendor/github.com/PuerkitoBio/purell/urlnorm_test.go +53 -0
- data/ext/vendor/github.com/PuerkitoBio/urlesc/LICENSE +27 -0
- data/ext/vendor/github.com/PuerkitoBio/urlesc/README.md +16 -0
- data/ext/vendor/github.com/PuerkitoBio/urlesc/urlesc.go +180 -0
- data/ext/vendor/github.com/PuerkitoBio/urlesc/urlesc_test.go +641 -0
- data/ext/vendor/github.com/{satori/go.uuid → goware/urlx}/LICENSE +3 -1
- data/ext/vendor/github.com/goware/urlx/README.md +172 -0
- data/ext/vendor/github.com/goware/urlx/urlx.go +196 -0
- data/ext/vendor/github.com/goware/urlx/urlx_test.go +232 -0
- data/ext/vendor/golang.org/x/net/AUTHORS +3 -0
- data/ext/vendor/golang.org/x/net/CONTRIBUTING.md +31 -0
- data/ext/vendor/golang.org/x/net/CONTRIBUTORS +3 -0
- data/ext/vendor/golang.org/x/net/LICENSE +27 -0
- data/ext/vendor/golang.org/x/net/PATENTS +22 -0
- data/ext/vendor/golang.org/x/net/README.md +16 -0
- data/ext/vendor/golang.org/x/net/bpf/asm.go +41 -0
- data/ext/vendor/golang.org/x/net/bpf/constants.go +218 -0
- data/ext/vendor/golang.org/x/net/bpf/doc.go +82 -0
- data/ext/vendor/golang.org/x/net/bpf/instructions.go +704 -0
- data/ext/vendor/golang.org/x/net/bpf/instructions_test.go +525 -0
- data/ext/vendor/golang.org/x/net/bpf/setter.go +10 -0
- data/ext/vendor/golang.org/x/net/bpf/testdata/all_instructions.bpf +1 -0
- data/ext/vendor/golang.org/x/net/bpf/testdata/all_instructions.txt +79 -0
- data/ext/vendor/golang.org/x/net/bpf/vm.go +140 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_aluop_test.go +512 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_bpf_test.go +192 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_extension_test.go +49 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_instructions.go +174 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_jump_test.go +380 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_load_test.go +246 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_ret_test.go +115 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_scratch_test.go +247 -0
- data/ext/vendor/golang.org/x/net/bpf/vm_test.go +144 -0
- data/ext/vendor/golang.org/x/net/codereview.cfg +1 -0
- data/ext/vendor/golang.org/x/net/context/context.go +54 -0
- data/ext/vendor/golang.org/x/net/context/context_test.go +583 -0
- data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp.go +74 -0
- data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_17_test.go +29 -0
- data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17.go +147 -0
- data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_pre17_test.go +79 -0
- data/ext/vendor/golang.org/x/net/context/ctxhttp/ctxhttp_test.go +105 -0
- data/ext/vendor/golang.org/x/net/context/go17.go +72 -0
- data/ext/vendor/golang.org/x/net/context/go19.go +20 -0
- data/ext/vendor/golang.org/x/net/context/pre_go17.go +300 -0
- data/ext/vendor/golang.org/x/net/context/pre_go19.go +109 -0
- data/ext/vendor/golang.org/x/net/context/withtimeout_test.go +31 -0
- data/ext/vendor/golang.org/x/net/dict/dict.go +210 -0
- data/ext/vendor/golang.org/x/net/dns/dnsmessage/example_test.go +132 -0
- data/ext/vendor/golang.org/x/net/dns/dnsmessage/message.go +1997 -0
- data/ext/vendor/golang.org/x/net/dns/dnsmessage/message_test.go +1116 -0
- data/ext/vendor/golang.org/x/net/html/atom/atom.go +78 -0
- data/ext/vendor/golang.org/x/net/html/atom/atom_test.go +109 -0
- data/ext/vendor/golang.org/x/net/html/atom/gen.go +709 -0
- data/ext/vendor/golang.org/x/net/html/atom/table.go +777 -0
- data/ext/vendor/golang.org/x/net/html/atom/table_test.go +373 -0
- data/ext/vendor/golang.org/x/net/html/charset/charset.go +257 -0
- data/ext/vendor/golang.org/x/net/html/charset/charset_test.go +237 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-charset.html +48 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-vs-UTF-8-BOM.html +48 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-charset.html +49 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/HTTP-vs-meta-content.html +49 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/No-encoding-declaration.html +47 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/README +9 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-16BE-BOM.html +0 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-16LE-BOM.html +0 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-8-BOM-vs-meta-charset.html +49 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/UTF-8-BOM-vs-meta-content.html +48 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/meta-charset-attribute.html +48 -0
- data/ext/vendor/golang.org/x/net/html/charset/testdata/meta-content-attribute.html +48 -0
- data/ext/vendor/golang.org/x/net/html/const.go +104 -0
- data/ext/vendor/golang.org/x/net/html/doc.go +106 -0
- data/ext/vendor/golang.org/x/net/html/doctype.go +156 -0
- data/ext/vendor/golang.org/x/net/html/entity.go +2253 -0
- data/ext/vendor/golang.org/x/net/html/entity_test.go +29 -0
- data/ext/vendor/golang.org/x/net/html/escape.go +258 -0
- data/ext/vendor/golang.org/x/net/html/escape_test.go +97 -0
- data/ext/vendor/golang.org/x/net/html/example_test.go +40 -0
- data/ext/vendor/golang.org/x/net/html/foreign.go +226 -0
- data/ext/vendor/golang.org/x/net/html/node.go +193 -0
- data/ext/vendor/golang.org/x/net/html/node_test.go +146 -0
- data/ext/vendor/golang.org/x/net/html/parse.go +2094 -0
- data/ext/vendor/golang.org/x/net/html/parse_test.go +388 -0
- data/ext/vendor/golang.org/x/net/html/render.go +271 -0
- data/ext/vendor/golang.org/x/net/html/render_test.go +156 -0
- data/ext/vendor/golang.org/x/net/html/testdata/go1.html +2237 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/README +28 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/adoption01.dat +194 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/adoption02.dat +31 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/comments01.dat +135 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/doctype01.dat +370 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/entities01.dat +603 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/entities02.dat +249 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/html5test-com.dat +246 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/inbody01.dat +43 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/isindex.dat +40 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/pending-spec-changes-plain-text-unsafe.dat +0 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/pending-spec-changes.dat +52 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/plain-text-unsafe.dat +0 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/scriptdata01.dat +308 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/scripted/adoption01.dat +15 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/scripted/webkit01.dat +28 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tables01.dat +212 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests1.dat +1952 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests10.dat +799 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests11.dat +482 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests12.dat +62 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests14.dat +74 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests15.dat +208 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests16.dat +2299 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests17.dat +153 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests18.dat +269 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests19.dat +1237 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests2.dat +763 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests20.dat +455 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests21.dat +221 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests22.dat +157 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests23.dat +155 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests24.dat +79 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests25.dat +219 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests26.dat +313 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests3.dat +305 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests4.dat +59 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests5.dat +191 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests6.dat +663 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests7.dat +390 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests8.dat +148 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests9.dat +457 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tests_innerHTML_1.dat +741 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/tricky01.dat +261 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/webkit01.dat +610 -0
- data/ext/vendor/golang.org/x/net/html/testdata/webkit/webkit02.dat +159 -0
- data/ext/vendor/golang.org/x/net/html/token.go +1219 -0
- data/ext/vendor/golang.org/x/net/html/token_test.go +748 -0
- data/ext/vendor/golang.org/x/net/http2/Dockerfile +51 -0
- data/ext/vendor/golang.org/x/net/http2/Makefile +3 -0
- data/ext/vendor/golang.org/x/net/http2/README +20 -0
- data/ext/vendor/golang.org/x/net/http2/ciphers.go +641 -0
- data/ext/vendor/golang.org/x/net/http2/ciphers_test.go +309 -0
- data/ext/vendor/golang.org/x/net/http2/client_conn_pool.go +256 -0
- data/ext/vendor/golang.org/x/net/http2/configure_transport.go +80 -0
- data/ext/vendor/golang.org/x/net/http2/databuffer.go +146 -0
- data/ext/vendor/golang.org/x/net/http2/databuffer_test.go +157 -0
- data/ext/vendor/golang.org/x/net/http2/errors.go +133 -0
- data/ext/vendor/golang.org/x/net/http2/errors_test.go +24 -0
- data/ext/vendor/golang.org/x/net/http2/flow.go +50 -0
- data/ext/vendor/golang.org/x/net/http2/flow_test.go +53 -0
- data/ext/vendor/golang.org/x/net/http2/frame.go +1579 -0
- data/ext/vendor/golang.org/x/net/http2/frame_test.go +1191 -0
- data/ext/vendor/golang.org/x/net/http2/go16.go +16 -0
- data/ext/vendor/golang.org/x/net/http2/go17.go +106 -0
- data/ext/vendor/golang.org/x/net/http2/go17_not18.go +36 -0
- data/ext/vendor/golang.org/x/net/http2/go18.go +56 -0
- data/ext/vendor/golang.org/x/net/http2/go18_test.go +79 -0
- data/ext/vendor/golang.org/x/net/http2/go19.go +16 -0
- data/ext/vendor/golang.org/x/net/http2/go19_test.go +60 -0
- data/ext/vendor/golang.org/x/net/http2/gotrack.go +170 -0
- data/ext/vendor/golang.org/x/net/http2/gotrack_test.go +33 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/Makefile +8 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/README +16 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/h2demo.go +538 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/launch.go +302 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/rootCA.key +27 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/rootCA.pem +26 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/rootCA.srl +1 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/server.crt +20 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/server.key +27 -0
- data/ext/vendor/golang.org/x/net/http2/h2demo/tmpl.go +1991 -0
- data/ext/vendor/golang.org/x/net/http2/h2i/README.md +97 -0
- data/ext/vendor/golang.org/x/net/http2/h2i/h2i.go +522 -0
- data/ext/vendor/golang.org/x/net/http2/headermap.go +78 -0
- data/ext/vendor/golang.org/x/net/http2/hpack/encode.go +240 -0
- data/ext/vendor/golang.org/x/net/http2/hpack/encode_test.go +386 -0
- data/ext/vendor/golang.org/x/net/http2/hpack/hpack.go +490 -0
- data/ext/vendor/golang.org/x/net/http2/hpack/hpack_test.go +722 -0
- data/ext/vendor/golang.org/x/net/http2/hpack/huffman.go +212 -0
- data/ext/vendor/golang.org/x/net/http2/hpack/tables.go +479 -0
- data/ext/vendor/golang.org/x/net/http2/hpack/tables_test.go +214 -0
- data/ext/vendor/golang.org/x/net/http2/http2.go +391 -0
- data/ext/vendor/golang.org/x/net/http2/http2_test.go +199 -0
- data/ext/vendor/golang.org/x/net/http2/not_go16.go +21 -0
- data/ext/vendor/golang.org/x/net/http2/not_go17.go +87 -0
- data/ext/vendor/golang.org/x/net/http2/not_go18.go +29 -0
- data/ext/vendor/golang.org/x/net/http2/not_go19.go +16 -0
- data/ext/vendor/golang.org/x/net/http2/pipe.go +163 -0
- data/ext/vendor/golang.org/x/net/http2/pipe_test.go +130 -0
- data/ext/vendor/golang.org/x/net/http2/server.go +2857 -0
- data/ext/vendor/golang.org/x/net/http2/server_push_test.go +521 -0
- data/ext/vendor/golang.org/x/net/http2/server_test.go +3721 -0
- data/ext/vendor/golang.org/x/net/http2/testdata/draft-ietf-httpbis-http2.xml +5021 -0
- data/ext/vendor/golang.org/x/net/http2/transport.go +2285 -0
- data/ext/vendor/golang.org/x/net/http2/transport_test.go +3714 -0
- data/ext/vendor/golang.org/x/net/http2/write.go +370 -0
- data/ext/vendor/golang.org/x/net/http2/writesched.go +242 -0
- data/ext/vendor/golang.org/x/net/http2/writesched_priority.go +452 -0
- data/ext/vendor/golang.org/x/net/http2/writesched_priority_test.go +541 -0
- data/ext/vendor/golang.org/x/net/http2/writesched_random.go +72 -0
- data/ext/vendor/golang.org/x/net/http2/writesched_random_test.go +44 -0
- data/ext/vendor/golang.org/x/net/http2/writesched_test.go +125 -0
- data/ext/vendor/golang.org/x/net/http2/z_spec_test.go +356 -0
- data/ext/vendor/golang.org/x/net/icmp/dstunreach.go +41 -0
- data/ext/vendor/golang.org/x/net/icmp/echo.go +45 -0
- data/ext/vendor/golang.org/x/net/icmp/endpoint.go +113 -0
- data/ext/vendor/golang.org/x/net/icmp/example_test.go +63 -0
- data/ext/vendor/golang.org/x/net/icmp/extension.go +89 -0
- data/ext/vendor/golang.org/x/net/icmp/extension_test.go +259 -0
- data/ext/vendor/golang.org/x/net/icmp/helper_posix.go +75 -0
- data/ext/vendor/golang.org/x/net/icmp/interface.go +236 -0
- data/ext/vendor/golang.org/x/net/icmp/ipv4.go +61 -0
- data/ext/vendor/golang.org/x/net/icmp/ipv4_test.go +83 -0
- data/ext/vendor/golang.org/x/net/icmp/ipv6.go +23 -0
- data/ext/vendor/golang.org/x/net/icmp/listen_posix.go +100 -0
- data/ext/vendor/golang.org/x/net/icmp/listen_stub.go +33 -0
- data/ext/vendor/golang.org/x/net/icmp/message.go +152 -0
- data/ext/vendor/golang.org/x/net/icmp/message_test.go +134 -0
- data/ext/vendor/golang.org/x/net/icmp/messagebody.go +41 -0
- data/ext/vendor/golang.org/x/net/icmp/mpls.go +77 -0
- data/ext/vendor/golang.org/x/net/icmp/multipart.go +109 -0
- data/ext/vendor/golang.org/x/net/icmp/multipart_test.go +442 -0
- data/ext/vendor/golang.org/x/net/icmp/packettoobig.go +43 -0
- data/ext/vendor/golang.org/x/net/icmp/paramprob.go +63 -0
- data/ext/vendor/golang.org/x/net/icmp/ping_test.go +200 -0
- data/ext/vendor/golang.org/x/net/icmp/sys_freebsd.go +11 -0
- data/ext/vendor/golang.org/x/net/icmp/timeexceeded.go +39 -0
- data/ext/vendor/golang.org/x/net/idna/example_test.go +70 -0
- data/ext/vendor/golang.org/x/net/idna/idna.go +680 -0
- data/ext/vendor/golang.org/x/net/idna/idna_test.go +108 -0
- data/ext/vendor/golang.org/x/net/idna/punycode.go +203 -0
- data/ext/vendor/golang.org/x/net/idna/punycode_test.go +198 -0
- data/ext/vendor/golang.org/x/net/idna/tables.go +4477 -0
- data/ext/vendor/golang.org/x/net/idna/trie.go +72 -0
- data/ext/vendor/golang.org/x/net/idna/trieval.go +114 -0
- data/ext/vendor/golang.org/x/net/internal/iana/const.go +180 -0
- data/ext/vendor/golang.org/x/net/internal/iana/gen.go +293 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/helper_bsd.go +53 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/helper_nobsd.go +15 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/helper_posix.go +31 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/helper_stub.go +32 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/helper_unix.go +29 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/helper_windows.go +42 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/interface.go +94 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/rlimit.go +11 -0
- data/ext/vendor/golang.org/x/net/internal/nettest/stack.go +147 -0
- data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr.go +11 -0
- data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_bsd.go +13 -0
- data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_32bit.go +14 -0
- data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_linux_64bit.go +14 -0
- data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_solaris_64bit.go +14 -0
- data/ext/vendor/golang.org/x/net/internal/socket/cmsghdr_stub.go +17 -0
- data/ext/vendor/golang.org/x/net/internal/socket/defs_darwin.go +44 -0
- data/ext/vendor/golang.org/x/net/internal/socket/defs_dragonfly.go +44 -0
- data/ext/vendor/golang.org/x/net/internal/socket/defs_freebsd.go +44 -0
- data/ext/vendor/golang.org/x/net/internal/socket/defs_linux.go +49 -0
- data/ext/vendor/golang.org/x/net/internal/socket/defs_netbsd.go +47 -0
- data/ext/vendor/golang.org/x/net/internal/socket/defs_openbsd.go +44 -0
- data/ext/vendor/golang.org/x/net/internal/socket/defs_solaris.go +44 -0
- data/ext/vendor/golang.org/x/net/internal/socket/error_unix.go +31 -0
- data/ext/vendor/golang.org/x/net/internal/socket/error_windows.go +26 -0
- data/ext/vendor/golang.org/x/net/internal/socket/iovec_32bit.go +19 -0
- data/ext/vendor/golang.org/x/net/internal/socket/iovec_64bit.go +19 -0
- data/ext/vendor/golang.org/x/net/internal/socket/iovec_solaris_64bit.go +19 -0
- data/ext/vendor/golang.org/x/net/internal/socket/iovec_stub.go +11 -0
- data/ext/vendor/golang.org/x/net/internal/socket/mmsghdr_stub.go +21 -0
- data/ext/vendor/golang.org/x/net/internal/socket/mmsghdr_unix.go +42 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_bsd.go +39 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_bsdvar.go +16 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_linux.go +36 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_linux_32bit.go +24 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_linux_64bit.go +24 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_openbsd.go +14 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_solaris_64bit.go +36 -0
- data/ext/vendor/golang.org/x/net/internal/socket/msghdr_stub.go +14 -0
- data/ext/vendor/golang.org/x/net/internal/socket/rawconn.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/rawconn_mmsg.go +74 -0
- data/ext/vendor/golang.org/x/net/internal/socket/rawconn_msg.go +77 -0
- data/ext/vendor/golang.org/x/net/internal/socket/rawconn_nommsg.go +18 -0
- data/ext/vendor/golang.org/x/net/internal/socket/rawconn_nomsg.go +18 -0
- data/ext/vendor/golang.org/x/net/internal/socket/rawconn_stub.go +25 -0
- data/ext/vendor/golang.org/x/net/internal/socket/reflect.go +62 -0
- data/ext/vendor/golang.org/x/net/internal/socket/socket.go +285 -0
- data/ext/vendor/golang.org/x/net/internal/socket/socket_go1_9_test.go +259 -0
- data/ext/vendor/golang.org/x/net/internal/socket/socket_test.go +46 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys.go +33 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_bsd.go +17 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_bsdvar.go +14 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_darwin.go +7 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_dragonfly.go +7 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux.go +27 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_386.go +55 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_386.s +11 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_amd64.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_arm.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_arm64.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mips.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mips64.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mips64le.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_mipsle.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_ppc64le.go +10 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.go +55 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_linux_s390x.s +11 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_netbsd.go +25 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_posix.go +168 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_solaris.go +71 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_solaris_amd64.s +11 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_stub.go +64 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_unix.go +33 -0
- data/ext/vendor/golang.org/x/net/internal/socket/sys_windows.go +70 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_darwin_386.go +59 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_darwin_amd64.go +61 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_darwin_arm.go +59 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_dragonfly_amd64.go +61 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_freebsd_386.go +59 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_freebsd_amd64.go +61 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_freebsd_arm.go +59 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_386.go +63 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_amd64.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_arm.go +63 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_arm64.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mips.go +63 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mips64le.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_mipsle.go +63 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_ppc64le.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_linux_s390x.go +66 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_netbsd_386.go +65 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_netbsd_amd64.go +68 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_netbsd_arm.go +59 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_openbsd_386.go +59 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_openbsd_amd64.go +61 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_openbsd_arm.go +59 -0
- data/ext/vendor/golang.org/x/net/internal/socket/zsys_solaris_amd64.go +60 -0
- data/ext/vendor/golang.org/x/net/internal/timeseries/timeseries.go +525 -0
- data/ext/vendor/golang.org/x/net/internal/timeseries/timeseries_test.go +170 -0
- data/ext/vendor/golang.org/x/net/ipv4/batch.go +191 -0
- data/ext/vendor/golang.org/x/net/ipv4/bpf_test.go +93 -0
- data/ext/vendor/golang.org/x/net/ipv4/control.go +144 -0
- data/ext/vendor/golang.org/x/net/ipv4/control_bsd.go +40 -0
- data/ext/vendor/golang.org/x/net/ipv4/control_pktinfo.go +39 -0
- data/ext/vendor/golang.org/x/net/ipv4/control_stub.go +13 -0
- data/ext/vendor/golang.org/x/net/ipv4/control_test.go +21 -0
- data/ext/vendor/golang.org/x/net/ipv4/control_unix.go +73 -0
- data/ext/vendor/golang.org/x/net/ipv4/control_windows.go +16 -0
- data/ext/vendor/golang.org/x/net/ipv4/defs_darwin.go +77 -0
- data/ext/vendor/golang.org/x/net/ipv4/defs_dragonfly.go +38 -0
- data/ext/vendor/golang.org/x/net/ipv4/defs_freebsd.go +75 -0
- data/ext/vendor/golang.org/x/net/ipv4/defs_linux.go +122 -0
- data/ext/vendor/golang.org/x/net/ipv4/defs_netbsd.go +37 -0
- data/ext/vendor/golang.org/x/net/ipv4/defs_openbsd.go +37 -0
- data/ext/vendor/golang.org/x/net/ipv4/defs_solaris.go +84 -0
- data/ext/vendor/golang.org/x/net/ipv4/dgramopt.go +265 -0
- data/ext/vendor/golang.org/x/net/ipv4/doc.go +244 -0
- data/ext/vendor/golang.org/x/net/ipv4/endpoint.go +187 -0
- data/ext/vendor/golang.org/x/net/ipv4/example_test.go +224 -0
- data/ext/vendor/golang.org/x/net/ipv4/gen.go +199 -0
- data/ext/vendor/golang.org/x/net/ipv4/genericopt.go +57 -0
- data/ext/vendor/golang.org/x/net/ipv4/header.go +159 -0
- data/ext/vendor/golang.org/x/net/ipv4/header_test.go +228 -0
- data/ext/vendor/golang.org/x/net/ipv4/helper.go +63 -0
- data/ext/vendor/golang.org/x/net/ipv4/iana.go +34 -0
- data/ext/vendor/golang.org/x/net/ipv4/icmp.go +57 -0
- data/ext/vendor/golang.org/x/net/ipv4/icmp_linux.go +25 -0
- data/ext/vendor/golang.org/x/net/ipv4/icmp_stub.go +25 -0
- data/ext/vendor/golang.org/x/net/ipv4/icmp_test.go +95 -0
- data/ext/vendor/golang.org/x/net/ipv4/multicast_test.go +334 -0
- data/ext/vendor/golang.org/x/net/ipv4/multicastlistener_test.go +265 -0
- data/ext/vendor/golang.org/x/net/ipv4/multicastsockopt_test.go +195 -0
- data/ext/vendor/golang.org/x/net/ipv4/packet.go +69 -0
- data/ext/vendor/golang.org/x/net/ipv4/packet_go1_8.go +56 -0
- data/ext/vendor/golang.org/x/net/ipv4/packet_go1_9.go +67 -0
- data/ext/vendor/golang.org/x/net/ipv4/payload.go +23 -0
- data/ext/vendor/golang.org/x/net/ipv4/payload_cmsg.go +36 -0
- data/ext/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_8.go +59 -0
- data/ext/vendor/golang.org/x/net/ipv4/payload_cmsg_go1_9.go +67 -0
- data/ext/vendor/golang.org/x/net/ipv4/payload_nocmsg.go +42 -0
- data/ext/vendor/golang.org/x/net/ipv4/readwrite_go1_8_test.go +248 -0
- data/ext/vendor/golang.org/x/net/ipv4/readwrite_go1_9_test.go +388 -0
- data/ext/vendor/golang.org/x/net/ipv4/readwrite_test.go +140 -0
- data/ext/vendor/golang.org/x/net/ipv4/sockopt.go +44 -0
- data/ext/vendor/golang.org/x/net/ipv4/sockopt_posix.go +71 -0
- data/ext/vendor/golang.org/x/net/ipv4/sockopt_stub.go +42 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_asmreq.go +119 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_asmreq_stub.go +25 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_asmreqn.go +42 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_asmreqn_stub.go +21 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_bpf.go +23 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_bpf_stub.go +16 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_bsd.go +37 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_darwin.go +93 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_dragonfly.go +35 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_freebsd.go +76 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_linux.go +59 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_solaris.go +57 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_ssmreq.go +54 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_ssmreq_stub.go +21 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_stub.go +13 -0
- data/ext/vendor/golang.org/x/net/ipv4/sys_windows.go +67 -0
- data/ext/vendor/golang.org/x/net/ipv4/unicast_test.go +247 -0
- data/ext/vendor/golang.org/x/net/ipv4/unicastsockopt_test.go +148 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_darwin.go +99 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_dragonfly.go +31 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_freebsd_386.go +93 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_freebsd_amd64.go +95 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_freebsd_arm.go +95 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_386.go +148 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_amd64.go +150 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_arm.go +148 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_arm64.go +150 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mips.go +148 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mips64.go +150 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mips64le.go +150 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_mipsle.go +148 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_ppc.go +148 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64.go +150 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_ppc64le.go +150 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_linux_s390x.go +150 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_netbsd.go +30 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_openbsd.go +30 -0
- data/ext/vendor/golang.org/x/net/ipv4/zsys_solaris.go +100 -0
- data/ext/vendor/golang.org/x/net/ipv6/batch.go +119 -0
- data/ext/vendor/golang.org/x/net/ipv6/bpf_test.go +96 -0
- data/ext/vendor/golang.org/x/net/ipv6/control.go +187 -0
- data/ext/vendor/golang.org/x/net/ipv6/control_rfc2292_unix.go +48 -0
- data/ext/vendor/golang.org/x/net/ipv6/control_rfc3542_unix.go +94 -0
- data/ext/vendor/golang.org/x/net/ipv6/control_stub.go +13 -0
- data/ext/vendor/golang.org/x/net/ipv6/control_test.go +21 -0
- data/ext/vendor/golang.org/x/net/ipv6/control_unix.go +55 -0
- data/ext/vendor/golang.org/x/net/ipv6/control_windows.go +16 -0
- data/ext/vendor/golang.org/x/net/ipv6/defs_darwin.go +112 -0
- data/ext/vendor/golang.org/x/net/ipv6/defs_dragonfly.go +84 -0
- data/ext/vendor/golang.org/x/net/ipv6/defs_freebsd.go +105 -0
- data/ext/vendor/golang.org/x/net/ipv6/defs_linux.go +147 -0
- data/ext/vendor/golang.org/x/net/ipv6/defs_netbsd.go +80 -0
- data/ext/vendor/golang.org/x/net/ipv6/defs_openbsd.go +89 -0
- data/ext/vendor/golang.org/x/net/ipv6/defs_solaris.go +114 -0
- data/ext/vendor/golang.org/x/net/ipv6/dgramopt.go +302 -0
- data/ext/vendor/golang.org/x/net/ipv6/doc.go +243 -0
- data/ext/vendor/golang.org/x/net/ipv6/endpoint.go +128 -0
- data/ext/vendor/golang.org/x/net/ipv6/example_test.go +216 -0
- data/ext/vendor/golang.org/x/net/ipv6/gen.go +199 -0
- data/ext/vendor/golang.org/x/net/ipv6/genericopt.go +58 -0
- data/ext/vendor/golang.org/x/net/ipv6/header.go +55 -0
- data/ext/vendor/golang.org/x/net/ipv6/header_test.go +55 -0
- data/ext/vendor/golang.org/x/net/ipv6/helper.go +57 -0
- data/ext/vendor/golang.org/x/net/ipv6/iana.go +82 -0
- data/ext/vendor/golang.org/x/net/ipv6/icmp.go +60 -0
- data/ext/vendor/golang.org/x/net/ipv6/icmp_bsd.go +29 -0
- data/ext/vendor/golang.org/x/net/ipv6/icmp_linux.go +27 -0
- data/ext/vendor/golang.org/x/net/ipv6/icmp_solaris.go +27 -0
- data/ext/vendor/golang.org/x/net/ipv6/icmp_stub.go +23 -0
- data/ext/vendor/golang.org/x/net/ipv6/icmp_test.go +96 -0
- data/ext/vendor/golang.org/x/net/ipv6/icmp_windows.go +22 -0
- data/ext/vendor/golang.org/x/net/ipv6/mocktransponder_test.go +32 -0
- data/ext/vendor/golang.org/x/net/ipv6/multicast_test.go +264 -0
- data/ext/vendor/golang.org/x/net/ipv6/multicastlistener_test.go +261 -0
- data/ext/vendor/golang.org/x/net/ipv6/multicastsockopt_test.go +157 -0
- data/ext/vendor/golang.org/x/net/ipv6/payload.go +23 -0
- data/ext/vendor/golang.org/x/net/ipv6/payload_cmsg.go +35 -0
- data/ext/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_8.go +55 -0
- data/ext/vendor/golang.org/x/net/ipv6/payload_cmsg_go1_9.go +57 -0
- data/ext/vendor/golang.org/x/net/ipv6/payload_nocmsg.go +41 -0
- data/ext/vendor/golang.org/x/net/ipv6/readwrite_go1_8_test.go +242 -0
- data/ext/vendor/golang.org/x/net/ipv6/readwrite_go1_9_test.go +373 -0
- data/ext/vendor/golang.org/x/net/ipv6/readwrite_test.go +148 -0
- data/ext/vendor/golang.org/x/net/ipv6/sockopt.go +43 -0
- data/ext/vendor/golang.org/x/net/ipv6/sockopt_posix.go +87 -0
- data/ext/vendor/golang.org/x/net/ipv6/sockopt_stub.go +46 -0
- data/ext/vendor/golang.org/x/net/ipv6/sockopt_test.go +133 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_asmreq.go +24 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_asmreq_stub.go +17 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_bpf.go +23 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_bpf_stub.go +16 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_bsd.go +57 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_darwin.go +106 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_freebsd.go +92 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_linux.go +74 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_solaris.go +74 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_ssmreq.go +54 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_ssmreq_stub.go +21 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_stub.go +13 -0
- data/ext/vendor/golang.org/x/net/ipv6/sys_windows.go +75 -0
- data/ext/vendor/golang.org/x/net/ipv6/unicast_test.go +184 -0
- data/ext/vendor/golang.org/x/net/ipv6/unicastsockopt_test.go +120 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_darwin.go +131 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_dragonfly.go +88 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_freebsd_386.go +122 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_freebsd_amd64.go +124 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_freebsd_arm.go +124 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_386.go +170 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_amd64.go +172 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_arm.go +170 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_arm64.go +172 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mips.go +170 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mips64.go +172 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mips64le.go +172 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_mipsle.go +170 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_ppc.go +170 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64.go +172 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_ppc64le.go +172 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_linux_s390x.go +172 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_netbsd.go +84 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_openbsd.go +93 -0
- data/ext/vendor/golang.org/x/net/ipv6/zsys_solaris.go +131 -0
- data/ext/vendor/golang.org/x/net/lex/httplex/httplex.go +351 -0
- data/ext/vendor/golang.org/x/net/lex/httplex/httplex_test.go +119 -0
- data/ext/vendor/golang.org/x/net/lif/address.go +105 -0
- data/ext/vendor/golang.org/x/net/lif/address_test.go +123 -0
- data/ext/vendor/golang.org/x/net/lif/binary.go +115 -0
- data/ext/vendor/golang.org/x/net/lif/defs_solaris.go +90 -0
- data/ext/vendor/golang.org/x/net/lif/lif.go +43 -0
- data/ext/vendor/golang.org/x/net/lif/link.go +126 -0
- data/ext/vendor/golang.org/x/net/lif/link_test.go +63 -0
- data/ext/vendor/golang.org/x/net/lif/sys.go +21 -0
- data/ext/vendor/golang.org/x/net/lif/sys_solaris_amd64.s +8 -0
- data/ext/vendor/golang.org/x/net/lif/syscall.go +28 -0
- data/ext/vendor/golang.org/x/net/lif/zsys_solaris_amd64.go +103 -0
- data/ext/vendor/golang.org/x/net/nettest/conntest.go +456 -0
- data/ext/vendor/golang.org/x/net/nettest/conntest_go16.go +24 -0
- data/ext/vendor/golang.org/x/net/nettest/conntest_go17.go +24 -0
- data/ext/vendor/golang.org/x/net/nettest/conntest_test.go +76 -0
- data/ext/vendor/golang.org/x/net/netutil/listen.go +48 -0
- data/ext/vendor/golang.org/x/net/netutil/listen_test.go +101 -0
- data/ext/vendor/golang.org/x/net/proxy/direct.go +18 -0
- data/ext/vendor/golang.org/x/net/proxy/per_host.go +140 -0
- data/ext/vendor/golang.org/x/net/proxy/per_host_test.go +55 -0
- data/ext/vendor/golang.org/x/net/proxy/proxy.go +134 -0
- data/ext/vendor/golang.org/x/net/proxy/proxy_test.go +215 -0
- data/ext/vendor/golang.org/x/net/proxy/socks5.go +214 -0
- data/ext/vendor/golang.org/x/net/publicsuffix/gen.go +713 -0
- data/ext/vendor/golang.org/x/net/publicsuffix/list.go +135 -0
- data/ext/vendor/golang.org/x/net/publicsuffix/list_test.go +416 -0
- data/ext/vendor/golang.org/x/net/publicsuffix/table.go +9419 -0
- data/ext/vendor/golang.org/x/net/publicsuffix/table_test.go +16756 -0
- data/ext/vendor/golang.org/x/net/route/address.go +425 -0
- data/ext/vendor/golang.org/x/net/route/address_darwin_test.go +63 -0
- data/ext/vendor/golang.org/x/net/route/address_test.go +103 -0
- data/ext/vendor/golang.org/x/net/route/binary.go +90 -0
- data/ext/vendor/golang.org/x/net/route/defs_darwin.go +114 -0
- data/ext/vendor/golang.org/x/net/route/defs_dragonfly.go +113 -0
- data/ext/vendor/golang.org/x/net/route/defs_freebsd.go +337 -0
- data/ext/vendor/golang.org/x/net/route/defs_netbsd.go +112 -0
- data/ext/vendor/golang.org/x/net/route/defs_openbsd.go +116 -0
- data/ext/vendor/golang.org/x/net/route/interface.go +64 -0
- data/ext/vendor/golang.org/x/net/route/interface_announce.go +32 -0
- data/ext/vendor/golang.org/x/net/route/interface_classic.go +66 -0
- data/ext/vendor/golang.org/x/net/route/interface_freebsd.go +78 -0
- data/ext/vendor/golang.org/x/net/route/interface_multicast.go +30 -0
- data/ext/vendor/golang.org/x/net/route/interface_openbsd.go +90 -0
- data/ext/vendor/golang.org/x/net/route/message.go +72 -0
- data/ext/vendor/golang.org/x/net/route/message_darwin_test.go +34 -0
- data/ext/vendor/golang.org/x/net/route/message_freebsd_test.go +92 -0
- data/ext/vendor/golang.org/x/net/route/message_test.go +239 -0
- data/ext/vendor/golang.org/x/net/route/route.go +123 -0
- data/ext/vendor/golang.org/x/net/route/route_classic.go +67 -0
- data/ext/vendor/golang.org/x/net/route/route_openbsd.go +65 -0
- data/ext/vendor/golang.org/x/net/route/route_test.go +390 -0
- data/ext/vendor/golang.org/x/net/route/sys.go +39 -0
- data/ext/vendor/golang.org/x/net/route/sys_darwin.go +87 -0
- data/ext/vendor/golang.org/x/net/route/sys_dragonfly.go +76 -0
- data/ext/vendor/golang.org/x/net/route/sys_freebsd.go +155 -0
- data/ext/vendor/golang.org/x/net/route/sys_netbsd.go +71 -0
- data/ext/vendor/golang.org/x/net/route/sys_openbsd.go +80 -0
- data/ext/vendor/golang.org/x/net/route/syscall.go +28 -0
- data/ext/vendor/golang.org/x/net/route/zsys_darwin.go +99 -0
- data/ext/vendor/golang.org/x/net/route/zsys_dragonfly.go +98 -0
- data/ext/vendor/golang.org/x/net/route/zsys_freebsd_386.go +126 -0
- data/ext/vendor/golang.org/x/net/route/zsys_freebsd_amd64.go +123 -0
- data/ext/vendor/golang.org/x/net/route/zsys_freebsd_arm.go +123 -0
- data/ext/vendor/golang.org/x/net/route/zsys_netbsd.go +97 -0
- data/ext/vendor/golang.org/x/net/route/zsys_openbsd.go +101 -0
- data/ext/vendor/golang.org/x/net/trace/events.go +532 -0
- data/ext/vendor/golang.org/x/net/trace/histogram.go +365 -0
- data/ext/vendor/golang.org/x/net/trace/histogram_test.go +325 -0
- data/ext/vendor/golang.org/x/net/trace/trace.go +1082 -0
- data/ext/vendor/golang.org/x/net/trace/trace_go16.go +21 -0
- data/ext/vendor/golang.org/x/net/trace/trace_go17.go +21 -0
- data/ext/vendor/golang.org/x/net/trace/trace_test.go +178 -0
- data/ext/vendor/golang.org/x/net/webdav/file.go +796 -0
- data/ext/vendor/golang.org/x/net/webdav/file_go1.6.go +17 -0
- data/ext/vendor/golang.org/x/net/webdav/file_go1.7.go +16 -0
- data/ext/vendor/golang.org/x/net/webdav/file_test.go +1184 -0
- data/ext/vendor/golang.org/x/net/webdav/if.go +173 -0
- data/ext/vendor/golang.org/x/net/webdav/if_test.go +322 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/README +11 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/atom_test.go +56 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/example_test.go +151 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/marshal.go +1223 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/marshal_test.go +1939 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/read.go +692 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/read_test.go +744 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/typeinfo.go +371 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/xml.go +1998 -0
- data/ext/vendor/golang.org/x/net/webdav/internal/xml/xml_test.go +752 -0
- data/ext/vendor/golang.org/x/net/webdav/litmus_test_server.go +94 -0
- data/ext/vendor/golang.org/x/net/webdav/lock.go +445 -0
- data/ext/vendor/golang.org/x/net/webdav/lock_test.go +731 -0
- data/ext/vendor/golang.org/x/net/webdav/prop.go +418 -0
- data/ext/vendor/golang.org/x/net/webdav/prop_test.go +613 -0
- data/ext/vendor/golang.org/x/net/webdav/webdav.go +702 -0
- data/ext/vendor/golang.org/x/net/webdav/webdav_test.go +344 -0
- data/ext/vendor/golang.org/x/net/webdav/xml.go +519 -0
- data/ext/vendor/golang.org/x/net/webdav/xml_test.go +906 -0
- data/ext/vendor/golang.org/x/net/websocket/client.go +106 -0
- data/ext/vendor/golang.org/x/net/websocket/dial.go +24 -0
- data/ext/vendor/golang.org/x/net/websocket/dial_test.go +43 -0
- data/ext/vendor/golang.org/x/net/websocket/exampledial_test.go +31 -0
- data/ext/vendor/golang.org/x/net/websocket/examplehandler_test.go +26 -0
- data/ext/vendor/golang.org/x/net/websocket/hybi.go +583 -0
- data/ext/vendor/golang.org/x/net/websocket/hybi_test.go +608 -0
- data/ext/vendor/golang.org/x/net/websocket/server.go +113 -0
- data/ext/vendor/golang.org/x/net/websocket/websocket.go +448 -0
- data/ext/vendor/golang.org/x/net/websocket/websocket_test.go +665 -0
- data/ext/vendor/golang.org/x/net/xsrftoken/xsrf.go +94 -0
- data/ext/vendor/golang.org/x/net/xsrftoken/xsrf_test.go +83 -0
- data/ext/vendor/golang.org/x/text/AUTHORS +3 -0
- data/ext/vendor/golang.org/x/text/CONTRIBUTING.md +31 -0
- data/ext/vendor/golang.org/x/text/CONTRIBUTORS +3 -0
- data/ext/vendor/golang.org/x/text/LICENSE +27 -0
- data/ext/vendor/golang.org/x/text/PATENTS +22 -0
- data/ext/vendor/golang.org/x/text/README.md +91 -0
- data/ext/vendor/golang.org/x/text/cases/cases.go +162 -0
- data/ext/vendor/golang.org/x/text/cases/context.go +376 -0
- data/ext/vendor/golang.org/x/text/cases/context_test.go +438 -0
- data/ext/vendor/golang.org/x/text/cases/example_test.go +53 -0
- data/ext/vendor/golang.org/x/text/cases/fold.go +34 -0
- data/ext/vendor/golang.org/x/text/cases/fold_test.go +51 -0
- data/ext/vendor/golang.org/x/text/cases/gen.go +839 -0
- data/ext/vendor/golang.org/x/text/cases/gen_trieval.go +219 -0
- data/ext/vendor/golang.org/x/text/cases/icu.go +61 -0
- data/ext/vendor/golang.org/x/text/cases/icu_test.go +210 -0
- data/ext/vendor/golang.org/x/text/cases/info.go +82 -0
- data/ext/vendor/golang.org/x/text/cases/map.go +816 -0
- data/ext/vendor/golang.org/x/text/cases/map_test.go +950 -0
- data/ext/vendor/golang.org/x/text/cases/tables.go +2251 -0
- data/ext/vendor/golang.org/x/text/cases/tables_test.go +1158 -0
- data/ext/vendor/golang.org/x/text/cases/trieval.go +215 -0
- data/ext/vendor/golang.org/x/text/cmd/gotext/doc.go +35 -0
- data/ext/vendor/golang.org/x/text/cmd/gotext/extract.go +195 -0
- data/ext/vendor/golang.org/x/text/cmd/gotext/main.go +356 -0
- data/ext/vendor/golang.org/x/text/cmd/gotext/message.go +127 -0
- data/ext/vendor/golang.org/x/text/codereview.cfg +1 -0
- data/ext/vendor/golang.org/x/text/collate/build/builder.go +702 -0
- data/ext/vendor/golang.org/x/text/collate/build/builder_test.go +290 -0
- data/ext/vendor/golang.org/x/text/collate/build/colelem.go +294 -0
- data/ext/vendor/golang.org/x/text/collate/build/colelem_test.go +215 -0
- data/ext/vendor/golang.org/x/text/collate/build/contract.go +309 -0
- data/ext/vendor/golang.org/x/text/collate/build/contract_test.go +266 -0
- data/ext/vendor/golang.org/x/text/collate/build/order.go +393 -0
- data/ext/vendor/golang.org/x/text/collate/build/order_test.go +229 -0
- data/ext/vendor/golang.org/x/text/collate/build/table.go +81 -0
- data/ext/vendor/golang.org/x/text/collate/build/trie.go +290 -0
- data/ext/vendor/golang.org/x/text/collate/build/trie_test.go +107 -0
- data/ext/vendor/golang.org/x/text/collate/collate.go +403 -0
- data/ext/vendor/golang.org/x/text/collate/collate_test.go +482 -0
- data/ext/vendor/golang.org/x/text/collate/export_test.go +51 -0
- data/ext/vendor/golang.org/x/text/collate/index.go +32 -0
- data/ext/vendor/golang.org/x/text/collate/maketables.go +553 -0
- data/ext/vendor/golang.org/x/text/collate/option.go +239 -0
- data/ext/vendor/golang.org/x/text/collate/option_test.go +209 -0
- data/ext/vendor/golang.org/x/text/collate/reg_test.go +230 -0
- data/ext/vendor/golang.org/x/text/collate/sort.go +81 -0
- data/ext/vendor/golang.org/x/text/collate/sort_test.go +55 -0
- data/ext/vendor/golang.org/x/text/collate/table_test.go +291 -0
- data/ext/vendor/golang.org/x/text/collate/tables.go +73789 -0
- data/ext/vendor/golang.org/x/text/collate/tools/colcmp/Makefile +7 -0
- data/ext/vendor/golang.org/x/text/collate/tools/colcmp/chars.go +1156 -0
- data/ext/vendor/golang.org/x/text/collate/tools/colcmp/col.go +97 -0
- data/ext/vendor/golang.org/x/text/collate/tools/colcmp/colcmp.go +529 -0
- data/ext/vendor/golang.org/x/text/collate/tools/colcmp/darwin.go +111 -0
- data/ext/vendor/golang.org/x/text/collate/tools/colcmp/gen.go +183 -0
- data/ext/vendor/golang.org/x/text/collate/tools/colcmp/icu.go +209 -0
- data/ext/vendor/golang.org/x/text/currency/common.go +66 -0
- data/ext/vendor/golang.org/x/text/currency/currency.go +185 -0
- data/ext/vendor/golang.org/x/text/currency/currency_test.go +171 -0
- data/ext/vendor/golang.org/x/text/currency/example_test.go +27 -0
- data/ext/vendor/golang.org/x/text/currency/format.go +215 -0
- data/ext/vendor/golang.org/x/text/currency/format_test.go +70 -0
- data/ext/vendor/golang.org/x/text/currency/gen.go +400 -0
- data/ext/vendor/golang.org/x/text/currency/gen_common.go +70 -0
- data/ext/vendor/golang.org/x/text/currency/query.go +152 -0
- data/ext/vendor/golang.org/x/text/currency/query_test.go +107 -0
- data/ext/vendor/golang.org/x/text/currency/tables.go +2574 -0
- data/ext/vendor/golang.org/x/text/currency/tables_test.go +93 -0
- data/ext/vendor/golang.org/x/text/doc.go +13 -0
- data/ext/vendor/golang.org/x/text/encoding/charmap/charmap.go +249 -0
- data/ext/vendor/golang.org/x/text/encoding/charmap/charmap_test.go +258 -0
- data/ext/vendor/golang.org/x/text/encoding/charmap/maketables.go +556 -0
- data/ext/vendor/golang.org/x/text/encoding/charmap/tables.go +7410 -0
- data/ext/vendor/golang.org/x/text/encoding/encoding.go +335 -0
- data/ext/vendor/golang.org/x/text/encoding/encoding_test.go +290 -0
- data/ext/vendor/golang.org/x/text/encoding/example_test.go +42 -0
- data/ext/vendor/golang.org/x/text/encoding/htmlindex/gen.go +173 -0
- data/ext/vendor/golang.org/x/text/encoding/htmlindex/htmlindex.go +86 -0
- data/ext/vendor/golang.org/x/text/encoding/htmlindex/htmlindex_test.go +144 -0
- data/ext/vendor/golang.org/x/text/encoding/htmlindex/map.go +105 -0
- data/ext/vendor/golang.org/x/text/encoding/htmlindex/tables.go +352 -0
- data/ext/vendor/golang.org/x/text/encoding/ianaindex/example_test.go +27 -0
- data/ext/vendor/golang.org/x/text/encoding/ianaindex/gen.go +192 -0
- data/ext/vendor/golang.org/x/text/encoding/ianaindex/ianaindex.go +209 -0
- data/ext/vendor/golang.org/x/text/encoding/ianaindex/ianaindex_test.go +192 -0
- data/ext/vendor/golang.org/x/text/encoding/ianaindex/tables.go +2348 -0
- data/ext/vendor/golang.org/x/text/encoding/internal/enctest/enctest.go +180 -0
- data/ext/vendor/golang.org/x/text/encoding/internal/identifier/gen.go +137 -0
- data/ext/vendor/golang.org/x/text/encoding/internal/identifier/identifier.go +81 -0
- data/ext/vendor/golang.org/x/text/encoding/internal/identifier/mib.go +1621 -0
- data/ext/vendor/golang.org/x/text/encoding/internal/internal.go +75 -0
- data/ext/vendor/golang.org/x/text/encoding/japanese/all.go +12 -0
- data/ext/vendor/golang.org/x/text/encoding/japanese/all_test.go +248 -0
- data/ext/vendor/golang.org/x/text/encoding/japanese/eucjp.go +225 -0
- data/ext/vendor/golang.org/x/text/encoding/japanese/iso2022jp.go +299 -0
- data/ext/vendor/golang.org/x/text/encoding/japanese/maketables.go +161 -0
- data/ext/vendor/golang.org/x/text/encoding/japanese/shiftjis.go +189 -0
- data/ext/vendor/golang.org/x/text/encoding/japanese/tables.go +26971 -0
- data/ext/vendor/golang.org/x/text/encoding/korean/all_test.go +94 -0
- data/ext/vendor/golang.org/x/text/encoding/korean/euckr.go +177 -0
- data/ext/vendor/golang.org/x/text/encoding/korean/maketables.go +143 -0
- data/ext/vendor/golang.org/x/text/encoding/korean/tables.go +34152 -0
- data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/all.go +12 -0
- data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/all_test.go +143 -0
- data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/gbk.go +269 -0
- data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/hzgb2312.go +245 -0
- data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/maketables.go +161 -0
- data/ext/vendor/golang.org/x/text/encoding/simplifiedchinese/tables.go +43999 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/candide-gb18030.txt +510 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/candide-utf-16le.txt +0 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/candide-utf-32be.txt +0 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/candide-utf-8.txt +510 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/candide-windows-1252.txt +510 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-euc-jp.txt +178 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-iso-2022-jp.txt +178 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-shift-jis.txt +178 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/rashomon-utf-8.txt +178 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-gb-levels-1-and-2-hz-gb2312.txt +107 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-gb-levels-1-and-2-utf-8.txt +107 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-simplified-gbk.txt +107 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-simplified-utf-8.txt +107 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-traditional-big5.txt +106 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/sunzi-bingfa-traditional-utf-8.txt +106 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/unsu-joh-eun-nal-euc-kr.txt +175 -0
- data/ext/vendor/golang.org/x/text/encoding/testdata/unsu-joh-eun-nal-utf-8.txt +175 -0
- data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/all_test.go +114 -0
- data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/big5.go +199 -0
- data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/maketables.go +140 -0
- data/ext/vendor/golang.org/x/text/encoding/traditionalchinese/tables.go +37142 -0
- data/ext/vendor/golang.org/x/text/encoding/unicode/override.go +82 -0
- data/ext/vendor/golang.org/x/text/encoding/unicode/unicode.go +434 -0
- data/ext/vendor/golang.org/x/text/encoding/unicode/unicode_test.go +499 -0
- data/ext/vendor/golang.org/x/text/encoding/unicode/utf32/utf32.go +296 -0
- data/ext/vendor/golang.org/x/text/encoding/unicode/utf32/utf32_test.go +248 -0
- data/ext/vendor/golang.org/x/text/feature/plural/common.go +70 -0
- data/ext/vendor/golang.org/x/text/feature/plural/data_test.go +190 -0
- data/ext/vendor/golang.org/x/text/feature/plural/example_test.go +46 -0
- data/ext/vendor/golang.org/x/text/feature/plural/gen.go +513 -0
- data/ext/vendor/golang.org/x/text/feature/plural/gen_common.go +74 -0
- data/ext/vendor/golang.org/x/text/feature/plural/message.go +244 -0
- data/ext/vendor/golang.org/x/text/feature/plural/message_test.go +197 -0
- data/ext/vendor/golang.org/x/text/feature/plural/plural.go +258 -0
- data/ext/vendor/golang.org/x/text/feature/plural/plural_test.go +216 -0
- data/ext/vendor/golang.org/x/text/feature/plural/tables.go +540 -0
- data/ext/vendor/golang.org/x/text/gen.go +318 -0
- data/ext/vendor/golang.org/x/text/internal/catmsg/catmsg.go +366 -0
- data/ext/vendor/golang.org/x/text/internal/catmsg/catmsg_test.go +316 -0
- data/ext/vendor/golang.org/x/text/internal/catmsg/codec.go +407 -0
- data/ext/vendor/golang.org/x/text/internal/catmsg/varint.go +62 -0
- data/ext/vendor/golang.org/x/text/internal/catmsg/varint_test.go +123 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/collate_test.go +121 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/collelem.go +371 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/collelem_test.go +183 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/colltab.go +105 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/colltab_test.go +64 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/contract.go +145 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/contract_test.go +131 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/iter.go +178 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/iter_test.go +63 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/numeric.go +236 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/numeric_test.go +159 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/table.go +275 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/trie.go +159 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/trie_test.go +106 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/weighter.go +31 -0
- data/ext/vendor/golang.org/x/text/internal/colltab/weighter_test.go +42 -0
- data/ext/vendor/golang.org/x/text/internal/export/README +4 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/common_test.go +55 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/example_test.go +68 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/gen.go +276 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/gen_common.go +59 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/gen_test.go +91 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/gen_trieval.go +123 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/idna.go +717 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/idna_test.go +308 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/punycode.go +201 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/punycode_test.go +198 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/tables.go +4557 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/trie.go +70 -0
- data/ext/vendor/golang.org/x/text/internal/export/idna/trieval.go +119 -0
- data/ext/vendor/golang.org/x/text/internal/format/format.go +41 -0
- data/ext/vendor/golang.org/x/text/internal/gen.go +52 -0
- data/ext/vendor/golang.org/x/text/internal/gen/code.go +351 -0
- data/ext/vendor/golang.org/x/text/internal/gen/gen.go +281 -0
- data/ext/vendor/golang.org/x/text/internal/gen_test.go +38 -0
- data/ext/vendor/golang.org/x/text/internal/internal.go +51 -0
- data/ext/vendor/golang.org/x/text/internal/internal_test.go +38 -0
- data/ext/vendor/golang.org/x/text/internal/match.go +67 -0
- data/ext/vendor/golang.org/x/text/internal/match_test.go +56 -0
- data/ext/vendor/golang.org/x/text/internal/number/common.go +40 -0
- data/ext/vendor/golang.org/x/text/internal/number/decimal.go +498 -0
- data/ext/vendor/golang.org/x/text/internal/number/decimal_test.go +329 -0
- data/ext/vendor/golang.org/x/text/internal/number/format.go +540 -0
- data/ext/vendor/golang.org/x/text/internal/number/format_test.go +522 -0
- data/ext/vendor/golang.org/x/text/internal/number/gen.go +458 -0
- data/ext/vendor/golang.org/x/text/internal/number/gen_common.go +44 -0
- data/ext/vendor/golang.org/x/text/internal/number/number.go +154 -0
- data/ext/vendor/golang.org/x/text/internal/number/number_test.go +100 -0
- data/ext/vendor/golang.org/x/text/internal/number/pattern.go +485 -0
- data/ext/vendor/golang.org/x/text/internal/number/pattern_test.go +438 -0
- data/ext/vendor/golang.org/x/text/internal/number/roundingmode_string.go +16 -0
- data/ext/vendor/golang.org/x/text/internal/number/tables.go +1154 -0
- data/ext/vendor/golang.org/x/text/internal/number/tables_test.go +125 -0
- data/ext/vendor/golang.org/x/text/internal/stringset/set.go +86 -0
- data/ext/vendor/golang.org/x/text/internal/stringset/set_test.go +53 -0
- data/ext/vendor/golang.org/x/text/internal/tables.go +117 -0
- data/ext/vendor/golang.org/x/text/internal/tag/tag.go +100 -0
- data/ext/vendor/golang.org/x/text/internal/tag/tag_test.go +67 -0
- data/ext/vendor/golang.org/x/text/internal/testtext/codesize.go +53 -0
- data/ext/vendor/golang.org/x/text/internal/testtext/flag.go +22 -0
- data/ext/vendor/golang.org/x/text/internal/testtext/gc.go +14 -0
- data/ext/vendor/golang.org/x/text/internal/testtext/gccgo.go +11 -0
- data/ext/vendor/golang.org/x/text/internal/testtext/go1_6.go +23 -0
- data/ext/vendor/golang.org/x/text/internal/testtext/go1_7.go +17 -0
- data/ext/vendor/golang.org/x/text/internal/testtext/text.go +105 -0
- data/ext/vendor/golang.org/x/text/internal/triegen/compact.go +58 -0
- data/ext/vendor/golang.org/x/text/internal/triegen/data_test.go +875 -0
- data/ext/vendor/golang.org/x/text/internal/triegen/example_compact_test.go +71 -0
- data/ext/vendor/golang.org/x/text/internal/triegen/example_test.go +148 -0
- data/ext/vendor/golang.org/x/text/internal/triegen/gen_test.go +68 -0
- data/ext/vendor/golang.org/x/text/internal/triegen/print.go +251 -0
- data/ext/vendor/golang.org/x/text/internal/triegen/triegen.go +494 -0
- data/ext/vendor/golang.org/x/text/internal/ucd/example_test.go +81 -0
- data/ext/vendor/golang.org/x/text/internal/ucd/ucd.go +371 -0
- data/ext/vendor/golang.org/x/text/internal/ucd/ucd_test.go +105 -0
- data/ext/vendor/golang.org/x/text/internal/utf8internal/utf8internal.go +87 -0
- data/ext/vendor/golang.org/x/text/language/Makefile +16 -0
- data/ext/vendor/golang.org/x/text/language/common.go +16 -0
- data/ext/vendor/golang.org/x/text/language/coverage.go +197 -0
- data/ext/vendor/golang.org/x/text/language/coverage_test.go +154 -0
- data/ext/vendor/golang.org/x/text/language/display/dict.go +92 -0
- data/ext/vendor/golang.org/x/text/language/display/dict_test.go +39 -0
- data/ext/vendor/golang.org/x/text/language/display/display.go +420 -0
- data/ext/vendor/golang.org/x/text/language/display/display_test.go +705 -0
- data/ext/vendor/golang.org/x/text/language/display/examples_test.go +116 -0
- data/ext/vendor/golang.org/x/text/language/display/lookup.go +251 -0
- data/ext/vendor/golang.org/x/text/language/display/maketables.go +602 -0
- data/ext/vendor/golang.org/x/text/language/display/tables.go +50344 -0
- data/ext/vendor/golang.org/x/text/language/doc.go +102 -0
- data/ext/vendor/golang.org/x/text/language/examples_test.go +413 -0
- data/ext/vendor/golang.org/x/text/language/gen.go +1706 -0
- data/ext/vendor/golang.org/x/text/language/gen_common.go +20 -0
- data/ext/vendor/golang.org/x/text/language/gen_index.go +162 -0
- data/ext/vendor/golang.org/x/text/language/go1_1.go +38 -0
- data/ext/vendor/golang.org/x/text/language/go1_2.go +11 -0
- data/ext/vendor/golang.org/x/text/language/httpexample_test.go +48 -0
- data/ext/vendor/golang.org/x/text/language/index.go +769 -0
- data/ext/vendor/golang.org/x/text/language/language.go +887 -0
- data/ext/vendor/golang.org/x/text/language/language_test.go +878 -0
- data/ext/vendor/golang.org/x/text/language/lookup.go +396 -0
- data/ext/vendor/golang.org/x/text/language/lookup_test.go +457 -0
- data/ext/vendor/golang.org/x/text/language/match.go +933 -0
- data/ext/vendor/golang.org/x/text/language/match_test.go +505 -0
- data/ext/vendor/golang.org/x/text/language/parse.go +859 -0
- data/ext/vendor/golang.org/x/text/language/parse_test.go +517 -0
- data/ext/vendor/golang.org/x/text/language/tables.go +3675 -0
- data/ext/vendor/golang.org/x/text/language/tags.go +143 -0
- data/ext/vendor/golang.org/x/text/language/testdata/CLDRLocaleMatcherTest.txt +389 -0
- data/ext/vendor/golang.org/x/text/language/testdata/GoLocaleMatcherTest.txt +226 -0
- data/ext/vendor/golang.org/x/text/message/catalog.go +28 -0
- data/ext/vendor/golang.org/x/text/message/catalog/catalog.go +292 -0
- data/ext/vendor/golang.org/x/text/message/catalog/catalog_test.go +194 -0
- data/ext/vendor/golang.org/x/text/message/catalog/dict.go +90 -0
- data/ext/vendor/golang.org/x/text/message/doc.go +100 -0
- data/ext/vendor/golang.org/x/text/message/examples_test.go +42 -0
- data/ext/vendor/golang.org/x/text/message/fmt_test.go +1889 -0
- data/ext/vendor/golang.org/x/text/message/format.go +532 -0
- data/ext/vendor/golang.org/x/text/message/message.go +169 -0
- data/ext/vendor/golang.org/x/text/message/message_test.go +181 -0
- data/ext/vendor/golang.org/x/text/message/print.go +1194 -0
- data/ext/vendor/golang.org/x/text/number/doc.go +28 -0
- data/ext/vendor/golang.org/x/text/number/examples_test.go +28 -0
- data/ext/vendor/golang.org/x/text/number/format.go +122 -0
- data/ext/vendor/golang.org/x/text/number/format_test.go +107 -0
- data/ext/vendor/golang.org/x/text/number/number.go +77 -0
- data/ext/vendor/golang.org/x/text/number/number_test.go +190 -0
- data/ext/vendor/golang.org/x/text/number/option.go +177 -0
- data/ext/vendor/golang.org/x/text/runes/cond.go +187 -0
- data/ext/vendor/golang.org/x/text/runes/cond_test.go +282 -0
- data/ext/vendor/golang.org/x/text/runes/example_test.go +60 -0
- data/ext/vendor/golang.org/x/text/runes/runes.go +355 -0
- data/ext/vendor/golang.org/x/text/runes/runes_test.go +664 -0
- data/ext/vendor/golang.org/x/text/search/index.go +35 -0
- data/ext/vendor/golang.org/x/text/search/pattern.go +155 -0
- data/ext/vendor/golang.org/x/text/search/pattern_test.go +357 -0
- data/ext/vendor/golang.org/x/text/search/search.go +237 -0
- data/ext/vendor/golang.org/x/text/search/tables.go +12448 -0
- data/ext/vendor/golang.org/x/text/secure/bidirule/bench_test.go +54 -0
- data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule.go +340 -0
- data/ext/vendor/golang.org/x/text/secure/bidirule/bidirule_test.go +851 -0
- data/ext/vendor/golang.org/x/text/secure/doc.go +6 -0
- data/ext/vendor/golang.org/x/text/secure/precis/benchmark_test.go +82 -0
- data/ext/vendor/golang.org/x/text/secure/precis/class.go +36 -0
- data/ext/vendor/golang.org/x/text/secure/precis/class_test.go +50 -0
- data/ext/vendor/golang.org/x/text/secure/precis/context.go +139 -0
- data/ext/vendor/golang.org/x/text/secure/precis/doc.go +14 -0
- data/ext/vendor/golang.org/x/text/secure/precis/enforce_test.go +396 -0
- data/ext/vendor/golang.org/x/text/secure/precis/gen.go +310 -0
- data/ext/vendor/golang.org/x/text/secure/precis/gen_trieval.go +68 -0
- data/ext/vendor/golang.org/x/text/secure/precis/nickname.go +72 -0
- data/ext/vendor/golang.org/x/text/secure/precis/options.go +157 -0
- data/ext/vendor/golang.org/x/text/secure/precis/profile.go +402 -0
- data/ext/vendor/golang.org/x/text/secure/precis/profile_test.go +149 -0
- data/ext/vendor/golang.org/x/text/secure/precis/profiles.go +78 -0
- data/ext/vendor/golang.org/x/text/secure/precis/tables.go +3887 -0
- data/ext/vendor/golang.org/x/text/secure/precis/tables_test.go +69 -0
- data/ext/vendor/golang.org/x/text/secure/precis/transformer.go +32 -0
- data/ext/vendor/golang.org/x/text/secure/precis/trieval.go +64 -0
- data/ext/vendor/golang.org/x/text/transform/examples_test.go +37 -0
- data/ext/vendor/golang.org/x/text/transform/transform.go +705 -0
- data/ext/vendor/golang.org/x/text/transform/transform_test.go +1317 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/bidi.go +198 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/bracket.go +335 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/core.go +1058 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/core_test.go +224 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/gen.go +133 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/gen_ranges.go +57 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/gen_trieval.go +64 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/prop.go +206 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/ranges_test.go +53 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/tables.go +1813 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/tables_test.go +82 -0
- data/ext/vendor/golang.org/x/text/unicode/bidi/trieval.go +60 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/base.go +100 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/cldr.go +130 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/cldr_test.go +27 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/collate.go +359 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/collate_test.go +275 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/data_test.go +186 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/decode.go +171 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/examples_test.go +21 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/makexml.go +400 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/resolve.go +602 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/resolve_test.go +368 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/slice.go +144 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/slice_test.go +175 -0
- data/ext/vendor/golang.org/x/text/unicode/cldr/xml.go +1487 -0
- data/ext/vendor/golang.org/x/text/unicode/doc.go +8 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/composition.go +508 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/composition_test.go +130 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/example_iter_test.go +82 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/example_test.go +27 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/forminfo.go +259 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/forminfo_test.go +54 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/input.go +109 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/iter.go +457 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/iter_test.go +98 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/maketables.go +976 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/norm_test.go +14 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/normalize.go +609 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/normalize_test.go +1287 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/readwriter.go +125 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/readwriter_test.go +56 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/tables.go +7651 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/transform.go +88 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/transform_test.go +101 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/trie.go +54 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/triegen.go +117 -0
- data/ext/vendor/golang.org/x/text/unicode/norm/ucd_test.go +275 -0
- data/ext/vendor/golang.org/x/text/unicode/rangetable/gen.go +115 -0
- data/ext/vendor/golang.org/x/text/unicode/rangetable/merge.go +260 -0
- data/ext/vendor/golang.org/x/text/unicode/rangetable/merge_test.go +184 -0
- data/ext/vendor/golang.org/x/text/unicode/rangetable/rangetable.go +70 -0
- data/ext/vendor/golang.org/x/text/unicode/rangetable/rangetable_test.go +55 -0
- data/ext/vendor/golang.org/x/text/unicode/rangetable/tables.go +6376 -0
- data/ext/vendor/golang.org/x/text/unicode/runenames/bits.go +59 -0
- data/ext/vendor/golang.org/x/text/unicode/runenames/example_test.go +118 -0
- data/ext/vendor/golang.org/x/text/unicode/runenames/gen.go +195 -0
- data/ext/vendor/golang.org/x/text/unicode/runenames/gen_bits.go +63 -0
- data/ext/vendor/golang.org/x/text/unicode/runenames/runenames.go +48 -0
- data/ext/vendor/golang.org/x/text/unicode/runenames/runenames_test.go +46 -0
- data/ext/vendor/golang.org/x/text/unicode/runenames/tables.go +15514 -0
- data/ext/vendor/golang.org/x/text/width/common_test.go +92 -0
- data/ext/vendor/golang.org/x/text/width/example_test.go +52 -0
- data/ext/vendor/golang.org/x/text/width/gen.go +115 -0
- data/ext/vendor/golang.org/x/text/width/gen_common.go +96 -0
- data/ext/vendor/golang.org/x/text/width/gen_trieval.go +34 -0
- data/ext/vendor/golang.org/x/text/width/kind_string.go +16 -0
- data/ext/vendor/golang.org/x/text/width/runes_test.go +461 -0
- data/ext/vendor/golang.org/x/text/width/tables.go +1316 -0
- data/ext/vendor/golang.org/x/text/width/tables_test.go +59 -0
- data/ext/vendor/golang.org/x/text/width/transform.go +239 -0
- data/ext/vendor/golang.org/x/text/width/transform_test.go +701 -0
- data/ext/vendor/golang.org/x/text/width/trieval.go +30 -0
- data/ext/vendor/golang.org/x/text/width/width.go +206 -0
- data/lib/ires/version.rb +1 -1
- data/shared/darwin/ires.so +0 -0
- data/shared/linux/ires.so +0 -0
- metadata +1011 -23
- data/ext/operate/image.go +0 -176
- data/ext/util/uri/uri.go +0 -105
- data/ext/vendor/github.com/satori/go.uuid/README.md +0 -65
- data/ext/vendor/github.com/satori/go.uuid/benchmarks_test.go +0 -121
- data/ext/vendor/github.com/satori/go.uuid/uuid.go +0 -488
- data/ext/vendor/github.com/satori/go.uuid/uuid_test.go +0 -633
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
// Copyright 2015 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package tag
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"strings"
|
|
9
|
+
"testing"
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
var strdata = []string{
|
|
13
|
+
"aa ",
|
|
14
|
+
"aaa ",
|
|
15
|
+
"aaaa",
|
|
16
|
+
"aaab",
|
|
17
|
+
"aab ",
|
|
18
|
+
"ab ",
|
|
19
|
+
"ba ",
|
|
20
|
+
"xxxx",
|
|
21
|
+
"\xff\xff\xff\xff",
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
var testCases = map[string]int{
|
|
25
|
+
"a": 0,
|
|
26
|
+
"aa": 0,
|
|
27
|
+
"aaa": 1,
|
|
28
|
+
"aa ": 0,
|
|
29
|
+
"aaaa": 2,
|
|
30
|
+
"aaab": 3,
|
|
31
|
+
"b": 6,
|
|
32
|
+
"ba": 6,
|
|
33
|
+
" ": -1,
|
|
34
|
+
"aaax": -1,
|
|
35
|
+
"bbbb": -1,
|
|
36
|
+
"zzzz": -1,
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
func TestIndex(t *testing.T) {
|
|
40
|
+
index := Index(strings.Join(strdata, ""))
|
|
41
|
+
for k, v := range testCases {
|
|
42
|
+
if i := index.Index([]byte(k)); i != v {
|
|
43
|
+
t.Errorf("%s: got %d; want %d", k, i, v)
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
func TestFixCase(t *testing.T) {
|
|
49
|
+
tests := []string{
|
|
50
|
+
"aaaa", "AbCD", "abcd",
|
|
51
|
+
"Zzzz", "AbCD", "Abcd",
|
|
52
|
+
"Zzzz", "AbC", "",
|
|
53
|
+
"XXX", "ab ", "",
|
|
54
|
+
"XXX", "usd", "USD",
|
|
55
|
+
"cmn", "AB ", "",
|
|
56
|
+
"gsw", "CMN", "cmn",
|
|
57
|
+
}
|
|
58
|
+
for tc := tests; len(tc) > 0; tc = tc[3:] {
|
|
59
|
+
b := []byte(tc[1])
|
|
60
|
+
if !FixCase(tc[0], b) {
|
|
61
|
+
b = nil
|
|
62
|
+
}
|
|
63
|
+
if string(b) != tc[2] {
|
|
64
|
+
t.Errorf("FixCase(%q, %q) = %q; want %q", tc[0], tc[1], b, tc[2])
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// Copyright 2015 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package testtext
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"bytes"
|
|
9
|
+
"fmt"
|
|
10
|
+
"io/ioutil"
|
|
11
|
+
"os"
|
|
12
|
+
"os/exec"
|
|
13
|
+
"path/filepath"
|
|
14
|
+
"runtime"
|
|
15
|
+
)
|
|
16
|
+
|
|
17
|
+
// CodeSize builds the given code sample and returns the binary size or en error
|
|
18
|
+
// if an error occurred. The code sample typically will look like this:
|
|
19
|
+
// package main
|
|
20
|
+
// import "golang.org/x/text/somepackage"
|
|
21
|
+
// func main() {
|
|
22
|
+
// somepackage.Func() // reference Func to cause it to be linked in.
|
|
23
|
+
// }
|
|
24
|
+
// See dict_test.go in the display package for an example.
|
|
25
|
+
func CodeSize(s string) (int, error) {
|
|
26
|
+
// Write the file.
|
|
27
|
+
tmpdir, err := ioutil.TempDir(os.TempDir(), "testtext")
|
|
28
|
+
if err != nil {
|
|
29
|
+
return 0, fmt.Errorf("testtext: failed to create tmpdir: %v", err)
|
|
30
|
+
}
|
|
31
|
+
defer os.RemoveAll(tmpdir)
|
|
32
|
+
filename := filepath.Join(tmpdir, "main.go")
|
|
33
|
+
if err := ioutil.WriteFile(filename, []byte(s), 0644); err != nil {
|
|
34
|
+
return 0, fmt.Errorf("testtext: failed to write main.go: %v", err)
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Build the binary.
|
|
38
|
+
w := &bytes.Buffer{}
|
|
39
|
+
cmd := exec.Command(filepath.Join(runtime.GOROOT(), "bin", "go"), "build", "-o", "main")
|
|
40
|
+
cmd.Dir = tmpdir
|
|
41
|
+
cmd.Stderr = w
|
|
42
|
+
cmd.Stdout = w
|
|
43
|
+
if err := cmd.Run(); err != nil {
|
|
44
|
+
return 0, fmt.Errorf("testtext: failed to execute command: %v\nmain.go:\n%vErrors:%s", err, s, w)
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
// Determine the size.
|
|
48
|
+
fi, err := os.Stat(filepath.Join(tmpdir, "main"))
|
|
49
|
+
if err != nil {
|
|
50
|
+
return 0, fmt.Errorf("testtext: failed to get file info: %v", err)
|
|
51
|
+
}
|
|
52
|
+
return int(fi.Size()), nil
|
|
53
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright 2015 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package testtext
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
"flag"
|
|
9
|
+
"testing"
|
|
10
|
+
|
|
11
|
+
"golang.org/x/text/internal/gen"
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
var long = flag.Bool("long", false,
|
|
15
|
+
"run tests that require fetching data online")
|
|
16
|
+
|
|
17
|
+
// SkipIfNotLong returns whether long tests should be performed.
|
|
18
|
+
func SkipIfNotLong(t *testing.T) {
|
|
19
|
+
if testing.Short() || !(gen.IsLocal() || *long) {
|
|
20
|
+
t.Skip("skipping test to prevent downloading; to run use -long or use -local or UNICODE_DIR to specify a local source")
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
// Copyright 2016 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// +build !gccgo
|
|
6
|
+
|
|
7
|
+
package testtext
|
|
8
|
+
|
|
9
|
+
import "testing"
|
|
10
|
+
|
|
11
|
+
// AllocsPerRun wraps testing.AllocsPerRun.
|
|
12
|
+
func AllocsPerRun(runs int, f func()) (avg float64) {
|
|
13
|
+
return testing.AllocsPerRun(runs, f)
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright 2016 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// +build gccgo
|
|
6
|
+
|
|
7
|
+
package testtext
|
|
8
|
+
|
|
9
|
+
// AllocsPerRun always returns 0 for gccgo until gccgo implements escape
|
|
10
|
+
// analysis equal or better to that of gc.
|
|
11
|
+
func AllocsPerRun(runs int, f func()) (avg float64) { return 0 }
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright 2016 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// +build !go1.7
|
|
6
|
+
|
|
7
|
+
package testtext
|
|
8
|
+
|
|
9
|
+
import "testing"
|
|
10
|
+
|
|
11
|
+
func Run(t *testing.T, name string, fn func(t *testing.T)) bool {
|
|
12
|
+
t.Logf("Running %s...", name)
|
|
13
|
+
fn(t)
|
|
14
|
+
return t.Failed()
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
// Bench runs the given benchmark function. This pre-1.7 implementation renders
|
|
18
|
+
// the measurement useless, but allows the code to be compiled at least.
|
|
19
|
+
func Bench(b *testing.B, name string, fn func(b *testing.B)) bool {
|
|
20
|
+
b.Logf("Running %s...", name)
|
|
21
|
+
fn(b)
|
|
22
|
+
return b.Failed()
|
|
23
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
// Copyright 2016 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// +build go1.7
|
|
6
|
+
|
|
7
|
+
package testtext
|
|
8
|
+
|
|
9
|
+
import "testing"
|
|
10
|
+
|
|
11
|
+
func Run(t *testing.T, name string, fn func(t *testing.T)) bool {
|
|
12
|
+
return t.Run(name, fn)
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
func Bench(b *testing.B, name string, fn func(b *testing.B)) bool {
|
|
16
|
+
return b.Run(name, fn)
|
|
17
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// Copyright 2015 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
// Package testtext contains test data that is of common use to the text
|
|
6
|
+
// repository.
|
|
7
|
+
package testtext // import "golang.org/x/text/internal/testtext"
|
|
8
|
+
|
|
9
|
+
const (
|
|
10
|
+
|
|
11
|
+
// ASCII is an ASCII string containing all letters in the English alphabet.
|
|
12
|
+
ASCII = "The quick brown fox jumps over the lazy dog. " +
|
|
13
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
14
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
15
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
16
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
17
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
18
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
19
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
20
|
+
"The quick brown fox jumps over the lazy dog. " +
|
|
21
|
+
"The quick brown fox jumps over the lazy dog. "
|
|
22
|
+
|
|
23
|
+
// Vietnamese is a snippet from http://creativecommons.org/licenses/by-sa/3.0/vn/
|
|
24
|
+
Vietnamese = `Với các điều kiện sau: Ghi nhận công của tác giả.
|
|
25
|
+
Nếu bạn sử dụng, chuyển đổi, hoặc xây dựng dự án từ
|
|
26
|
+
nội dung được chia sẻ này, bạn phải áp dụng giấy phép này hoặc
|
|
27
|
+
một giấy phép khác có các điều khoản tương tự như giấy phép này
|
|
28
|
+
cho dự án của bạn. Hiểu rằng: Miễn — Bất kỳ các điều kiện nào
|
|
29
|
+
trên đây cũng có thể được miễn bỏ nếu bạn được sự cho phép của
|
|
30
|
+
người sở hữu bản quyền. Phạm vi công chúng — Khi tác phẩm hoặc
|
|
31
|
+
bất kỳ chương nào của tác phẩm đã trong vùng dành cho công
|
|
32
|
+
chúng theo quy định của pháp luật thì tình trạng của nó không
|
|
33
|
+
bị ảnh hưởng bởi giấy phép trong bất kỳ trường hợp nào.`
|
|
34
|
+
|
|
35
|
+
// Russian is a snippet from http://creativecommons.org/licenses/by-sa/1.0/deed.ru
|
|
36
|
+
Russian = `При обязательном соблюдении следующих условий:
|
|
37
|
+
Attribution — Вы должны атрибутировать произведение (указывать
|
|
38
|
+
автора и источник) в порядке, предусмотренном автором или
|
|
39
|
+
лицензиаром (но только так, чтобы никоим образом не подразумевалось,
|
|
40
|
+
что они поддерживают вас или использование вами данного произведения).
|
|
41
|
+
Υπό τις ακόλουθες προϋποθέσεις:`
|
|
42
|
+
|
|
43
|
+
// Greek is a snippet from http://creativecommons.org/licenses/by-sa/3.0/gr/
|
|
44
|
+
Greek = `Αναφορά Δημιουργού — Θα πρέπει να κάνετε την αναφορά στο έργο με τον
|
|
45
|
+
τρόπο που έχει οριστεί από το δημιουργό ή το χορηγούντο την άδεια
|
|
46
|
+
(χωρίς όμως να εννοείται με οποιονδήποτε τρόπο ότι εγκρίνουν εσάς ή
|
|
47
|
+
τη χρήση του έργου από εσάς). Παρόμοια Διανομή — Εάν αλλοιώσετε,
|
|
48
|
+
τροποποιήσετε ή δημιουργήσετε περαιτέρω βασισμένοι στο έργο θα
|
|
49
|
+
μπορείτε να διανέμετε το έργο που θα προκύψει μόνο με την ίδια ή
|
|
50
|
+
παρόμοια άδεια.`
|
|
51
|
+
|
|
52
|
+
// Arabic is a snippet from http://creativecommons.org/licenses/by-sa/3.0/deed.ar
|
|
53
|
+
Arabic = `بموجب الشروط التالية نسب المصنف — يجب عليك أن
|
|
54
|
+
تنسب العمل بالطريقة التي تحددها المؤلف أو المرخص (ولكن ليس بأي حال من
|
|
55
|
+
الأحوال أن توحي وتقترح بتحول أو استخدامك للعمل).
|
|
56
|
+
المشاركة على قدم المساواة — إذا كنت يعدل ، والتغيير ، أو الاستفادة
|
|
57
|
+
من هذا العمل ، قد ينتج عن توزيع العمل إلا في ظل تشابه او تطابق فى واحد
|
|
58
|
+
لهذا الترخيص.`
|
|
59
|
+
|
|
60
|
+
// Hebrew is a snippet from http://creativecommons.org/licenses/by-sa/1.0/il/
|
|
61
|
+
Hebrew = `בכפוף לתנאים הבאים: ייחוס — עליך לייחס את היצירה (לתת קרדיט) באופן
|
|
62
|
+
המצויין על-ידי היוצר או מעניק הרישיון (אך לא בשום אופן המרמז על כך
|
|
63
|
+
שהם תומכים בך או בשימוש שלך ביצירה). שיתוף זהה — אם תחליט/י לשנות,
|
|
64
|
+
לעבד או ליצור יצירה נגזרת בהסתמך על יצירה זו, תוכל/י להפיץ את יצירתך
|
|
65
|
+
החדשה רק תחת אותו הרישיון או רישיון דומה לרישיון זה.`
|
|
66
|
+
|
|
67
|
+
TwoByteUTF8 = Russian + Greek + Arabic + Hebrew
|
|
68
|
+
|
|
69
|
+
// Thai is a snippet from http://creativecommons.org/licenses/by-sa/3.0/th/
|
|
70
|
+
Thai = `ภายใต้เงื่อนไข ดังต่อไปนี้ : แสดงที่มา — คุณต้องแสดงที่
|
|
71
|
+
มาของงานดังกล่าว ตามรูปแบบที่ผู้สร้างสรรค์หรือผู้อนุญาตกำหนด (แต่
|
|
72
|
+
ไม่ใช่ในลักษณะที่ว่า พวกเขาสนับสนุนคุณหรือสนับสนุนการที่
|
|
73
|
+
คุณนำงานไปใช้) อนุญาตแบบเดียวกัน — หากคุณดัดแปลง เปลี่ยนรูป หรื
|
|
74
|
+
อต่อเติมงานนี้ คุณต้องใช้สัญญาอนุญาตแบบเดียวกันหรือแบบที่เหมื
|
|
75
|
+
อนกับสัญญาอนุญาตที่ใช้กับงานนี้เท่านั้น`
|
|
76
|
+
|
|
77
|
+
ThreeByteUTF8 = Thai
|
|
78
|
+
|
|
79
|
+
// Japanese is a snippet from http://creativecommons.org/licenses/by-sa/2.0/jp/
|
|
80
|
+
Japanese = `あなたの従うべき条件は以下の通りです。
|
|
81
|
+
表示 — あなたは原著作者のクレジットを表示しなければなりません。
|
|
82
|
+
継承 — もしあなたがこの作品を改変、変形または加工した場合、
|
|
83
|
+
あなたはその結果生じた作品をこの作品と同一の許諾条件の下でのみ
|
|
84
|
+
頒布することができます。`
|
|
85
|
+
|
|
86
|
+
// Chinese is a snippet from http://creativecommons.org/licenses/by-sa/2.5/cn/
|
|
87
|
+
Chinese = `您可以自由: 复制、发行、展览、表演、放映、
|
|
88
|
+
广播或通过信息网络传播本作品 创作演绎作品
|
|
89
|
+
对本作品进行商业性使用 惟须遵守下列条件:
|
|
90
|
+
署名 — 您必须按照作者或者许可人指定的方式对作品进行署名。
|
|
91
|
+
相同方式共享 — 如果您改变、转换本作品或者以本作品为基础进行创作,
|
|
92
|
+
您只能采用与本协议相同的许可协议发布基于本作品的演绎作品。`
|
|
93
|
+
|
|
94
|
+
// Korean is a snippet from http://creativecommons.org/licenses/by-sa/2.0/kr/
|
|
95
|
+
Korean = `다음과 같은 조건을 따라야 합니다: 저작자표시
|
|
96
|
+
— 저작자나 이용허락자가 정한 방법으로 저작물의
|
|
97
|
+
원저작자를 표시하여야 합니다(그러나 원저작자가 이용자나 이용자의
|
|
98
|
+
이용을 보증하거나 추천한다는 의미로 표시해서는 안됩니다).
|
|
99
|
+
동일조건변경허락 — 이 저작물을 이용하여 만든 이차적 저작물에는 본
|
|
100
|
+
라이선스와 동일한 라이선스를 적용해야 합니다.`
|
|
101
|
+
|
|
102
|
+
CJK = Chinese + Japanese + Korean
|
|
103
|
+
|
|
104
|
+
All = ASCII + Vietnamese + TwoByteUTF8 + ThreeByteUTF8 + CJK
|
|
105
|
+
)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
// Copyright 2014 The Go Authors. All rights reserved.
|
|
2
|
+
// Use of this source code is governed by a BSD-style
|
|
3
|
+
// license that can be found in the LICENSE file.
|
|
4
|
+
|
|
5
|
+
package triegen
|
|
6
|
+
|
|
7
|
+
// This file defines Compacter and its implementations.
|
|
8
|
+
|
|
9
|
+
import "io"
|
|
10
|
+
|
|
11
|
+
// A Compacter generates an alternative, more space-efficient way to store a
|
|
12
|
+
// trie value block. A trie value block holds all possible values for the last
|
|
13
|
+
// byte of a UTF-8 encoded rune. Excluding ASCII characters, a trie value block
|
|
14
|
+
// always has 64 values, as a UTF-8 encoding ends with a byte in [0x80, 0xC0).
|
|
15
|
+
type Compacter interface {
|
|
16
|
+
// Size returns whether the Compacter could encode the given block as well
|
|
17
|
+
// as its size in case it can. len(v) is always 64.
|
|
18
|
+
Size(v []uint64) (sz int, ok bool)
|
|
19
|
+
|
|
20
|
+
// Store stores the block using the Compacter's compression method.
|
|
21
|
+
// It returns a handle with which the block can be retrieved.
|
|
22
|
+
// len(v) is always 64.
|
|
23
|
+
Store(v []uint64) uint32
|
|
24
|
+
|
|
25
|
+
// Print writes the data structures associated to the given store to w.
|
|
26
|
+
Print(w io.Writer) error
|
|
27
|
+
|
|
28
|
+
// Handler returns the name of a function that gets called during trie
|
|
29
|
+
// lookup for blocks generated by the Compacter. The function should be of
|
|
30
|
+
// the form func (n uint32, b byte) uint64, where n is the index returned by
|
|
31
|
+
// the Compacter's Store method and b is the last byte of the UTF-8
|
|
32
|
+
// encoding, where 0x80 <= b < 0xC0, for which to do the lookup in the
|
|
33
|
+
// block.
|
|
34
|
+
Handler() string
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// simpleCompacter is the default Compacter used by builder. It implements a
|
|
38
|
+
// normal trie block.
|
|
39
|
+
type simpleCompacter builder
|
|
40
|
+
|
|
41
|
+
func (b *simpleCompacter) Size([]uint64) (sz int, ok bool) {
|
|
42
|
+
return blockSize * b.ValueSize, true
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
func (b *simpleCompacter) Store(v []uint64) uint32 {
|
|
46
|
+
h := uint32(len(b.ValueBlocks) - blockOffset)
|
|
47
|
+
b.ValueBlocks = append(b.ValueBlocks, v)
|
|
48
|
+
return h
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
func (b *simpleCompacter) Print(io.Writer) error {
|
|
52
|
+
// Structures are printed in print.go.
|
|
53
|
+
return nil
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
func (b *simpleCompacter) Handler() string {
|
|
57
|
+
panic("Handler should be special-cased for this Compacter")
|
|
58
|
+
}
|
|
@@ -0,0 +1,875 @@
|
|
|
1
|
+
// This file is generated with "go test -tags generate". DO NOT EDIT!
|
|
2
|
+
// +build !generate
|
|
3
|
+
|
|
4
|
+
package triegen_test
|
|
5
|
+
|
|
6
|
+
// lookup returns the trie value for the first UTF-8 encoding in s and
|
|
7
|
+
// the width in bytes of this encoding. The size will be 0 if s does not
|
|
8
|
+
// hold enough bytes to complete the encoding. len(s) must be greater than 0.
|
|
9
|
+
func (t *randTrie) lookup(s []byte) (v uint8, sz int) {
|
|
10
|
+
c0 := s[0]
|
|
11
|
+
switch {
|
|
12
|
+
case c0 < 0x80: // is ASCII
|
|
13
|
+
return randValues[c0], 1
|
|
14
|
+
case c0 < 0xC2:
|
|
15
|
+
return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
|
|
16
|
+
case c0 < 0xE0: // 2-byte UTF-8
|
|
17
|
+
if len(s) < 2 {
|
|
18
|
+
return 0, 0
|
|
19
|
+
}
|
|
20
|
+
i := randIndex[c0]
|
|
21
|
+
c1 := s[1]
|
|
22
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
23
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
24
|
+
}
|
|
25
|
+
return t.lookupValue(uint32(i), c1), 2
|
|
26
|
+
case c0 < 0xF0: // 3-byte UTF-8
|
|
27
|
+
if len(s) < 3 {
|
|
28
|
+
return 0, 0
|
|
29
|
+
}
|
|
30
|
+
i := randIndex[c0]
|
|
31
|
+
c1 := s[1]
|
|
32
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
33
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
34
|
+
}
|
|
35
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
36
|
+
i = randIndex[o]
|
|
37
|
+
c2 := s[2]
|
|
38
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
39
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
40
|
+
}
|
|
41
|
+
return t.lookupValue(uint32(i), c2), 3
|
|
42
|
+
case c0 < 0xF8: // 4-byte UTF-8
|
|
43
|
+
if len(s) < 4 {
|
|
44
|
+
return 0, 0
|
|
45
|
+
}
|
|
46
|
+
i := randIndex[c0]
|
|
47
|
+
c1 := s[1]
|
|
48
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
49
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
50
|
+
}
|
|
51
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
52
|
+
i = randIndex[o]
|
|
53
|
+
c2 := s[2]
|
|
54
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
55
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
56
|
+
}
|
|
57
|
+
o = uint32(i)<<6 + uint32(c2)
|
|
58
|
+
i = randIndex[o]
|
|
59
|
+
c3 := s[3]
|
|
60
|
+
if c3 < 0x80 || 0xC0 <= c3 {
|
|
61
|
+
return 0, 3 // Illegal UTF-8: not a continuation byte.
|
|
62
|
+
}
|
|
63
|
+
return t.lookupValue(uint32(i), c3), 4
|
|
64
|
+
}
|
|
65
|
+
// Illegal rune
|
|
66
|
+
return 0, 1
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
|
|
70
|
+
// s must start with a full and valid UTF-8 encoded rune.
|
|
71
|
+
func (t *randTrie) lookupUnsafe(s []byte) uint8 {
|
|
72
|
+
c0 := s[0]
|
|
73
|
+
if c0 < 0x80 { // is ASCII
|
|
74
|
+
return randValues[c0]
|
|
75
|
+
}
|
|
76
|
+
i := randIndex[c0]
|
|
77
|
+
if c0 < 0xE0 { // 2-byte UTF-8
|
|
78
|
+
return t.lookupValue(uint32(i), s[1])
|
|
79
|
+
}
|
|
80
|
+
i = randIndex[uint32(i)<<6+uint32(s[1])]
|
|
81
|
+
if c0 < 0xF0 { // 3-byte UTF-8
|
|
82
|
+
return t.lookupValue(uint32(i), s[2])
|
|
83
|
+
}
|
|
84
|
+
i = randIndex[uint32(i)<<6+uint32(s[2])]
|
|
85
|
+
if c0 < 0xF8 { // 4-byte UTF-8
|
|
86
|
+
return t.lookupValue(uint32(i), s[3])
|
|
87
|
+
}
|
|
88
|
+
return 0
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
// lookupString returns the trie value for the first UTF-8 encoding in s and
|
|
92
|
+
// the width in bytes of this encoding. The size will be 0 if s does not
|
|
93
|
+
// hold enough bytes to complete the encoding. len(s) must be greater than 0.
|
|
94
|
+
func (t *randTrie) lookupString(s string) (v uint8, sz int) {
|
|
95
|
+
c0 := s[0]
|
|
96
|
+
switch {
|
|
97
|
+
case c0 < 0x80: // is ASCII
|
|
98
|
+
return randValues[c0], 1
|
|
99
|
+
case c0 < 0xC2:
|
|
100
|
+
return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
|
|
101
|
+
case c0 < 0xE0: // 2-byte UTF-8
|
|
102
|
+
if len(s) < 2 {
|
|
103
|
+
return 0, 0
|
|
104
|
+
}
|
|
105
|
+
i := randIndex[c0]
|
|
106
|
+
c1 := s[1]
|
|
107
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
108
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
109
|
+
}
|
|
110
|
+
return t.lookupValue(uint32(i), c1), 2
|
|
111
|
+
case c0 < 0xF0: // 3-byte UTF-8
|
|
112
|
+
if len(s) < 3 {
|
|
113
|
+
return 0, 0
|
|
114
|
+
}
|
|
115
|
+
i := randIndex[c0]
|
|
116
|
+
c1 := s[1]
|
|
117
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
118
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
119
|
+
}
|
|
120
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
121
|
+
i = randIndex[o]
|
|
122
|
+
c2 := s[2]
|
|
123
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
124
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
125
|
+
}
|
|
126
|
+
return t.lookupValue(uint32(i), c2), 3
|
|
127
|
+
case c0 < 0xF8: // 4-byte UTF-8
|
|
128
|
+
if len(s) < 4 {
|
|
129
|
+
return 0, 0
|
|
130
|
+
}
|
|
131
|
+
i := randIndex[c0]
|
|
132
|
+
c1 := s[1]
|
|
133
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
134
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
135
|
+
}
|
|
136
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
137
|
+
i = randIndex[o]
|
|
138
|
+
c2 := s[2]
|
|
139
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
140
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
141
|
+
}
|
|
142
|
+
o = uint32(i)<<6 + uint32(c2)
|
|
143
|
+
i = randIndex[o]
|
|
144
|
+
c3 := s[3]
|
|
145
|
+
if c3 < 0x80 || 0xC0 <= c3 {
|
|
146
|
+
return 0, 3 // Illegal UTF-8: not a continuation byte.
|
|
147
|
+
}
|
|
148
|
+
return t.lookupValue(uint32(i), c3), 4
|
|
149
|
+
}
|
|
150
|
+
// Illegal rune
|
|
151
|
+
return 0, 1
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
|
|
155
|
+
// s must start with a full and valid UTF-8 encoded rune.
|
|
156
|
+
func (t *randTrie) lookupStringUnsafe(s string) uint8 {
|
|
157
|
+
c0 := s[0]
|
|
158
|
+
if c0 < 0x80 { // is ASCII
|
|
159
|
+
return randValues[c0]
|
|
160
|
+
}
|
|
161
|
+
i := randIndex[c0]
|
|
162
|
+
if c0 < 0xE0 { // 2-byte UTF-8
|
|
163
|
+
return t.lookupValue(uint32(i), s[1])
|
|
164
|
+
}
|
|
165
|
+
i = randIndex[uint32(i)<<6+uint32(s[1])]
|
|
166
|
+
if c0 < 0xF0 { // 3-byte UTF-8
|
|
167
|
+
return t.lookupValue(uint32(i), s[2])
|
|
168
|
+
}
|
|
169
|
+
i = randIndex[uint32(i)<<6+uint32(s[2])]
|
|
170
|
+
if c0 < 0xF8 { // 4-byte UTF-8
|
|
171
|
+
return t.lookupValue(uint32(i), s[3])
|
|
172
|
+
}
|
|
173
|
+
return 0
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
// randTrie. Total size: 9280 bytes (9.06 KiB). Checksum: 6debd324a8debb8f.
|
|
177
|
+
type randTrie struct{}
|
|
178
|
+
|
|
179
|
+
func newRandTrie(i int) *randTrie {
|
|
180
|
+
return &randTrie{}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// lookupValue determines the type of block n and looks up the value for b.
|
|
184
|
+
func (t *randTrie) lookupValue(n uint32, b byte) uint8 {
|
|
185
|
+
switch {
|
|
186
|
+
default:
|
|
187
|
+
return uint8(randValues[n<<6+uint32(b)])
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
// randValues: 56 blocks, 3584 entries, 3584 bytes
|
|
192
|
+
// The third block is the zero block.
|
|
193
|
+
var randValues = [3584]uint8{
|
|
194
|
+
// Block 0x0, offset 0x0
|
|
195
|
+
// Block 0x1, offset 0x40
|
|
196
|
+
// Block 0x2, offset 0x80
|
|
197
|
+
// Block 0x3, offset 0xc0
|
|
198
|
+
0xc9: 0x0001,
|
|
199
|
+
// Block 0x4, offset 0x100
|
|
200
|
+
0x100: 0x0001,
|
|
201
|
+
// Block 0x5, offset 0x140
|
|
202
|
+
0x155: 0x0001,
|
|
203
|
+
// Block 0x6, offset 0x180
|
|
204
|
+
0x196: 0x0001,
|
|
205
|
+
// Block 0x7, offset 0x1c0
|
|
206
|
+
0x1ef: 0x0001,
|
|
207
|
+
// Block 0x8, offset 0x200
|
|
208
|
+
0x206: 0x0001,
|
|
209
|
+
// Block 0x9, offset 0x240
|
|
210
|
+
0x258: 0x0001,
|
|
211
|
+
// Block 0xa, offset 0x280
|
|
212
|
+
0x288: 0x0001,
|
|
213
|
+
// Block 0xb, offset 0x2c0
|
|
214
|
+
0x2f2: 0x0001,
|
|
215
|
+
// Block 0xc, offset 0x300
|
|
216
|
+
0x304: 0x0001,
|
|
217
|
+
// Block 0xd, offset 0x340
|
|
218
|
+
0x34b: 0x0001,
|
|
219
|
+
// Block 0xe, offset 0x380
|
|
220
|
+
0x3ba: 0x0001,
|
|
221
|
+
// Block 0xf, offset 0x3c0
|
|
222
|
+
0x3f5: 0x0001,
|
|
223
|
+
// Block 0x10, offset 0x400
|
|
224
|
+
0x41d: 0x0001,
|
|
225
|
+
// Block 0x11, offset 0x440
|
|
226
|
+
0x442: 0x0001,
|
|
227
|
+
// Block 0x12, offset 0x480
|
|
228
|
+
0x4bb: 0x0001,
|
|
229
|
+
// Block 0x13, offset 0x4c0
|
|
230
|
+
0x4e9: 0x0001,
|
|
231
|
+
// Block 0x14, offset 0x500
|
|
232
|
+
0x53e: 0x0001,
|
|
233
|
+
// Block 0x15, offset 0x540
|
|
234
|
+
0x55f: 0x0001,
|
|
235
|
+
// Block 0x16, offset 0x580
|
|
236
|
+
0x5b7: 0x0001,
|
|
237
|
+
// Block 0x17, offset 0x5c0
|
|
238
|
+
0x5d9: 0x0001,
|
|
239
|
+
// Block 0x18, offset 0x600
|
|
240
|
+
0x60e: 0x0001,
|
|
241
|
+
// Block 0x19, offset 0x640
|
|
242
|
+
0x652: 0x0001,
|
|
243
|
+
// Block 0x1a, offset 0x680
|
|
244
|
+
0x68f: 0x0001,
|
|
245
|
+
// Block 0x1b, offset 0x6c0
|
|
246
|
+
0x6dc: 0x0001,
|
|
247
|
+
// Block 0x1c, offset 0x700
|
|
248
|
+
0x703: 0x0001,
|
|
249
|
+
// Block 0x1d, offset 0x740
|
|
250
|
+
0x741: 0x0001,
|
|
251
|
+
// Block 0x1e, offset 0x780
|
|
252
|
+
0x79b: 0x0001,
|
|
253
|
+
// Block 0x1f, offset 0x7c0
|
|
254
|
+
0x7f1: 0x0001,
|
|
255
|
+
// Block 0x20, offset 0x800
|
|
256
|
+
0x833: 0x0001,
|
|
257
|
+
// Block 0x21, offset 0x840
|
|
258
|
+
0x853: 0x0001,
|
|
259
|
+
// Block 0x22, offset 0x880
|
|
260
|
+
0x8a2: 0x0001,
|
|
261
|
+
// Block 0x23, offset 0x8c0
|
|
262
|
+
0x8f8: 0x0001,
|
|
263
|
+
// Block 0x24, offset 0x900
|
|
264
|
+
0x917: 0x0001,
|
|
265
|
+
// Block 0x25, offset 0x940
|
|
266
|
+
0x945: 0x0001,
|
|
267
|
+
// Block 0x26, offset 0x980
|
|
268
|
+
0x99e: 0x0001,
|
|
269
|
+
// Block 0x27, offset 0x9c0
|
|
270
|
+
0x9fd: 0x0001,
|
|
271
|
+
// Block 0x28, offset 0xa00
|
|
272
|
+
0xa0d: 0x0001,
|
|
273
|
+
// Block 0x29, offset 0xa40
|
|
274
|
+
0xa66: 0x0001,
|
|
275
|
+
// Block 0x2a, offset 0xa80
|
|
276
|
+
0xaab: 0x0001,
|
|
277
|
+
// Block 0x2b, offset 0xac0
|
|
278
|
+
0xaea: 0x0001,
|
|
279
|
+
// Block 0x2c, offset 0xb00
|
|
280
|
+
0xb2d: 0x0001,
|
|
281
|
+
// Block 0x2d, offset 0xb40
|
|
282
|
+
0xb54: 0x0001,
|
|
283
|
+
// Block 0x2e, offset 0xb80
|
|
284
|
+
0xb90: 0x0001,
|
|
285
|
+
// Block 0x2f, offset 0xbc0
|
|
286
|
+
0xbe5: 0x0001,
|
|
287
|
+
// Block 0x30, offset 0xc00
|
|
288
|
+
0xc28: 0x0001,
|
|
289
|
+
// Block 0x31, offset 0xc40
|
|
290
|
+
0xc7c: 0x0001,
|
|
291
|
+
// Block 0x32, offset 0xc80
|
|
292
|
+
0xcbf: 0x0001,
|
|
293
|
+
// Block 0x33, offset 0xcc0
|
|
294
|
+
0xcc7: 0x0001,
|
|
295
|
+
// Block 0x34, offset 0xd00
|
|
296
|
+
0xd34: 0x0001,
|
|
297
|
+
// Block 0x35, offset 0xd40
|
|
298
|
+
0xd61: 0x0001,
|
|
299
|
+
// Block 0x36, offset 0xd80
|
|
300
|
+
0xdb9: 0x0001,
|
|
301
|
+
// Block 0x37, offset 0xdc0
|
|
302
|
+
0xdda: 0x0001,
|
|
303
|
+
}
|
|
304
|
+
|
|
305
|
+
// randIndex: 89 blocks, 5696 entries, 5696 bytes
|
|
306
|
+
// Block 0 is the zero block.
|
|
307
|
+
var randIndex = [5696]uint8{
|
|
308
|
+
// Block 0x0, offset 0x0
|
|
309
|
+
// Block 0x1, offset 0x40
|
|
310
|
+
// Block 0x2, offset 0x80
|
|
311
|
+
// Block 0x3, offset 0xc0
|
|
312
|
+
0xe1: 0x02, 0xe3: 0x03, 0xe4: 0x04,
|
|
313
|
+
0xea: 0x05, 0xeb: 0x06, 0xec: 0x07,
|
|
314
|
+
0xf0: 0x10, 0xf1: 0x24, 0xf2: 0x3d, 0xf3: 0x4f, 0xf4: 0x56,
|
|
315
|
+
// Block 0x4, offset 0x100
|
|
316
|
+
0x107: 0x01,
|
|
317
|
+
// Block 0x5, offset 0x140
|
|
318
|
+
0x16c: 0x02,
|
|
319
|
+
// Block 0x6, offset 0x180
|
|
320
|
+
0x19c: 0x03,
|
|
321
|
+
0x1ae: 0x04,
|
|
322
|
+
// Block 0x7, offset 0x1c0
|
|
323
|
+
0x1d8: 0x05,
|
|
324
|
+
0x1f7: 0x06,
|
|
325
|
+
// Block 0x8, offset 0x200
|
|
326
|
+
0x20c: 0x07,
|
|
327
|
+
// Block 0x9, offset 0x240
|
|
328
|
+
0x24a: 0x08,
|
|
329
|
+
// Block 0xa, offset 0x280
|
|
330
|
+
0x2b6: 0x09,
|
|
331
|
+
// Block 0xb, offset 0x2c0
|
|
332
|
+
0x2d5: 0x0a,
|
|
333
|
+
// Block 0xc, offset 0x300
|
|
334
|
+
0x31a: 0x0b,
|
|
335
|
+
// Block 0xd, offset 0x340
|
|
336
|
+
0x373: 0x0c,
|
|
337
|
+
// Block 0xe, offset 0x380
|
|
338
|
+
0x38b: 0x0d,
|
|
339
|
+
// Block 0xf, offset 0x3c0
|
|
340
|
+
0x3f0: 0x0e,
|
|
341
|
+
// Block 0x10, offset 0x400
|
|
342
|
+
0x433: 0x0f,
|
|
343
|
+
// Block 0x11, offset 0x440
|
|
344
|
+
0x45d: 0x10,
|
|
345
|
+
// Block 0x12, offset 0x480
|
|
346
|
+
0x491: 0x08, 0x494: 0x09, 0x497: 0x0a,
|
|
347
|
+
0x49b: 0x0b, 0x49c: 0x0c,
|
|
348
|
+
0x4a1: 0x0d,
|
|
349
|
+
0x4ad: 0x0e,
|
|
350
|
+
0x4ba: 0x0f,
|
|
351
|
+
// Block 0x13, offset 0x4c0
|
|
352
|
+
0x4c1: 0x11,
|
|
353
|
+
// Block 0x14, offset 0x500
|
|
354
|
+
0x531: 0x12,
|
|
355
|
+
// Block 0x15, offset 0x540
|
|
356
|
+
0x546: 0x13,
|
|
357
|
+
// Block 0x16, offset 0x580
|
|
358
|
+
0x5ab: 0x14,
|
|
359
|
+
// Block 0x17, offset 0x5c0
|
|
360
|
+
0x5d4: 0x11,
|
|
361
|
+
0x5fe: 0x11,
|
|
362
|
+
// Block 0x18, offset 0x600
|
|
363
|
+
0x618: 0x0a,
|
|
364
|
+
// Block 0x19, offset 0x640
|
|
365
|
+
0x65b: 0x15,
|
|
366
|
+
// Block 0x1a, offset 0x680
|
|
367
|
+
0x6a0: 0x16,
|
|
368
|
+
// Block 0x1b, offset 0x6c0
|
|
369
|
+
0x6d2: 0x17,
|
|
370
|
+
0x6f6: 0x18,
|
|
371
|
+
// Block 0x1c, offset 0x700
|
|
372
|
+
0x711: 0x19,
|
|
373
|
+
// Block 0x1d, offset 0x740
|
|
374
|
+
0x768: 0x1a,
|
|
375
|
+
// Block 0x1e, offset 0x780
|
|
376
|
+
0x783: 0x1b,
|
|
377
|
+
// Block 0x1f, offset 0x7c0
|
|
378
|
+
0x7f9: 0x1c,
|
|
379
|
+
// Block 0x20, offset 0x800
|
|
380
|
+
0x831: 0x1d,
|
|
381
|
+
// Block 0x21, offset 0x840
|
|
382
|
+
0x85e: 0x1e,
|
|
383
|
+
// Block 0x22, offset 0x880
|
|
384
|
+
0x898: 0x1f,
|
|
385
|
+
// Block 0x23, offset 0x8c0
|
|
386
|
+
0x8c7: 0x18,
|
|
387
|
+
0x8d5: 0x14,
|
|
388
|
+
0x8f7: 0x20,
|
|
389
|
+
0x8fe: 0x1f,
|
|
390
|
+
// Block 0x24, offset 0x900
|
|
391
|
+
0x905: 0x21,
|
|
392
|
+
// Block 0x25, offset 0x940
|
|
393
|
+
0x966: 0x03,
|
|
394
|
+
// Block 0x26, offset 0x980
|
|
395
|
+
0x981: 0x07, 0x983: 0x11,
|
|
396
|
+
0x989: 0x12, 0x98a: 0x13, 0x98e: 0x14, 0x98f: 0x15,
|
|
397
|
+
0x992: 0x16, 0x995: 0x17, 0x996: 0x18,
|
|
398
|
+
0x998: 0x19, 0x999: 0x1a, 0x99b: 0x1b, 0x99f: 0x1c,
|
|
399
|
+
0x9a3: 0x1d,
|
|
400
|
+
0x9ad: 0x1e, 0x9af: 0x1f,
|
|
401
|
+
0x9b0: 0x20, 0x9b1: 0x21,
|
|
402
|
+
0x9b8: 0x22, 0x9bd: 0x23,
|
|
403
|
+
// Block 0x27, offset 0x9c0
|
|
404
|
+
0x9cd: 0x22,
|
|
405
|
+
// Block 0x28, offset 0xa00
|
|
406
|
+
0xa0c: 0x08,
|
|
407
|
+
// Block 0x29, offset 0xa40
|
|
408
|
+
0xa6f: 0x1c,
|
|
409
|
+
// Block 0x2a, offset 0xa80
|
|
410
|
+
0xa90: 0x1a,
|
|
411
|
+
0xaaf: 0x23,
|
|
412
|
+
// Block 0x2b, offset 0xac0
|
|
413
|
+
0xae3: 0x19,
|
|
414
|
+
0xae8: 0x24,
|
|
415
|
+
0xafc: 0x25,
|
|
416
|
+
// Block 0x2c, offset 0xb00
|
|
417
|
+
0xb13: 0x26,
|
|
418
|
+
// Block 0x2d, offset 0xb40
|
|
419
|
+
0xb67: 0x1c,
|
|
420
|
+
// Block 0x2e, offset 0xb80
|
|
421
|
+
0xb8f: 0x0b,
|
|
422
|
+
// Block 0x2f, offset 0xbc0
|
|
423
|
+
0xbcb: 0x27,
|
|
424
|
+
0xbe7: 0x26,
|
|
425
|
+
// Block 0x30, offset 0xc00
|
|
426
|
+
0xc34: 0x16,
|
|
427
|
+
// Block 0x31, offset 0xc40
|
|
428
|
+
0xc62: 0x03,
|
|
429
|
+
// Block 0x32, offset 0xc80
|
|
430
|
+
0xcbb: 0x12,
|
|
431
|
+
// Block 0x33, offset 0xcc0
|
|
432
|
+
0xcdf: 0x09,
|
|
433
|
+
// Block 0x34, offset 0xd00
|
|
434
|
+
0xd34: 0x0a,
|
|
435
|
+
// Block 0x35, offset 0xd40
|
|
436
|
+
0xd41: 0x1e,
|
|
437
|
+
// Block 0x36, offset 0xd80
|
|
438
|
+
0xd83: 0x28,
|
|
439
|
+
// Block 0x37, offset 0xdc0
|
|
440
|
+
0xdc0: 0x15,
|
|
441
|
+
// Block 0x38, offset 0xe00
|
|
442
|
+
0xe1a: 0x15,
|
|
443
|
+
// Block 0x39, offset 0xe40
|
|
444
|
+
0xe65: 0x29,
|
|
445
|
+
// Block 0x3a, offset 0xe80
|
|
446
|
+
0xe86: 0x1f,
|
|
447
|
+
// Block 0x3b, offset 0xec0
|
|
448
|
+
0xeec: 0x18,
|
|
449
|
+
// Block 0x3c, offset 0xf00
|
|
450
|
+
0xf28: 0x2a,
|
|
451
|
+
// Block 0x3d, offset 0xf40
|
|
452
|
+
0xf53: 0x08,
|
|
453
|
+
// Block 0x3e, offset 0xf80
|
|
454
|
+
0xfa2: 0x2b,
|
|
455
|
+
0xfaa: 0x17,
|
|
456
|
+
// Block 0x3f, offset 0xfc0
|
|
457
|
+
0xfc0: 0x25, 0xfc2: 0x26,
|
|
458
|
+
0xfc9: 0x27, 0xfcd: 0x28, 0xfce: 0x29,
|
|
459
|
+
0xfd5: 0x2a,
|
|
460
|
+
0xfd8: 0x2b, 0xfd9: 0x2c, 0xfdf: 0x2d,
|
|
461
|
+
0xfe1: 0x2e, 0xfe2: 0x2f, 0xfe3: 0x30, 0xfe6: 0x31,
|
|
462
|
+
0xfe9: 0x32, 0xfec: 0x33, 0xfed: 0x34, 0xfef: 0x35,
|
|
463
|
+
0xff1: 0x36, 0xff2: 0x37, 0xff3: 0x38, 0xff4: 0x39,
|
|
464
|
+
0xffa: 0x3a, 0xffc: 0x3b, 0xffe: 0x3c,
|
|
465
|
+
// Block 0x40, offset 0x1000
|
|
466
|
+
0x102c: 0x2c,
|
|
467
|
+
// Block 0x41, offset 0x1040
|
|
468
|
+
0x1074: 0x2c,
|
|
469
|
+
// Block 0x42, offset 0x1080
|
|
470
|
+
0x108c: 0x08,
|
|
471
|
+
0x10a0: 0x2d,
|
|
472
|
+
// Block 0x43, offset 0x10c0
|
|
473
|
+
0x10e8: 0x10,
|
|
474
|
+
// Block 0x44, offset 0x1100
|
|
475
|
+
0x110f: 0x13,
|
|
476
|
+
// Block 0x45, offset 0x1140
|
|
477
|
+
0x114b: 0x2e,
|
|
478
|
+
// Block 0x46, offset 0x1180
|
|
479
|
+
0x118b: 0x23,
|
|
480
|
+
0x119d: 0x0c,
|
|
481
|
+
// Block 0x47, offset 0x11c0
|
|
482
|
+
0x11c3: 0x12,
|
|
483
|
+
0x11f9: 0x0f,
|
|
484
|
+
// Block 0x48, offset 0x1200
|
|
485
|
+
0x121e: 0x1b,
|
|
486
|
+
// Block 0x49, offset 0x1240
|
|
487
|
+
0x1270: 0x2f,
|
|
488
|
+
// Block 0x4a, offset 0x1280
|
|
489
|
+
0x128a: 0x1b,
|
|
490
|
+
0x12a7: 0x02,
|
|
491
|
+
// Block 0x4b, offset 0x12c0
|
|
492
|
+
0x12fb: 0x14,
|
|
493
|
+
// Block 0x4c, offset 0x1300
|
|
494
|
+
0x1333: 0x30,
|
|
495
|
+
// Block 0x4d, offset 0x1340
|
|
496
|
+
0x134d: 0x31,
|
|
497
|
+
// Block 0x4e, offset 0x1380
|
|
498
|
+
0x138e: 0x15,
|
|
499
|
+
// Block 0x4f, offset 0x13c0
|
|
500
|
+
0x13f4: 0x32,
|
|
501
|
+
// Block 0x50, offset 0x1400
|
|
502
|
+
0x141b: 0x33,
|
|
503
|
+
// Block 0x51, offset 0x1440
|
|
504
|
+
0x1448: 0x3e, 0x1449: 0x3f, 0x144a: 0x40, 0x144f: 0x41,
|
|
505
|
+
0x1459: 0x42, 0x145c: 0x43, 0x145e: 0x44, 0x145f: 0x45,
|
|
506
|
+
0x1468: 0x46, 0x1469: 0x47, 0x146c: 0x48, 0x146d: 0x49, 0x146e: 0x4a,
|
|
507
|
+
0x1472: 0x4b, 0x1473: 0x4c,
|
|
508
|
+
0x1479: 0x4d, 0x147b: 0x4e,
|
|
509
|
+
// Block 0x52, offset 0x1480
|
|
510
|
+
0x1480: 0x34,
|
|
511
|
+
0x1499: 0x11,
|
|
512
|
+
0x14b6: 0x2c,
|
|
513
|
+
// Block 0x53, offset 0x14c0
|
|
514
|
+
0x14e4: 0x0d,
|
|
515
|
+
// Block 0x54, offset 0x1500
|
|
516
|
+
0x1527: 0x08,
|
|
517
|
+
// Block 0x55, offset 0x1540
|
|
518
|
+
0x1555: 0x2b,
|
|
519
|
+
// Block 0x56, offset 0x1580
|
|
520
|
+
0x15b2: 0x35,
|
|
521
|
+
// Block 0x57, offset 0x15c0
|
|
522
|
+
0x15f2: 0x1c, 0x15f4: 0x29,
|
|
523
|
+
// Block 0x58, offset 0x1600
|
|
524
|
+
0x1600: 0x50, 0x1603: 0x51,
|
|
525
|
+
0x1608: 0x52, 0x160a: 0x53, 0x160d: 0x54, 0x160e: 0x55,
|
|
526
|
+
}
|
|
527
|
+
|
|
528
|
+
// lookup returns the trie value for the first UTF-8 encoding in s and
|
|
529
|
+
// the width in bytes of this encoding. The size will be 0 if s does not
|
|
530
|
+
// hold enough bytes to complete the encoding. len(s) must be greater than 0.
|
|
531
|
+
func (t *multiTrie) lookup(s []byte) (v uint64, sz int) {
|
|
532
|
+
c0 := s[0]
|
|
533
|
+
switch {
|
|
534
|
+
case c0 < 0x80: // is ASCII
|
|
535
|
+
return t.ascii[c0], 1
|
|
536
|
+
case c0 < 0xC2:
|
|
537
|
+
return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
|
|
538
|
+
case c0 < 0xE0: // 2-byte UTF-8
|
|
539
|
+
if len(s) < 2 {
|
|
540
|
+
return 0, 0
|
|
541
|
+
}
|
|
542
|
+
i := t.utf8Start[c0]
|
|
543
|
+
c1 := s[1]
|
|
544
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
545
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
546
|
+
}
|
|
547
|
+
return t.lookupValue(uint32(i), c1), 2
|
|
548
|
+
case c0 < 0xF0: // 3-byte UTF-8
|
|
549
|
+
if len(s) < 3 {
|
|
550
|
+
return 0, 0
|
|
551
|
+
}
|
|
552
|
+
i := t.utf8Start[c0]
|
|
553
|
+
c1 := s[1]
|
|
554
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
555
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
556
|
+
}
|
|
557
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
558
|
+
i = multiIndex[o]
|
|
559
|
+
c2 := s[2]
|
|
560
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
561
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
562
|
+
}
|
|
563
|
+
return t.lookupValue(uint32(i), c2), 3
|
|
564
|
+
case c0 < 0xF8: // 4-byte UTF-8
|
|
565
|
+
if len(s) < 4 {
|
|
566
|
+
return 0, 0
|
|
567
|
+
}
|
|
568
|
+
i := t.utf8Start[c0]
|
|
569
|
+
c1 := s[1]
|
|
570
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
571
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
572
|
+
}
|
|
573
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
574
|
+
i = multiIndex[o]
|
|
575
|
+
c2 := s[2]
|
|
576
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
577
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
578
|
+
}
|
|
579
|
+
o = uint32(i)<<6 + uint32(c2)
|
|
580
|
+
i = multiIndex[o]
|
|
581
|
+
c3 := s[3]
|
|
582
|
+
if c3 < 0x80 || 0xC0 <= c3 {
|
|
583
|
+
return 0, 3 // Illegal UTF-8: not a continuation byte.
|
|
584
|
+
}
|
|
585
|
+
return t.lookupValue(uint32(i), c3), 4
|
|
586
|
+
}
|
|
587
|
+
// Illegal rune
|
|
588
|
+
return 0, 1
|
|
589
|
+
}
|
|
590
|
+
|
|
591
|
+
// lookupUnsafe returns the trie value for the first UTF-8 encoding in s.
|
|
592
|
+
// s must start with a full and valid UTF-8 encoded rune.
|
|
593
|
+
func (t *multiTrie) lookupUnsafe(s []byte) uint64 {
|
|
594
|
+
c0 := s[0]
|
|
595
|
+
if c0 < 0x80 { // is ASCII
|
|
596
|
+
return t.ascii[c0]
|
|
597
|
+
}
|
|
598
|
+
i := t.utf8Start[c0]
|
|
599
|
+
if c0 < 0xE0 { // 2-byte UTF-8
|
|
600
|
+
return t.lookupValue(uint32(i), s[1])
|
|
601
|
+
}
|
|
602
|
+
i = multiIndex[uint32(i)<<6+uint32(s[1])]
|
|
603
|
+
if c0 < 0xF0 { // 3-byte UTF-8
|
|
604
|
+
return t.lookupValue(uint32(i), s[2])
|
|
605
|
+
}
|
|
606
|
+
i = multiIndex[uint32(i)<<6+uint32(s[2])]
|
|
607
|
+
if c0 < 0xF8 { // 4-byte UTF-8
|
|
608
|
+
return t.lookupValue(uint32(i), s[3])
|
|
609
|
+
}
|
|
610
|
+
return 0
|
|
611
|
+
}
|
|
612
|
+
|
|
613
|
+
// lookupString returns the trie value for the first UTF-8 encoding in s and
|
|
614
|
+
// the width in bytes of this encoding. The size will be 0 if s does not
|
|
615
|
+
// hold enough bytes to complete the encoding. len(s) must be greater than 0.
|
|
616
|
+
func (t *multiTrie) lookupString(s string) (v uint64, sz int) {
|
|
617
|
+
c0 := s[0]
|
|
618
|
+
switch {
|
|
619
|
+
case c0 < 0x80: // is ASCII
|
|
620
|
+
return t.ascii[c0], 1
|
|
621
|
+
case c0 < 0xC2:
|
|
622
|
+
return 0, 1 // Illegal UTF-8: not a starter, not ASCII.
|
|
623
|
+
case c0 < 0xE0: // 2-byte UTF-8
|
|
624
|
+
if len(s) < 2 {
|
|
625
|
+
return 0, 0
|
|
626
|
+
}
|
|
627
|
+
i := t.utf8Start[c0]
|
|
628
|
+
c1 := s[1]
|
|
629
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
630
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
631
|
+
}
|
|
632
|
+
return t.lookupValue(uint32(i), c1), 2
|
|
633
|
+
case c0 < 0xF0: // 3-byte UTF-8
|
|
634
|
+
if len(s) < 3 {
|
|
635
|
+
return 0, 0
|
|
636
|
+
}
|
|
637
|
+
i := t.utf8Start[c0]
|
|
638
|
+
c1 := s[1]
|
|
639
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
640
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
641
|
+
}
|
|
642
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
643
|
+
i = multiIndex[o]
|
|
644
|
+
c2 := s[2]
|
|
645
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
646
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
647
|
+
}
|
|
648
|
+
return t.lookupValue(uint32(i), c2), 3
|
|
649
|
+
case c0 < 0xF8: // 4-byte UTF-8
|
|
650
|
+
if len(s) < 4 {
|
|
651
|
+
return 0, 0
|
|
652
|
+
}
|
|
653
|
+
i := t.utf8Start[c0]
|
|
654
|
+
c1 := s[1]
|
|
655
|
+
if c1 < 0x80 || 0xC0 <= c1 {
|
|
656
|
+
return 0, 1 // Illegal UTF-8: not a continuation byte.
|
|
657
|
+
}
|
|
658
|
+
o := uint32(i)<<6 + uint32(c1)
|
|
659
|
+
i = multiIndex[o]
|
|
660
|
+
c2 := s[2]
|
|
661
|
+
if c2 < 0x80 || 0xC0 <= c2 {
|
|
662
|
+
return 0, 2 // Illegal UTF-8: not a continuation byte.
|
|
663
|
+
}
|
|
664
|
+
o = uint32(i)<<6 + uint32(c2)
|
|
665
|
+
i = multiIndex[o]
|
|
666
|
+
c3 := s[3]
|
|
667
|
+
if c3 < 0x80 || 0xC0 <= c3 {
|
|
668
|
+
return 0, 3 // Illegal UTF-8: not a continuation byte.
|
|
669
|
+
}
|
|
670
|
+
return t.lookupValue(uint32(i), c3), 4
|
|
671
|
+
}
|
|
672
|
+
// Illegal rune
|
|
673
|
+
return 0, 1
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
// lookupStringUnsafe returns the trie value for the first UTF-8 encoding in s.
|
|
677
|
+
// s must start with a full and valid UTF-8 encoded rune.
|
|
678
|
+
func (t *multiTrie) lookupStringUnsafe(s string) uint64 {
|
|
679
|
+
c0 := s[0]
|
|
680
|
+
if c0 < 0x80 { // is ASCII
|
|
681
|
+
return t.ascii[c0]
|
|
682
|
+
}
|
|
683
|
+
i := t.utf8Start[c0]
|
|
684
|
+
if c0 < 0xE0 { // 2-byte UTF-8
|
|
685
|
+
return t.lookupValue(uint32(i), s[1])
|
|
686
|
+
}
|
|
687
|
+
i = multiIndex[uint32(i)<<6+uint32(s[1])]
|
|
688
|
+
if c0 < 0xF0 { // 3-byte UTF-8
|
|
689
|
+
return t.lookupValue(uint32(i), s[2])
|
|
690
|
+
}
|
|
691
|
+
i = multiIndex[uint32(i)<<6+uint32(s[2])]
|
|
692
|
+
if c0 < 0xF8 { // 4-byte UTF-8
|
|
693
|
+
return t.lookupValue(uint32(i), s[3])
|
|
694
|
+
}
|
|
695
|
+
return 0
|
|
696
|
+
}
|
|
697
|
+
|
|
698
|
+
// multiTrie. Total size: 18250 bytes (17.82 KiB). Checksum: a69a609d8696aa5e.
|
|
699
|
+
type multiTrie struct {
|
|
700
|
+
ascii []uint64 // index for ASCII bytes
|
|
701
|
+
utf8Start []uint8 // index for UTF-8 bytes >= 0xC0
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
func newMultiTrie(i int) *multiTrie {
|
|
705
|
+
h := multiTrieHandles[i]
|
|
706
|
+
return &multiTrie{multiValues[uint32(h.ascii)<<6:], multiIndex[uint32(h.multi)<<6:]}
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
type multiTrieHandle struct {
|
|
710
|
+
ascii, multi uint8
|
|
711
|
+
}
|
|
712
|
+
|
|
713
|
+
// multiTrieHandles: 5 handles, 10 bytes
|
|
714
|
+
var multiTrieHandles = [5]multiTrieHandle{
|
|
715
|
+
{0, 0}, // 8c1e77823143d35c: all
|
|
716
|
+
{0, 23}, // 8fb58ff8243b45b0: ASCII only
|
|
717
|
+
{0, 23}, // 8fb58ff8243b45b0: ASCII only 2
|
|
718
|
+
{0, 24}, // 2ccc43994f11046f: BMP only
|
|
719
|
+
{30, 25}, // ce448591bdcb4733: No BMP
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
// lookupValue determines the type of block n and looks up the value for b.
|
|
723
|
+
func (t *multiTrie) lookupValue(n uint32, b byte) uint64 {
|
|
724
|
+
switch {
|
|
725
|
+
default:
|
|
726
|
+
return uint64(multiValues[n<<6+uint32(b)])
|
|
727
|
+
}
|
|
728
|
+
}
|
|
729
|
+
|
|
730
|
+
// multiValues: 32 blocks, 2048 entries, 16384 bytes
|
|
731
|
+
// The third block is the zero block.
|
|
732
|
+
var multiValues = [2048]uint64{
|
|
733
|
+
// Block 0x0, offset 0x0
|
|
734
|
+
0x03: 0x6e361699800b9fb8, 0x04: 0x52d3935a34f6f0b, 0x05: 0x2948319393e7ef10,
|
|
735
|
+
0x07: 0x20f03b006704f663, 0x08: 0x6c15c0732bb2495f, 0x09: 0xe54e2c59d953551,
|
|
736
|
+
0x0f: 0x33d8a825807d8037, 0x10: 0x6ecd93cb12168b92, 0x11: 0x6a81c9c0ce86e884,
|
|
737
|
+
0x1f: 0xa03e77aac8be79b, 0x20: 0x28591d0e7e486efa, 0x21: 0x716fa3bc398dec8,
|
|
738
|
+
0x3f: 0x4fd3bcfa72bce8b0,
|
|
739
|
+
// Block 0x1, offset 0x40
|
|
740
|
+
0x40: 0x3cbaef3db8ba5f12, 0x41: 0x2d262347c1f56357,
|
|
741
|
+
0x7f: 0x782caa2d25a418a9,
|
|
742
|
+
// Block 0x2, offset 0x80
|
|
743
|
+
// Block 0x3, offset 0xc0
|
|
744
|
+
0xc0: 0x6bbd1f937b1ff5d2, 0xc1: 0x732e23088d2eb8a4,
|
|
745
|
+
// Block 0x4, offset 0x100
|
|
746
|
+
0x13f: 0x56f8c4c82f5962dc,
|
|
747
|
+
// Block 0x5, offset 0x140
|
|
748
|
+
0x140: 0x57dc4544729a5da2, 0x141: 0x2f62f9cd307ffa0d,
|
|
749
|
+
// Block 0x6, offset 0x180
|
|
750
|
+
0x1bf: 0x7bf4d0ebf302a088,
|
|
751
|
+
// Block 0x7, offset 0x1c0
|
|
752
|
+
0x1c0: 0x1f0d67f249e59931, 0x1c1: 0x3011def73aa550c7,
|
|
753
|
+
// Block 0x8, offset 0x200
|
|
754
|
+
0x23f: 0x5de81c1dff6bf29d,
|
|
755
|
+
// Block 0x9, offset 0x240
|
|
756
|
+
0x240: 0x752c035737b825e8, 0x241: 0x1e793399081e3bb3,
|
|
757
|
+
// Block 0xa, offset 0x280
|
|
758
|
+
0x2bf: 0x6a28f01979cbf059,
|
|
759
|
+
// Block 0xb, offset 0x2c0
|
|
760
|
+
0x2c0: 0x373a4b0f2cbd4c74, 0x2c1: 0x4fd2c288683b767c,
|
|
761
|
+
// Block 0xc, offset 0x300
|
|
762
|
+
0x33f: 0x5a10ffa9e29184fb,
|
|
763
|
+
// Block 0xd, offset 0x340
|
|
764
|
+
0x340: 0x700f9bdb53fff6a5, 0x341: 0xcde93df0427eb79,
|
|
765
|
+
// Block 0xe, offset 0x380
|
|
766
|
+
0x3bf: 0x74071288fff39c76,
|
|
767
|
+
// Block 0xf, offset 0x3c0
|
|
768
|
+
0x3c0: 0x481fc2f510e5268a, 0x3c1: 0x7565c28164204849,
|
|
769
|
+
// Block 0x10, offset 0x400
|
|
770
|
+
0x43f: 0x5676a62fd49c6bec,
|
|
771
|
+
// Block 0x11, offset 0x440
|
|
772
|
+
0x440: 0x2f2d15776cbafc6b, 0x441: 0x4c55e8dc0ff11a3f,
|
|
773
|
+
// Block 0x12, offset 0x480
|
|
774
|
+
0x4bf: 0x69d6f0fe711fafc9,
|
|
775
|
+
// Block 0x13, offset 0x4c0
|
|
776
|
+
0x4c0: 0x33181de28cfb062d, 0x4c1: 0x2ef3adc6bb2f2d02,
|
|
777
|
+
// Block 0x14, offset 0x500
|
|
778
|
+
0x53f: 0xe03b31814c95f8b,
|
|
779
|
+
// Block 0x15, offset 0x540
|
|
780
|
+
0x540: 0x3bf6dc9a1c115603, 0x541: 0x6984ec9b7f51f7fc,
|
|
781
|
+
// Block 0x16, offset 0x580
|
|
782
|
+
0x5bf: 0x3c02ea92fb168559,
|
|
783
|
+
// Block 0x17, offset 0x5c0
|
|
784
|
+
0x5c0: 0x1badfe42e7629494, 0x5c1: 0x6dc4a554005f7645,
|
|
785
|
+
// Block 0x18, offset 0x600
|
|
786
|
+
0x63f: 0x3bb2ed2a72748f4b,
|
|
787
|
+
// Block 0x19, offset 0x640
|
|
788
|
+
0x640: 0x291354cd6767ec10, 0x641: 0x2c3a4715e3c070d6,
|
|
789
|
+
// Block 0x1a, offset 0x680
|
|
790
|
+
0x6bf: 0x352711cfb7236418,
|
|
791
|
+
// Block 0x1b, offset 0x6c0
|
|
792
|
+
0x6c0: 0x3a59d34fb8bceda, 0x6c1: 0x5e90d8ebedd64fa1,
|
|
793
|
+
// Block 0x1c, offset 0x700
|
|
794
|
+
0x73f: 0x7191a77b28d23110,
|
|
795
|
+
// Block 0x1d, offset 0x740
|
|
796
|
+
0x740: 0x4ca7f0c1623423d8, 0x741: 0x4f7156d996e2d0de,
|
|
797
|
+
// Block 0x1e, offset 0x780
|
|
798
|
+
// Block 0x1f, offset 0x7c0
|
|
799
|
+
}
|
|
800
|
+
|
|
801
|
+
// multiIndex: 29 blocks, 1856 entries, 1856 bytes
|
|
802
|
+
// Block 0 is the zero block.
|
|
803
|
+
var multiIndex = [1856]uint8{
|
|
804
|
+
// Block 0x0, offset 0x0
|
|
805
|
+
// Block 0x1, offset 0x40
|
|
806
|
+
// Block 0x2, offset 0x80
|
|
807
|
+
// Block 0x3, offset 0xc0
|
|
808
|
+
0xc2: 0x01, 0xc3: 0x02, 0xc4: 0x03, 0xc7: 0x04,
|
|
809
|
+
0xc8: 0x05, 0xcf: 0x06,
|
|
810
|
+
0xd0: 0x07,
|
|
811
|
+
0xdf: 0x08,
|
|
812
|
+
0xe0: 0x02, 0xe1: 0x03, 0xe2: 0x04, 0xe3: 0x05, 0xe4: 0x06, 0xe7: 0x07,
|
|
813
|
+
0xe8: 0x08, 0xef: 0x09,
|
|
814
|
+
0xf0: 0x0e, 0xf1: 0x11, 0xf2: 0x13, 0xf3: 0x15, 0xf4: 0x17,
|
|
815
|
+
// Block 0x4, offset 0x100
|
|
816
|
+
0x120: 0x09,
|
|
817
|
+
0x13f: 0x0a,
|
|
818
|
+
// Block 0x5, offset 0x140
|
|
819
|
+
0x140: 0x0b,
|
|
820
|
+
0x17f: 0x0c,
|
|
821
|
+
// Block 0x6, offset 0x180
|
|
822
|
+
0x180: 0x0d,
|
|
823
|
+
// Block 0x7, offset 0x1c0
|
|
824
|
+
0x1ff: 0x0e,
|
|
825
|
+
// Block 0x8, offset 0x200
|
|
826
|
+
0x200: 0x0f,
|
|
827
|
+
// Block 0x9, offset 0x240
|
|
828
|
+
0x27f: 0x10,
|
|
829
|
+
// Block 0xa, offset 0x280
|
|
830
|
+
0x280: 0x11,
|
|
831
|
+
// Block 0xb, offset 0x2c0
|
|
832
|
+
0x2ff: 0x12,
|
|
833
|
+
// Block 0xc, offset 0x300
|
|
834
|
+
0x300: 0x13,
|
|
835
|
+
// Block 0xd, offset 0x340
|
|
836
|
+
0x37f: 0x14,
|
|
837
|
+
// Block 0xe, offset 0x380
|
|
838
|
+
0x380: 0x15,
|
|
839
|
+
// Block 0xf, offset 0x3c0
|
|
840
|
+
0x3ff: 0x16,
|
|
841
|
+
// Block 0x10, offset 0x400
|
|
842
|
+
0x410: 0x0a,
|
|
843
|
+
0x41f: 0x0b,
|
|
844
|
+
0x420: 0x0c,
|
|
845
|
+
0x43f: 0x0d,
|
|
846
|
+
// Block 0x11, offset 0x440
|
|
847
|
+
0x440: 0x17,
|
|
848
|
+
// Block 0x12, offset 0x480
|
|
849
|
+
0x4bf: 0x18,
|
|
850
|
+
// Block 0x13, offset 0x4c0
|
|
851
|
+
0x4c0: 0x0f,
|
|
852
|
+
0x4ff: 0x10,
|
|
853
|
+
// Block 0x14, offset 0x500
|
|
854
|
+
0x500: 0x19,
|
|
855
|
+
// Block 0x15, offset 0x540
|
|
856
|
+
0x540: 0x12,
|
|
857
|
+
// Block 0x16, offset 0x580
|
|
858
|
+
0x5bf: 0x1a,
|
|
859
|
+
// Block 0x17, offset 0x5c0
|
|
860
|
+
0x5ff: 0x14,
|
|
861
|
+
// Block 0x18, offset 0x600
|
|
862
|
+
0x600: 0x1b,
|
|
863
|
+
// Block 0x19, offset 0x640
|
|
864
|
+
0x640: 0x16,
|
|
865
|
+
// Block 0x1a, offset 0x680
|
|
866
|
+
// Block 0x1b, offset 0x6c0
|
|
867
|
+
0x6c2: 0x01, 0x6c3: 0x02, 0x6c4: 0x03, 0x6c7: 0x04,
|
|
868
|
+
0x6c8: 0x05, 0x6cf: 0x06,
|
|
869
|
+
0x6d0: 0x07,
|
|
870
|
+
0x6df: 0x08,
|
|
871
|
+
0x6e0: 0x02, 0x6e1: 0x03, 0x6e2: 0x04, 0x6e3: 0x05, 0x6e4: 0x06, 0x6e7: 0x07,
|
|
872
|
+
0x6e8: 0x08, 0x6ef: 0x09,
|
|
873
|
+
// Block 0x1c, offset 0x700
|
|
874
|
+
0x730: 0x0e, 0x731: 0x11, 0x732: 0x13, 0x733: 0x15, 0x734: 0x17,
|
|
875
|
+
}
|